/*
============================================================
TRAVEL09 ENTERPRISE FOOTER
Social + Payments + Sitemap
============================================================

File:
/home/travel09.com/public_html/assets/css/footer.css
*/

.t09-footer,
.t09-footer *{
    box-sizing:border-box;
}

.t09-footer{
    --footer-navy:#071E32;
    --footer-deep:#041522;
    --footer-deeper:#03111C;
    --footer-teal:#087E8B;
    --footer-aqua:#16B8C4;
    --footer-gold:#D6AD60;
    --footer-white:#FFFFFF;
    --footer-text:#C4D3DC;
    --footer-muted:#8198A7;
    --footer-line:rgba(255,255,255,.09);

    position:relative;
    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            var(--footer-navy) 0%,
            var(--footer-deep) 58%,
            var(--footer-deeper) 100%
        );

    color:var(--footer-text);

    font-size:14px;
    line-height:1.6;

    -webkit-font-smoothing:antialiased;
}

.t09-footer a{
    color:inherit;
}

.t09-footer svg{
    display:block;
}

.t09-footer-container{
    width:min(
        calc(100% - 48px),
        1440px
    );

    margin:0 auto;
}


/* =========================================================
   CTA
   ========================================================= */

.t09-footer-cta-wrap{
    padding:0 0 58px;
}

.t09-footer-cta{
    position:relative;
    overflow:hidden;

    display:grid;

    grid-template-columns:
        minmax(0,1.4fr)
        auto;

    align-items:center;

    gap:40px;

    padding:48px 52px;

    border:
        1px solid
        rgba(255,255,255,.11);

    border-radius:24px;

    background:
        linear-gradient(
            125deg,
            rgba(8,126,139,.30),
            rgba(22,184,196,.10)
        );
}

.t09-footer-cta-copy{
    position:relative;
    z-index:1;
}

.t09-footer-eyebrow{
    display:flex;

    align-items:center;

    gap:9px;

    margin-bottom:11px;

    color:#75DDE5;

    font-size:12px;

    font-weight:800;

    letter-spacing:.11em;

    text-transform:uppercase;
}

.t09-footer-eyebrow::before{
    content:"";

    width:28px;
    height:1px;

    background:var(--footer-aqua);
}

.t09-footer-cta h2{
    max-width:730px;

    margin:0;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            3vw,
            46px
        );

    font-weight:600;

    line-height:1.12;
}

.t09-footer-cta p{
    max-width:700px;

    margin:14px 0 0;

    color:#AFC3CF;

    font-size:15px;

    line-height:1.75;
}

.t09-footer-cta-actions{
    display:flex;

    flex-wrap:wrap;

    justify-content:flex-end;

    gap:10px;
}

.t09-footer-cta-btn{
    min-height:48px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:0 19px;

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius:10px;

    color:#FFFFFF;

    text-decoration:none;

    font-size:14px;

    font-weight:800;
}

.t09-footer-cta-btn.primary{
    border-color:var(--footer-aqua);

    background:
        linear-gradient(
            135deg,
            var(--footer-teal),
            var(--footer-aqua)
        );
}


/* =========================================================
   MAIN GRID
   ========================================================= */

.t09-footer-main{
    padding:64px 0 55px;

    border-top:
        1px solid
        var(--footer-line);
}

.t09-footer-grid{
    display:grid;

    grid-template-columns:
        minmax(290px,1.6fr)
        repeat(4,minmax(150px,1fr));

    gap:44px;
}


/* =========================================================
   BRAND
   ========================================================= */

.t09-footer-logo{
    display:inline-flex;

    align-items:center;

    gap:12px;

    margin-bottom:20px;

    color:#FFFFFF;

    text-decoration:none;
}

.t09-footer-logo-mark{
    width:52px;
    height:52px;

    display:grid;

    place-items:center;

    border-radius:15px;

    background:
        linear-gradient(
            135deg,
            var(--footer-teal),
            var(--footer-aqua)
        );

    color:#FFFFFF;

    font-size:19px;

    font-weight:900;
}

.t09-footer-logo-copy strong{
    display:block;

    color:#FFFFFF;

    font-size:24px;

    font-weight:800;
}

.t09-footer-logo-copy small{
    display:block;

    margin-top:5px;

    color:#829BAA;

    font-size:11px;

    font-weight:700;

    letter-spacing:.12em;

    text-transform:uppercase;
}

.t09-footer-about{
    max-width:360px;

    margin:0 0 22px;

    color:#8FA6B4;

    font-size:14px;

    line-height:1.8;
}


/* =========================================================
   CONTACT
   ========================================================= */

.t09-footer-contact{
    display:flex;

    flex-direction:column;

    gap:10px;
}

.t09-footer-contact-row{
    display:flex;

    align-items:flex-start;

    gap:10px;

    color:#A9BCC7;

    font-size:13px;

    line-height:1.55;
}

.t09-footer-contact-icon{
    flex:none;

    width:34px;
    height:34px;

    display:grid;

    place-items:center;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius:9px;

    color:#69D3DC;

    background:
        rgba(255,255,255,.025);
}

.t09-footer-contact-row a{
    color:#B8CAD4;

    text-decoration:none;
}


/* =========================================================
   SOCIAL MEDIA
   ========================================================= */

.t09-footer-social-block{
    margin-top:24px;
}

.t09-footer-social-label{
    display:block;

    margin-bottom:10px;

    color:#718C9B;

    font-size:12px;

    font-weight:800;

    letter-spacing:.05em;

    text-transform:uppercase;
}

.t09-footer-socials{
    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:8px;
}

.t09-footer-socials a{
    width:40px;
    height:40px;

    display:grid;

    place-items:center;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius:10px;

    color:#9FB5C2;

    background:
        rgba(255,255,255,.035);

    text-decoration:none;

    transition:
        transform .2s ease,
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.t09-footer-socials a:hover{
    transform:translateY(-2px);

    border-color:
        rgba(22,184,196,.45);

    background:
        rgba(22,184,196,.12);

    color:#FFFFFF;
}

.t09-footer-socials svg{
    width:19px;
    height:19px;
}


/* =========================================================
   LINK COLUMNS
   ========================================================= */

.t09-footer-column h3{
    position:relative;

    margin:3px 0 20px;

    padding-bottom:12px;

    color:#FFFFFF;

    font-size:16px;

    font-weight:800;
}

.t09-footer-column h3::after{
    content:"";

    position:absolute;

    bottom:0;
    left:0;

    width:26px;
    height:2px;

    border-radius:5px;

    background:
        var(--footer-aqua);
}

.t09-footer-links{
    margin:0;

    padding:0;

    list-style:none;
}

.t09-footer-links a{
    display:inline-flex;

    align-items:center;

    min-height:36px;

    padding:7px 0;

    color:#8FA6B4;

    text-decoration:none;

    font-size:14px;

    font-weight:500;
}

.t09-footer-links a:hover{
    color:#FFFFFF;
}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.t09-footer-newsletter{
    padding:40px 0;

    border-top:
        1px solid
        var(--footer-line);

    border-bottom:
        1px solid
        var(--footer-line);
}

.t09-newsletter-grid{
    display:grid;

    grid-template-columns:
        minmax(260px,.9fr)
        minmax(340px,1.1fr);

    align-items:center;

    gap:60px;
}

.t09-newsletter-copy h3{
    margin:0 0 8px;

    color:#FFFFFF;

    font-family:
        "Playfair Display",
        Georgia,
        serif;

    font-size:28px;

    font-weight:600;
}

.t09-newsletter-copy p{
    margin:0;

    color:#8299A7;

    font-size:14px;

    line-height:1.7;
}

.t09-newsletter-form{
    display:flex;

    gap:7px;

    padding:6px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:12px;

    background:
        rgba(255,255,255,.045);
}

.t09-newsletter-form input{
    flex:1;

    min-width:0;

    height:48px;

    padding:0 14px;

    border:0;

    outline:0;

    background:transparent;

    color:#FFFFFF;

    font:inherit;

    font-size:16px;
}

.t09-newsletter-form button{
    flex:none;

    min-width:125px;

    height:48px;

    padding:0 16px;

    border:0;

    border-radius:8px;

    background:
        linear-gradient(
            135deg,
            var(--footer-teal),
            var(--footer-aqua)
        );

    color:#FFFFFF;

    cursor:pointer;

    font:inherit;

    font-size:14px;

    font-weight:800;
}

.t09-newsletter-note{
    margin-top:8px;

    color:#607A8A;

    font-size:12px;

    line-height:1.5;
}


/* =========================================================
   TRUST STRIP
   ========================================================= */

.t09-footer-trust{
    padding:30px 0;

    border-bottom:
        1px solid
        var(--footer-line);
}

.t09-footer-trust-grid{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:10px;
}

.t09-footer-trust-item{
    min-height:72px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:13px 15px;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius:11px;

    background:
        rgba(255,255,255,.025);
}

.t09-footer-trust-icon{
    flex:none;

    width:40px;
    height:40px;

    display:grid;

    place-items:center;

    border-radius:10px;

    background:
        rgba(22,184,196,.09);

    color:#6BD7DF;
}

.t09-footer-trust-icon svg{
    width:21px;
    height:21px;
}

.t09-footer-trust-copy strong{
    display:block;

    margin-bottom:3px;

    color:#DDE8EE;

    font-size:14px;
}

.t09-footer-trust-copy span{
    display:block;

    color:#6F8796;

    font-size:12px;
}


/* =========================================================
   MARKETS / PAYMENTS
   ========================================================= */

.t09-footer-meta{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    padding:30px 0;

    border-bottom:
        1px solid
        var(--footer-line);
}

.t09-footer-markets,
.t09-payment-area,
.t09-payment-list{
    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:8px;
}

.t09-payment-area{
    justify-content:flex-end;
}

.t09-footer-meta-label{
    margin-right:4px;

    color:#718B9B;

    font-size:12px;

    font-weight:800;

    letter-spacing:.07em;

    text-transform:uppercase;
}

.t09-market-pill{
    padding:7px 11px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:999px;

    color:#A9BCC7;

    background:
        rgba(255,255,255,.025);

    font-size:12px;

    font-weight:700;
}


/* PAYMENT CARDS */

.t09-payment{
    min-width:68px;

    height:38px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:6px;

    padding:0 11px;

    border:
        1px solid
        rgba(255,255,255,.14);

    border-radius:8px;

    background:#FFFFFF;

    color:#173447;

    box-shadow:
        0 4px 12px
        rgba(0,0,0,.12);

    font-size:14px;

    font-weight:900;
}

.t09-payment--visa{
    color:#1434CB;

    font-style:italic;

    letter-spacing:.02em;
}

.t09-payment--amex{
    background:#2F77C7;

    color:#FFFFFF;

    font-size:12px;

    letter-spacing:.02em;
}

.t09-payment--bank{
    min-width:80px;

    color:#173447;

    font-size:12px;
}

.t09-payment--bank svg{
    width:17px;
    height:17px;
}

.t09-mastercard-circles{
    position:relative;

    width:28px;
    height:18px;

    display:inline-block;
}

.t09-mastercard-circles i{
    position:absolute;

    top:1px;

    width:16px;
    height:16px;

    border-radius:50%;
}

.t09-mastercard-circles i:first-child{
    left:0;

    background:#EB001B;
}

.t09-mastercard-circles i:last-child{
    right:0;

    background:#F79E1B;

    opacity:.92;
}

.t09-payment--mastercard strong{
    font-size:11px;
}


/* =========================================================
   BOTTOM
   ========================================================= */

.t09-footer-bottom{
    min-height:84px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;
}

.t09-footer-copyright{
    color:#6B8391;

    font-size:12px;

    line-height:1.6;
}

.t09-footer-legal{
    display:flex;

    align-items:center;

    justify-content:flex-end;

    flex-wrap:wrap;

    gap:18px;
}

.t09-footer-legal a{
    color:#738B99;

    text-decoration:none;

    font-size:12px;
}

.t09-footer-legal a:hover{
    color:#FFFFFF;
}


/* =========================================================
   BACK TO TOP
   ========================================================= */

.t09-back-top{
    position:fixed;

    z-index:80;

    right:20px;
    bottom:20px;

    width:46px;
    height:46px;

    display:grid;

    place-items:center;

    border:
        1px solid
        rgba(255,255,255,.15);

    border-radius:12px;

    background:
        rgba(7,30,50,.93);

    color:#FFFFFF;

    cursor:pointer;

    box-shadow:
        0 10px 30px
        rgba(0,0,0,.18);

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.2s ease;

    font-size:17px;
}

.t09-back-top.visible{
    opacity:1;

    visibility:visible;

    transform:translateY(0);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1150px){

    .t09-footer-grid{
        grid-template-columns:
            1.5fr
            repeat(2,1fr);
    }

    .t09-footer-brand{
        grid-row:span 2;
    }

    .t09-footer-trust-grid{
        grid-template-columns:
            repeat(2,1fr);
    }
}


@media(max-width:800px){

    .t09-footer-container{
        width:
            calc(100% - 28px);
    }

    .t09-footer-cta{
        grid-template-columns:1fr;

        padding:36px 28px;
    }

    .t09-footer-cta-actions{
        justify-content:flex-start;
    }

    .t09-footer-grid{
        grid-template-columns:
            1fr 1fr;
    }

    .t09-footer-brand{
        grid-column:
            1 / -1;

        grid-row:auto;
    }

    .t09-newsletter-grid{
        grid-template-columns:1fr;

        gap:22px;
    }

    .t09-footer-meta{
        align-items:flex-start;

        flex-direction:column;
    }

    .t09-payment-area{
        justify-content:flex-start;
    }

    .t09-footer-bottom{
        align-items:flex-start;

        flex-direction:column;

        padding:23px 0;
    }

    .t09-footer-legal{
        justify-content:flex-start;
    }
}


@media(max-width:520px){

    .t09-footer-cta{
        padding:29px 21px;

        border-radius:18px;
    }

    .t09-footer-cta h2{
        font-size:32px;
    }

    .t09-footer-cta-actions{
        flex-direction:column;
    }

    .t09-footer-cta-btn{
        width:100%;
    }

    .t09-footer-main{
        padding:48px 0;
    }

    .t09-footer-grid{
        grid-template-columns:1fr;

        gap:34px;
    }

    .t09-footer-brand{
        grid-column:auto;
    }

    .t09-footer-socials a{
        width:44px;
        height:44px;
    }

    .t09-footer-trust-grid{
        grid-template-columns:1fr;
    }

    .t09-newsletter-form{
        flex-direction:column;
    }

    .t09-newsletter-form button{
        width:100%;
    }

    .t09-payment-area{
        width:100%;
    }

    .t09-payment-list{
        width:100%;
    }

    .t09-payment{
        flex:1 1 70px;
    }

    .t09-footer-legal{
        gap:12px;
    }

    .t09-back-top{
        right:14px;
        bottom:14px;
    }
}


@media(pointer:coarse){

    .t09-footer a,
    .t09-footer button,
    .t09-footer input{
        touch-action:manipulation;
    }

    .t09-footer-socials a,
    .t09-footer-links a,
    .t09-footer-cta-btn{
        min-height:44px;
    }
}


@media(prefers-reduced-motion:reduce){

    .t09-footer *,
    .t09-back-top{
        transition:none !important;
    }
}
