*{
    box-sizing:border-box;
}

html,
body{

    overflow-x:hidden;

}

/*====================================
ABOUT HERO
====================================*/

.about-hero{

    position:relative;

    width:100%;

    height:100vh;

    overflow:hidden;

}

.about-hero-image{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

}

.about-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.42);

}

.about-hero .container{

    position:relative;

    height:100%;

    z-index:2;

}

.about-hero-content{

    position:absolute;

    left:0;
    right:0;
    bottom:55px;

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

}

.about-hero-content h1{

    font-family:"Monument", sans-serif;

    font-size:48px;

    font-weight:400;

    color:#fff;

    letter-spacing:1px;

}

.about-scroll{

    display:flex;

    justify-content:center;

    align-items:center;

    animation:aboutBounce 2s infinite;

}

.about-scroll svg{

    width:56px;

    height:56px;

    transition:.3s;

}

.about-scroll:hover{

    transform:translateY(6px);

}

@keyframes aboutBounce{

    0%,20%,50%,80%,100%{

        transform:translateY(0);

    }

    40%{

        transform:translateY(8px);

    }

    60%{

        transform:translateY(4px);

    }

}

/*====================================
TABLET
====================================*/

@media(max-width:991px){

.about-hero-content h1{

    font-size:34px;

}

.about-scroll svg{

    width:46px;
    height:46px;

}

}

/*====================================
MOBILE
====================================*/

@media(max-width:768px){

.about-hero{

    height:100vh;

    min-height:650px;

}

.about-hero-content{

    bottom:120px;

}

.about-hero-content h1{

    font-size:22px;

}

.about-scroll svg{

    width:36px;

    height:36px;

}

}








/*==============================
CONTACT INFO SECTION
==============================*/

.contact-info{

    padding:80px 0;

}


.contact-grid{

    display:grid;
    grid-template-columns:1fr 1.3fr;
    grid-template-areas:
        "details image"
        ".       header"
        "map     form";

    column-gap:70px;
    row-gap:24px;

}

/* ---------- Address / Contact ---------- */

.contact-details{

    grid-area:details;

}

.contact-details h4{

    font-family:"DM Sans", sans-serif;
    font-size:20px;
    font-weight:700;

    margin-bottom:10px;

}

.contact-details p{

    font-family:"DM Sans", sans-serif;
    font-size:17px;
    line-height:1.6;
    color:#333;

    margin-bottom:26px;

}

.contact-title{

    margin-top:0;

}

/* ---------- Image ---------- */

.contact-image{

    grid-area:image;

}

.contact-image img{

    width:100%;
    height:100%;
    min-height:200px;

    object-fit:cover;

    display:block;

}

/* ---------- Map ---------- */

.contact-map{

    grid-area:map;

    min-height:280px;

    overflow:hidden;

}

.contact-map iframe{

    width:100%;
    height:100%;
    min-height:280px;

    display:block;

}

/* ---------- Form Header ---------- */

.contact-form-header{

    grid-area:header;
    text-align:right;

}

.contact-form-header h2{

    font-family:"Monument", sans-serif;
    font-size:32px;
    font-weight:400;

    margin-bottom:12px;

}

.contact-form-header p{

    font-family:"DM Sans", sans-serif;
    font-size:16px;
    line-height:1.6;
    color:#555;

}

/* ---------- Form ---------- */

.contact-form{

    grid-area:form;

}

.form-group{

    margin-bottom:20px;

}

.form-group label{

    display:block;

    font-family:"DM Sans", sans-serif;
    font-size:15px;
    font-weight:700;
    color:#1A1617;

    margin-bottom:8px;

}

.form-group input,
.form-group textarea{

    width:100%;

    padding:14px 16px;

    border:1px solid #DADADA;
    border-radius:6px;

    font-family:"DM Sans", sans-serif;
    font-size:15px;
    color:#1A1617;

    outline:none;

    transition:.3s;

}

.form-group input::placeholder,
.form-group textarea::placeholder{

    color:#A9A9A9;

}

.form-group input:focus,
.form-group textarea:focus{

    border-color:#81C341;

}

.form-group textarea{

    min-height:120px;
    resize:vertical;

}

.send-btn{

    display:inline-block;

    background:#81C341;
    color:#fff;

    border:none;
    border-radius:6px;

    padding:16px 42px;

    font-family:"DM Sans", sans-serif;
    font-size:16px;
    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

.send-btn:hover{

    background:#6FA836;

}


/*==============================
TABLET
==============================*/

@media(max-width:991px){

.contact-info{

    padding:60px 0;

}

.contact-grid{

    grid-template-columns:1fr;
    grid-template-areas:
        "details"
        "image"
        "header"
        "map"
        "form";

    row-gap:30px;

}

.contact-image img{

    min-height:260px;

}

.contact-map{

    min-height:320px;

}

.contact-map iframe{

    min-height:320px;

}

.contact-form-header h2{

    font-size:26px;

}

}


/*==============================
MOBILE
==============================*/

@media(max-width:768px){

.contact-info{

    padding:45px 0;

}

.contact-grid{

    grid-template-columns:1fr 1fr;
    grid-template-areas:
        "details image"
        "map     map"
        "header  header"
        "form    form";

    column-gap:20px;
    row-gap:25px;

}

.contact-details h4{

    font-size:16px;

}

.contact-details p{

    font-size:14px;
    line-height:1.5;
    margin-bottom:16px;

}

.contact-image img{

    min-height:140px;

}

.contact-map{

    min-height:220px;

}

.contact-map iframe{

    min-height:220px;

}

.contact-form-header h2{

    font-size:22px;

}

.contact-form-header p{

    font-size:15px;
    margin-bottom:22px;

}

.form-group{

    margin-bottom:16px;

}

.form-group input,
.form-group textarea{

    padding:12px 14px;
    font-size:14px;

}

.send-btn{

    width:100%;

    padding:15px 0;

}

}
