/* Hero */
.locations-page .hero{ max-height: 700px; min-height: 700px; background: var(--black) url("../jpg/hero-3.jpg"); background-size: cover; background-position: center center; color: var(--white); text-align: center; }
.locations-page .hero:before{ content: ""; display: block; width: 100%; height: 100%; background: rgba(0,0,0,.4); position: absolute; top: 0; left: 0; }
.locations-page .hero .text{ position: relative; z-index: 10; text-align: center; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.locations-page .hero .text .title{ font-weight: bold; line-height: 1.2; }
.locations-page .hero .text .title span{ display: block; }
.locations-page .hero .text .description{ font-size: 17px; line-height: 1.6; max-width: 600px; margin: 30px 0 50px; }

/* Lets work together */
.locations-page .work-together{ background-image: url("../jpg/footer.jpg") !important; }
.locations-page .work-together:before{ background: rgba(0,0,0,.3); }

/* Offices */
.locations-page .offices-wrapper{ border-radius: 40px; margin-top: -40px; background: var(--white); padding: 80px 0 40px; position: relative; z-index: 10; }
.locations-page .offices-wrapper .head{ text-align: center; max-width: 600px; margin: 0 auto 100px; }
.locations-page .offices-wrapper .head .title{ font-weight: 600; letter-spacing: -1px; font-size: 46px; margin-bottom: 25px; } 
.locations-page .offices-wrapper .head .subtitle{ line-height: 1.6; font-size: 17px; }

.locations-page .offices-wrapper .cities-list{ display: flex; flex-wrap: wrap; justify-content: space-between; }
.locations-page .offices-wrapper .cities-list li{ max-width: 900px; margin: 0 auto 200px; width: 45%; }
.locations-page .offices-wrapper .cities-list li .city-content{ position: relative; display: flex; justify-content: flex-end; }
.locations-page .offices-wrapper .cities-list li .city-content .main-image{ border-radius: 20px; overflow: hidden; line-height: 0; width: 100%; height: 320px; }
.locations-page .offices-wrapper .cities-list li .city-content .main-image img{ width: 100%; height: 100%; object-fit: cover; }

.locations-page .offices-wrapper .cities-list li .city-content .office-info{ background: var(--black); color: var(--white); padding: 20px; border-radius: 20px; width: 400px; position: absolute; top: 250px; left: 50%; transform: translateX(-50%); }
.locations-page .offices-wrapper .cities-list li .city-content .office-info h3{ font-weight: 500; font-size: 32px; margin-bottom: 0; letter-spacing: -1px; }
.locations-page .offices-wrapper .cities-list li .city-content .office-info p{ margin-bottom: 5px; font-weight: 400; font-size: 16px; line-height: 1.4; }
.locations-page .offices-wrapper .cities-list li .city-content .office-info p.address{ margin-top: 10px; }
.locations-page .offices-wrapper .cities-list li .city-content .office-info p.neighbor{ opacity: .8; font-size: 16px; }

    .locations-page .offices-wrapper .cities-list li.city-nashville{ margin-bottom: 180px; }
    .locations-page .offices-wrapper .cities-list li.city-new-york{ margin-bottom: 180px; }

    .locations-page .offices-wrapper .cities-list li.city-nashville .city-content .office-info{ top: 270px; }
    .locations-page .offices-wrapper .cities-list li.city-new-york .city-content .office-info{ top: 270px; }

.locations-page .offices-wrapper .cities-list li .city-content .office-info .button{ margin-top: 20px; position: absolute; bottom: 20px; right: 20px; } 
 
/* Nearshore */
.locations-page .nearshore{ background: var(--black); color: var(--white); padding: 200px 0 300px; z-index: 5; margin-top: -40px; position: relative; overflow: hidden; }
.locations-page .nearshore .content{ position: relative; }

.locations-page .nearshore .map{ position: absolute; width: 750px; top: -150px; right: -120px; }
.locations-page .nearshore .map img{ width: 100%; }

.locations-page .nearshore .head{ margin-bottom: 50px; }
.locations-page .nearshore .head .label{ text-transform: uppercase; font-size: 13px; background: linear-gradient(90deg, #3E378B 5.95%, #3159F3 97.58%); display: inline-block; padding: 1px; border-radius: 30px; margin-bottom: 20px; }
.locations-page .nearshore .head .label span{ display: inline-block; padding: 6px 25px; border-radius: 30px; background: var(--black); }
.locations-page .nearshore .head .title{ font-size: 38px; font-weight: 700; letter-spacing: -1px; line-height: 1.3; margin-top: 10px; }
.locations-page .nearshore .head .title span{ display: block; }
.locations-page .nearshore .head .description{ font-size: 18px; line-height: 1.6; margin-top: 20px; max-width: 500px; font-weight: 300; }

.locations-page .nearshore .nearshore-list {}
.locations-page .nearshore .nearshore-list ul{ max-width: 500px; display: flex; align-items: stretch; }
.locations-page .nearshore .nearshore-list ul li{ width: 25%; padding: 5px; }
.locations-page .nearshore .nearshore-list ul li .nearshore-content{ background: #222; color: var(--white); border-radius: 10px; height: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; padding: 15px 10px; justify-content: center; }
.locations-page .nearshore .nearshore-list ul li .nearshore-content h3{ font-weight: 600; font-size: 32px; margin-bottom: 5px; }
.locations-page .nearshore .nearshore-list ul li .nearshore-content p{ line-height: 1.4; font-size: 15px; }

@media screen and (max-width: 1280px){

    /* Hero */
    .locations-page .hero .text .description{ font-size: 17px; }

    /* Nearshore */
    .locations-page .nearshore{ padding: 200px 0 160px; }
    .locations-page .nearshore .head .title{ font-size: 32px; }
    .locations-page .nearshore .head .description{ font-size: 15px; }
    .locations-page .nearshore .map{ position: absolute; width: 600px; top: -150px; right: 5px; }
    .locations-page .nearshore .nearshore-list ul{ max-width: 450px; }
    .locations-page .nearshore .nearshore-list ul li .nearshore-content{ padding: 10px 5px; }
    .locations-page .nearshore .nearshore-list ul li .nearshore-content h3{ font-size: 28px; }
    .locations-page .nearshore .nearshore-list ul li .nearshore-content p{ font-size: 14px; }


}

@media screen and (max-width: 1024px){

    /* Hero */
    .locations-page .hero .text .description{ font-size: 16px; }

    /* Offices */
    .locations-page .offices-wrapper{ padding: 60px 0; }
    .locations-page .offices-wrapper .head{ margin-bottom: 60px; }
    .locations-page .offices-wrapper .head .title{ font-size: 36px; }
    .locations-page .offices-wrapper .head .subtitle{ font-size: 16px; }
    .locations-page .offices-wrapper .cities-list li{ margin-bottom: 40px; }
    .locations-page .offices-wrapper .cities-list li .city-content{ flex-direction: column; }
    .locations-page .offices-wrapper .cities-list li .city-content .main-image{ width: 100%; border-radius: 20px 20px 0 0; height: 350px; }
    .locations-page .offices-wrapper .cities-list li .city-content .office-info{ position: relative; left: auto; transform: none; top: auto; width: 100%; border-radius: 0 0 20px 20px; }
    .locations-page .offices-wrapper .cities-list li .city-content .office-info h3{ font-size: 28px; }
    .locations-page .offices-wrapper .cities-list li .city-content .office-info p{ font-size: 14px; }
    .locations-page .offices-wrapper .cities-list li .city-content .office-info .button { margin-top: 15px; position: static; }

        .locations-page .offices-wrapper .cities-list li.city-nashville{ margin-bottom: 40px; }
        .locations-page .offices-wrapper .cities-list li.city-new-york{ margin-bottom: 40px; }

        .locations-page .offices-wrapper .cities-list li.city-nashville .city-content .office-info{ top: 0; }
        .locations-page .offices-wrapper .cities-list li.city-new-york .city-content .office-info{ top: 0; }

    /* Nearshore */
    .locations-page .nearshore{ padding: 120px 0 80px; }
    .locations-page .nearshore .map{ display: none; }
    .locations-page .nearshore .head{ margin-bottom: 40px; }
    .locations-page .nearshore .head .title span{ display: inline; }
    .locations-page .nearshore .head .description{ max-width: 100%; }
    .locations-page .nearshore .nearshore-list ul{ max-width: 100%; }
 
}

@media screen and (max-width: 768px){

    .locations-page .hero { max-height: 550px; min-height: 550px; }
    .locations-page .hero .text .description{ font-size: 14px; }

    /* Offices */
    .locations-page .offices-wrapper{ padding: 50px 0; }
    .locations-page .offices-wrapper .head .title{ font-size: 32px; }
    .locations-page .offices-wrapper .head .subtitle{ font-size: 15px; }
    .locations-page .offices-wrapper .cities-list{ flex-direction: column; }
    .locations-page .offices-wrapper .cities-list li{ margin-bottom: 40px; width: 100%; }
    .locations-page .offices-wrapper .cities-list li .city-content .main-image{ height: 220px; }
    .locations-page .offices-wrapper .cities-list li .city-content .office-info h3{ font-size: 24px; }

    /* Nearshore */
    .locations-page .nearshore .nearshore-list ul{ flex-wrap: wrap; }
    .locations-page .nearshore .nearshore-list ul li{ width: 50%; padding: 5px; margin-bottom: 5px; }

}