
/* =========================================================
   CAD.GOLF - INTERNATIONAL LOCATIONS PAGE
   Scoped only to this page
========================================================= */

.intl-locations{
    --intl-green:#2f8f4e;
    --intl-green-dark:#21733b;
    --intl-heading:#263b2b;
    --intl-text:#445566;
    --intl-muted:#66766b;
    --intl-bg:#edf7ee;
    --intl-card:#ffffff;
    --intl-border:rgba(47,143,78,.18);

    position:relative;
    width:100%;
    padding:55px 0 75px;
    margin:0;
    background:var(--intl-bg);
    color:var(--intl-text);
    overflow:hidden;
}


/* =========================================================
   IMPORTANT FIX
   Prevent theme's global SECTION padding from affecting
   every country section.
========================================================= */

.intl-locations section,
.intl-locations section[aria-label]{
    padding:0 !important;
    margin:0 !important;
    min-height:0 !important;
    height:auto !important;
    background:transparent !important;
}


/* =========================================================
   MAIN CONTAINER
========================================================= */

.intl-locations > .container{
    width:100%;
    max-width:1320px;
    margin:0 auto;
    padding-left:24px;
    padding-right:24px;
}


/* =========================================================
   PAGE INTRO
========================================================= */

.intl-head{
    max-width:850px;
    margin:0 auto 45px;
    padding:0 15px;
    text-align:center;
}

.intl-head h1,
.intl-head h2{
    margin:0 0 12px;
    padding:0;
    color:var(--intl-heading);
    font-size:34px;
    line-height:1.25;
    font-weight:600;
    letter-spacing:-.3px;
}

.intl-head p{
    max-width:760px;
    margin:0 auto;
    padding:0;
    color:var(--intl-muted);
    font-size:16px;
    line-height:1.75;
}


/* =========================================================
   COUNTRY BLOCK
========================================================= */

.intl-locations section[aria-label]{
    width:100%;
    margin-bottom:55px !important;
}

.intl-locations section[aria-label]:last-child{
    margin-bottom:0 !important;
}

.intl-country{
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;

    margin:0 0 26px !important;
    padding:0 0 15px;

    color:var(--intl-green);
    font-size:31px;
    line-height:1.2;
    font-weight:700;
}

.intl-country::before{
    content:"";
    display:block;
    width:5px;
    height:32px;
    flex:0 0 5px;
    border-radius:20px;
    background:var(--intl-green);
}

.intl-country::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(
        90deg,
        rgba(47,143,78,.28),
        rgba(47,143,78,.05)
    );
}


/* =========================================================
   STATE / REGION
========================================================= */

.intl-state{
    margin:0 0 16px !important;
    padding:0;

    color:var(--intl-heading);
    font-size:21px;
    line-height:1.35;
    font-weight:700;
}

.intl-grid + .intl-state{
    margin-top:34px !important;
}


/* =========================================================
   CITY GRID
========================================================= */

.intl-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    width:100%;
    margin:0;
    padding:0;
    align-items:stretch;
}


/* =========================================================
   CITY CARD
========================================================= */

.intl-card{
    position:relative;
    display:flex;
    flex-direction:column;

    min-width:0;
    height:100%;
    margin:0;
    padding:23px 24px 24px;

    background:var(--intl-card);
    border:1px solid var(--intl-border);
    border-radius:15px;

    box-shadow:
        0 4px 10px rgba(25,70,38,.025),
        0 15px 35px rgba(25,70,38,.045);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.intl-card:hover{
    transform:translateY(-3px);
    border-color:rgba(47,143,78,.36);

    box-shadow:
        0 8px 18px rgba(25,70,38,.05),
        0 20px 42px rgba(25,70,38,.08);
}


/* =========================================================
   CITY NAME
========================================================= */

.intl-city{
    position:relative;
    display:block;

    margin:0 0 15px;
    padding:0 0 13px;

    color:var(--intl-green);
    font-size:20px;
    line-height:1.3;
    font-weight:700;
}

.intl-city::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:42px;
    height:2px;
    border-radius:5px;
    background:var(--intl-green);
}


/* =========================================================
   SERVICES LIST
========================================================= */

.intl-card ul{
    width:100%;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.intl-card ul li{
    position:relative;
    display:block;

    margin:0 !important;
    padding:7px 0 7px 18px;

    color:var(--intl-text);
    font-size:14.5px;
    line-height:1.45;

    border-bottom:1px solid rgba(47,143,78,.07);
}

.intl-card ul li:last-child{
    border-bottom:0;
    padding-bottom:0;
}

.intl-card ul li::before{
    content:"";
    position:absolute;
    left:1px;
    top:15px;

    width:5px;
    height:5px;

    border-radius:50%;
    background:var(--intl-green);
}

.intl-card a{
    display:inline;
    color:var(--intl-text);
    text-decoration:none !important;
    word-break:normal;
    overflow-wrap:anywhere;

    transition:color .2s ease;
}

.intl-card a:hover{
    color:var(--intl-green);
    text-decoration:none !important;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width:1400px){

    .intl-locations > .container{
        max-width:1380px;
    }

    .intl-grid{
        gap:24px;
    }

    .intl-card{
        padding:25px 26px;
    }
}


/* =========================================================
   LAPTOP / SMALL DESKTOP
========================================================= */

@media (max-width:1199px){

    .intl-locations{
        padding:50px 0 65px;
    }

    .intl-locations > .container{
        max-width:1140px;
    }

    .intl-grid{
        gap:18px;
    }

    .intl-card{
        padding:21px;
    }

    .intl-card ul li{
        font-size:14px;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px){

    .intl-locations{
        padding:45px 0 60px;
    }

    .intl-locations > .container{
        padding-left:20px;
        padding-right:20px;
    }

    .intl-head{
        margin-bottom:35px;
    }

    .intl-head h1,
    .intl-head h2{
        font-size:30px;
    }

    .intl-country{
        font-size:28px;
        margin-bottom:22px !important;
    }

    .intl-country::before{
        height:28px;
    }

    .intl-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .intl-grid + .intl-state{
        margin-top:30px !important;
    }

    .intl-locations section[aria-label]{
        margin-bottom:48px !important;
    }
}


/* =========================================================
   MOBILE / LARGE PHONE
========================================================= */

@media (max-width:767px){

    .intl-locations{
        padding:38px 0 50px;
    }

    .intl-locations > .container{
        width:100%;
        padding-left:16px;
        padding-right:16px;
    }

    .intl-head{
        margin-bottom:30px;
        padding:0;
    }

    .intl-head h1,
    .intl-head h2{
        font-size:26px;
        line-height:1.3;
        margin-bottom:10px;
    }

    .intl-head p{
        font-size:14.5px;
        line-height:1.65;
    }

    .intl-country{
        gap:10px;
        font-size:25px;
        margin-bottom:20px !important;
        padding-bottom:12px;
    }

    .intl-country::before{
        width:4px;
        height:25px;
        flex-basis:4px;
    }

    .intl-state{
        font-size:19px;
        margin-bottom:13px !important;
    }

    .intl-grid + .intl-state{
        margin-top:27px !important;
    }

    .intl-grid{
        grid-template-columns:1fr;
        gap:15px;
    }

    .intl-card{
        padding:20px;
        border-radius:13px;
    }

    .intl-card:hover{
        transform:none;
    }

    .intl-city{
        font-size:19px;
        margin-bottom:13px;
        padding-bottom:11px;
    }

    .intl-card ul li{
        padding:6px 0 6px 17px;
        font-size:14px;
        line-height:1.5;
    }

    .intl-card ul li::before{
        top:14px;
    }

    .intl-locations section[aria-label]{
        margin-bottom:42px !important;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width:480px){

    .intl-locations{
        padding:32px 0 42px;
    }

    .intl-locations > .container{
        padding-left:13px;
        padding-right:13px;
    }

    .intl-head{
        margin-bottom:26px;
    }

    .intl-head h1,
    .intl-head h2{
        font-size:23px;
    }

    .intl-head p{
        font-size:14px;
    }

    .intl-country{
        font-size:23px;
        margin-bottom:17px !important;
    }

    .intl-state{
        font-size:18px;
    }

    .intl-card{
        padding:18px 16px;
    }

    .intl-city{
        font-size:18px;
    }

    .intl-card ul li{
        font-size:13.5px;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:360px){

    .intl-locations > .container{
        padding-left:10px;
        padding-right:10px;
    }

    .intl-head h1,
    .intl-head h2{
        font-size:21px;
    }

    .intl-country{
        font-size:21px;
    }

    .intl-card{
        padding:16px 14px;
    }

    .intl-card ul li{
        font-size:13px;
    }
}
/* =========================================
   GREY HOVER INSTEAD OF BLUE
========================================= */

.intl-card a:hover,
.intl-card a:focus,
.intl-card a:active{
    color:#6f767d !important;
    text-decoration:none !important;
}

.intl-card:hover .intl-city{
    color:#6f767d !important;
}

.intl-card:hover{
    border-color:#c8cdca !important;
    box-shadow:0 12px 32px rgba(55,65,60,.10);
}

