@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


:root{
    --Fjalla: "Fjalla One", sans-serif;
    --Roboto: "Roboto", sans-serif;
    --RobotoCondensed: "Roboto Condensed", sans-serif;
    --blue: #173143;
    --white: #FFFFFF;
    --darkgray: #372E30;
    --Yellow: #E3B722;
    --PastelGrey: #D3D3BC;
    --lightGray: #E4E5D0;
    --Red: #ff0000;
}

body, html{
    scroll-behavior: smooth;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    background-color: #FDFDFD;
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: normal;
    color: #003459;
    margin: 0;
    padding: 0;
}
a{
    transition: all 0.5s ease-in-out;
}
a, a:hover, a:focus{
    text-decoration: none;
}
img{
    max-width: 100%;
    object-fit: cover;
}
ul{
    padding: 0;
    margin: 0;
}
li{
    list-style: none;
}
h1, h2, h3, h4, h5, h6{
    margin: 0;
}
p{
    margin: 0;
    padding: 0;
}
.container{
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}



.hero{
    background-color: var(--blue);
    background-image: url(../images/hero-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 0 250px;
    position: relative;
    z-index: 9;
}
.hero::after{
    background-image: url(../images/hero-shap.png);
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100% 230px;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    z-index: -9;
}
.hero::before{
    background-image: url(../images/hero-stencillogo.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: auto 100%;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    height: 100%;
    width: 100%;
    z-index: -9;
}
.hero-row{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 60px;
}
.hero-row a{
    display: inline-block;
}
.hero-row a img{
    margin: 0 auto;
    max-width: 438px;
    width: 100%;
}
.hero-copy{
    max-width: 840px;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 40px;
    text-align: center;
}
.hero-heading{
    color: var(--white);
    font-family: var(--Fjalla);
    font-size: 60px;
    font-weight: normal;
    line-height: normal;
    max-width: 750px;
}
.hero-description{
    color: var(--white);
    font-family: var(--RobotoCondensed);
    font-size: 31px;
    font-weight: 300;
    line-height: normal;
}
img.hero-logo-image {width: 300px;}

.uncover{
    background-color: var(--lightGray);
    padding: 0 0 80px;
}
.uncover-row{
    display: flex;
    gap: 50px;
}
.uncover-copy{
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 48%;
}
.uncover-heading{
    background-image: url(../images/uncover-heading-bg.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto;
    color: var(--blue);
    font-family: var(--Fjalla);
    font-size: 40px;
    font-weight: normal;
    line-height: normal;
    padding: 0 30px;
}
.uncover-heading span{
    display: block;
}
.uncover-description{
    color: var(--darkgray);
    font-family: var(--Roboto);
    font-size: 23px;
    font-weight: 400;
    line-height: normal;
    padding: 0 30px;
    max-width: 475px;
    width: 100%;
}
.uncover-img{
    width: 52%;
}

.uncover.explore{
    padding: 90px 0;
}
.uncover.explore .uncover-heading{
    background-image: url(../images/uncover-explore-bg.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto;
    padding: 12px 30px;
}
.uncover.explore .uncover-description{
    max-width: 543px;
    width: 100%;
}

.uncover.behind{
    padding: 90px 0;
}
.uncover.behind .uncover-heading{
    background-image: url(../images/uncover-behind-bg.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto;
    color: var(--lightGray);
    padding: 5px 30px;
}
.uncover.behind .uncover-description{
    max-width: 543px;
    width: 100%;
}
.uncover.behind .uncover-img{
    text-align: right;
}


.map{
    background-color: var(--lightGray);
    padding: 0 0 50px;
    position: relative;
}
.map::after{
    background-image: url(../images/map-shape.png);
    background-repeat: no-repeat;
    background-size: 100% 100px;
    background-position: bottom;
    position: absolute;
    top: 100%;
    left: 0;
    content: "";
    height: 100px;
    width: 100%;
}


.discover{
    background-image: url(../images/discover-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 220px 0 150px;
}
.discover-row{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 50px;
}
.discover-heading{
    background-image: url(../images/discover-shape.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: auto;
    color: var(--Yellow);
    font-family: var(--Fjalla);
    font-size: 40px;
    font-weight: normal;
    line-height: normal;
    padding: 5px 80px 5px 60px;
    text-align: center;
}
.discover-description{
    color: var(--white);
    font-family: var(--RobotoCondensed);
    font-size: 31px;
    font-weight: 300;
    line-height: normal;
    max-width: 812px;
    margin: 0 auto;
}


.partnership{
    background-color: var(--lightGray);
    padding: 100px 0;
}
.partnership-row{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 40px;
}
.partnership-heading{
    color: var(--blue);
    font-family: var(--Fjalla);
    font-size: 40px;
    font-weight: normal;
    line-height: normal;
    text-align: center;
}
.partnership-logo{
    display: flex;
    align-items: center;
    gap: 40px;
    justify-content: center;
}
.partnership-logo-box{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25%;
}
.partnership-logo-box img{
    max-height: 200px;
}


.contact-us{
    background-color: var(--lightGray);
    padding: 0 0 150px;
}
.contact-us-row{
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.contact-us-title{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 30px;
    text-align: center;
}
.contact-us-heading{
    background-image: url(../images/contact-shape.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto;
    color: var(--blue);
    font-family: var(--Fjalla);
    font-size: 40px;
    font-weight: normal;
    line-height: 60px;
    min-width: 375px;
    padding: 5px;
}
.contact-us-description{
    color: var(--darkgray);
    font-family: var(--RobotoCondensed);
    font-size: 31px;
    font-weight: 300;
    line-height: normal;
    max-width: 855px;
    margin: 0 auto;
}
.contact-us-form{
    background-color: var(--PastelGrey);
    margin: 0 auto;
    max-width: 1020px;
    padding: 70px 60px;
    width: 100%;
}
.contact-us-form .form-row{
    display: flex;
    gap: 20px;
    width: 100%;
}
.contact-us-form .form-group{
    margin: 0 0 38px;
}
.contact-us-form .form-group .wpcf7-not-valid-tip{
    background-color: transparent;
    color: var(--Red);
    box-shadow: none;
    padding: 6px 0;
}
.contact-us-form .form-row .form-group{
    width: 50%;
}
.contact-us-form .form-group input{
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--darkgray);
    border-radius: 0;
    color: var(--darkgray);
    font-family: var(--Roboto);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    height: 36px;
    padding: 12px 0;
}
.contact-us-form .form-group select {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid var(--darkgray);
    border-radius: 0;
    color: var(--darkgray);
    font-family: var(--Roboto);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    height: 36px;
    padding: 0;
}
.contact-us-form .form-group select:focus {
      border-color: var(--darkgray) !important;
    box-shadow: none;
}
.contact-us-form .form-group input:focus{
    border-color: var(--darkgray) !important;
    box-shadow: none;
}
.contact-us-form .form-group input::placeholder{
    color: var(--darkgray);
}
.form-row-comment .form-group label{
    color: var(--darkgray);
    font-family: var(--Roboto);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
}
.form-row-comment .form-group  textarea{
    background-color: transparent;
    border: 1px solid var(--darkgray);
    border-radius: 0;
    color: var(--darkgray);
    display: block;
    font-family: var(--Roboto);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    height: 162px;
    padding: 12px;
    resize: none;
}
.form-row-comment .form-group  textarea:focus{
    border-color: var(--darkgray) !important;
    box-shadow: none;
}
.form-row-btn .form-group{
    margin: 0;
    padding: 0 14px 0 0;
}
.form-row-btn .form-group p{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}
.form-row-btn .form-group input[type="submit"]{
    background-color: transparent;
    background-image: url(../images/sendarrow.png);
    background-repeat: no-repeat;
    background-position: 0 center;
    background-size: 29px auto;
    border: none;
    font-family: var(--Roboto);
    font-size: 31px;
    font-weight: 600;
    color: var(--blue);
    outline: none;
    padding: 0 0 0 48px;
    text-transform: uppercase;
    transition: all 0.5s ease-in-out;
}
.form-row-btn .form-group input[type="submit"]:hover,
.form-row-btn .form-group input[type="submit"]:focus{
    background-color: transparent;
}
.form-row-btn .form-group input[type="submit"]:hover{
    animation: move 1.5s infinite;
}
@keyframes move {
    0% { 
        background-position: 0 center;
    }
    50% { 
        background-position: 10px center;
    }
    100% { 
        background-position: 0 center;
    }
}


.footer{
    background-color: var(--blue);
    padding: 60px 0 100px;
}
.footer-row{
    display: flex;
    gap: 60px;
}
.footer-logo{
    width: 26%;
}
.footer-logo a img{
    max-width: 270px;
    width: 100%;
}
.footer-menu{
    width: 22%;
}
.footer-menu ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
}
.footer-menu ul li{
    list-style: none;
}
.footer-menu ul li a{
    color: var(--white);
    font-family: var(--RobotoCondensed);
    font-size: 31px;
    font-weight: 300;
    line-height: normal;
}
.footer-menu ul li a:hover{
    color: var(--Yellow);
}
.footer-heading{
    color: var(--white);
    font-family: var(--RobotoCondensed);
    font-size: 28px;
    font-weight: 300;
    line-height: normal;
    margin: 0 0 20px;
}
.footer-subscribe{
    width: 25%;
}
.subscribe-form .tnp.tnp-subscription{
    margin: 0;
}
.subscribe-form .tnp-field label{
    display: none;
}
.subscribe-form .tnp-field input,
.subscribe-form .wpcf7-form-control-wrap input{
    background-color: transparent;
    border: 1px solid var(--Yellow);
    border-radius: 0;
    color: var(--lightGray);
    font-family: var(--RobotoCondensed);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    height: 40px;
    padding: 14px;
    text-transform: uppercase;
}
.subscribe-form .tnp-field input::placeholder,
.subscribe-form .wpcf7-form-control-wrap input::placeholder{
    color: var(--lightGray);
}
.subscribe-form .tnp-field input:focus,
.subscribe-form .wpcf7-form-control-wrap input:focus{
    border-color: var(--Yellow) !important;
    box-shadow: none;
}
.subscribe-form .tnp-field input[type="submit"],
.subscribe-form input[type="submit"].wpcf7-form-control{
    background-color: var(--Yellow);
    border: 1px solid var(--Yellow);
    border-radius: 0;
    color: var(--blue);
    font-family: var(--RobotoCondensed);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    height: auto;
    padding: 10px 14px;
    text-transform: uppercase;
    transition: all 0.5s ease-in-out;
}
.subscribe-form .tnp-field input[type="submit"]:hover,
.subscribe-form .tnp-field input[type="submit"]:focus,
.subscribe-form input[type="submit"].wpcf7-form-control:hover,
.subscribe-form input[type="submit"].wpcf7-form-control:focus{
    background-color: transparent;
    color: var(--Yellow);
}
.footer-social{
    width: 27%;
}
.footer-social ul{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 50px;
}
.footer-social ul li{
    list-style: none;
}
.footer-social ul a{
    border-radius: 50px;
    display: flex;
    transition: all 0.5s ease-in-out;
}
/* .footer-social ul a:hover{
    background-color: var(--white);
} */
.footer-social ul a:hover img{
    filter: grayscale(100%);
}
.footer-social ul a img{
    transition: all 0.5s ease-in-out;
    width: 50px;
}
.footer-social p{
    color: var(--white);
    font-family: var(--RobotoCondensed);
    font-size: 14px;
    font-weight: 300;
    line-height: normal;
}





@media only screen and (max-width: 1280px){
    .footer-row {
        gap: 30px;
    }
    .footer-menu ul li a{
        font-size: 26px;
    }
    .footer-heading{
        font-size: 24px;
    }
}
@media only screen and (max-width: 991px){
    .hero{
        padding: 70px 0 180px;
    }
    .hero::after{
        background-size: 100% 160px;
    }
    .uncover {
        padding: 0 0 30px;
    }
    .uncover-row{
        flex-direction: column;
    }
    .uncover-copy{
        width: 100%;
    }
    .uncover-description,
    .uncover.explore .uncover-description,
    .uncover.behind .uncover-description{
        max-width: 100%;
    }
    .uncover-img{
        width: 100%;
    }
    .uncover.explore,
    .uncover.behind{
        padding: 30px 0;
    }
    .uncover.explore .uncover-row{
        flex-direction: column-reverse;
    }
    .uncover.behind .uncover-img{
        text-align: center;
    }
    .uncover-heading{
        font-size: 36px;
    }
    .map{
        padding: 30px 0;
    }
    .discover {
        padding: 160px 0 80px;
    }
    .discover-heading {
        background-size: 100% auto;
        font-size: 36px;
    }
    .partnership-heading{
        font-size: 36px;
    }
    .partnership{
        padding: 60px 0;
    }
    .contact-us-heading{
        font-size: 36px;
    }
    .contact-us-description {
        font-size: 25px;
        max-width: 700px;
    }
    .contact-us{
        padding: 0 0 80px;
    }
    .footer {
        padding: 60px 0 60px;
    }
    .footer-row{
        flex-wrap: wrap;
        gap: 0;
        row-gap: 50px;
    }
    .footer-logo{
        padding: 0 30px 0 0;
        width: 50%;
    }
    .footer-logo img{
        max-width: 290px;
    }
    .footer-menu{
        padding: 0 0 0 30px;
        width: 50%;
    }
    .footer-menu ul li a,
    .footer-heading{
        font-size: 22px;
    }
    .footer-subscribe{
        padding: 0 30px 0 0;
        width: 50%;
    }
    .footer-social{
        padding: 0 0 0 30px;
        width: 50%;
    }
    .footer-social ul{
        margin: 0 0 30px;
    }
}
@media only screen and (max-width: 767px){
    .hero-row a img{
        max-width: 380px;
    }
    .hero-heading{
        font-size: 42px;
        max-width: 530px;
    }
    .hero-description{
        font-size: 24px;
    }
    .hero {
        padding: 50px 0 140px;
    }
    .hero::after {
        background-size: 100% 120px;
    }
    .uncover-heading,
    .partnership-heading,
    .contact-us-heading{
        font-size: 30px;
    }
    .uncover.explore .uncover-heading {
        padding: 18px 30px;
    }
    .uncover.behind .uncover-heading {
        padding: 12px 30px;
    }
    .map::after{
        background-size: 100% 60px;
        height: 60px;
    }
    .discover {
        padding: 120px 0 60px;
    }
    .discover-row{
        gap: 30px;
    }
    .discover-heading {
        font-size: 30px;
        padding: 5px 40px 5px 20px;
    }
    .discover-description{
        font-size: 26px;
    }
    .footer {
        padding: 50px 0 50px;
    }
    .footer-row{
        gap: 40px;
    }
    .footer-logo{
        padding: 0;
        width: 100%;
    }
    .footer-menu{
        padding: 0;
        width: 100%;
    }
    .footer-menu ul{
        gap: 6px;
    }
    .footer-subscribe{
        padding: 0;
        width: 100%;
    }
    .footer-social{
        padding: 0;
        width: 100%;
    }
    .contact-us-form {
        padding: 40px 30px;
    }
}
@media only screen and (max-width: 575px){
    .container{
        padding: 0 12px;
    }
    .hero-row a img {
        max-width: 280px;
    }
    .hero {
        padding: 50px 0 100px;
    }
    .hero::after {
        background-size: 100% 80px;
    }
    .hero-row{
        gap: 30px;
    }
    .hero-copy{
        gap: 20px;
    }
    .hero-heading{
        font-size: 36px;
    }
    .hero-description {
        font-size: 20px;
    }
    .uncover-copy{
        gap: 20px;
    }
    .uncover-heading{
        background-size: 100% 50%;
        background-position: center bottom;
        padding: 12px 20px; 
    }
    .uncover.explore .uncover-heading,
    .uncover.behind .uncover-heading{
        background-size: 100% 100%;
        background-position: center center;
        padding: 12px 20px; 
        /* min-height: 70px;*/
    }
    .uncover-description{
        padding: 0 20px;
        font-size: 16px;
    }
    .map::after {
        background-size: 100% 40px;
        height: 40px;
    }
    .discover {
        padding: 80px 0 60px;
    }
    .discover-heading {
        padding: 5px 20px;
        background-size: 100% 100%;
        background-position: center;
    }
    .discover-description {
        font-size: 20px;
    }
    .partnership-row{
        gap: 20px;
    }
    .partnership-logo{
        flex-wrap: wrap;
        column-gap: 0;
        row-gap: 20px;
    }
    .partnership-logo-box{
        padding: 0 10px;
        width: 50%;
    }
    .partnership-logo-box img {
        max-height: 120px;
    }
    .contact-us {
        padding: 0 0 60px;
    }
    .footer-logo img {
        max-width: 220px;
    }
    .footer-social ul a img {
        width: 40px;
    }
    .contact-us-heading{
        background-size: 100% auto;
        min-width: unset;
        width: 100%;
    }
    .contact-us-form .form-row{
        flex-direction: column;
        gap: 0;
    }
    .contact-us-form {
        padding: 20px 16px;
    }
    .contact-us-form .form-row .form-group{
        margin: 0 0 25px;
        width: 100%;
    }
    .form-row-comment .form-group textarea{
        height: 120px;
    }
}