/*==================================================
                GOOGLE MAP
==================================================*/

.map-section{
    width:100%;
    height:520px;
    margin:0;
    padding:0;
    overflow:hidden;
    position:relative;
}

.map-section iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}

/*==================================================
                CONTACT INFO
==================================================*/

.contact-info-section{
    width:100%;
    padding:70px 0 100px;
    background:#f8f8f8;
}

.contact-info-container{
    width:90%;
    max-width:1400px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.contact-card{
    background:#fff;
    border-radius:18px;
    padding:45px 35px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s ease;
}

.contact-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 50px rgba(0,0,0,.15);
}

.contact-icon{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#00b5e8;
    color:#fff;

    display:flex;
    justify-content:center;
    align-items:center;

    margin:0 auto 25px;

    font-size:30px;
}

.contact-card h3{
    font-family:'League Gothic',sans-serif;
    font-size:32px;
    font-weight:200;
    color:#393d40;
    margin-bottom:20px;
    letter-spacing:1px;
}

.contact-card p{
    font-family:'Montserrat',sans-serif;
    font-size:15px;
    color:#666;
    line-height:1.8;
    margin:0;
}

/*==================================================
                CONTACT CTA
==================================================*/

.contact-cta{
    width:100%;
    padding:100px 0;
    text-align:center;

    background:
    linear-gradient(rgba(0,181,232,.88),rgba(57,61,64,.90)),
    url("../img/contact-bg.jpg") center center/cover no-repeat;
}

.contact-cta-content{
    width:90%;
    max-width:1100px;
    margin:auto;
}

.contact-cta span{
    display:block;

    font-family:'Montserrat',sans-serif;
    font-size:15px;
    font-weight:600;

    color:#fff;
    letter-spacing:4px;
    text-transform:uppercase;

    margin-bottom:20px;
}

.contact-cta h2{
    font-family:'League Gothic',sans-serif;
    font-size:68px;
    font-weight:400;

    color:#fff;

    letter-spacing:2px;
    line-height:1;

    margin-bottom:30px;
}

.contact-cta p{
    max-width:800px;
    margin:auto;

    font-family:'Montserrat',sans-serif;
    font-size:17px;
    color:#fff;
    line-height:2;
}

/*==================================================
                TABLET
==================================================*/

@media(max-width:991px){

.map-section{
    height:420px;
}

.contact-info-container{
    grid-template-columns:1fr;
    gap:30px;
}

.contact-card{
    padding:40px 30px;
}

.contact-cta{
    padding:80px 0;
}

.contact-cta h2{
    font-size:54px;
}

}

/*==================================================
                MOBILE
==================================================*/

@media(max-width:768px){

.map-section{
    height:320px;
}

.contact-info-section{
    padding:60px 0;
}

.contact-card{
    padding:35px 25px;
}

.contact-icon{
    width:70px;
    height:70px;
    font-size:26px;
}

.contact-card h3{
    font-size:34px;
}

.contact-card p{
    font-size:15px;
}

.contact-cta{
    padding:70px 20px;
}

.contact-cta h2{
    font-size:42px;
}

.contact-cta p{
    font-size:15px;
}

}

/*==================================================
                SMALL MOBILE
==================================================*/

@media(max-width:480px){

.map-section{
    height:260px;
}

.contact-card{
    padding:30px 20px;
}

.contact-icon{
    width:65px;
    height:65px;
    font-size:22px;
}

.contact-card h3{
    font-size:28px;
}

.contact-card p{
    font-size:14px;
}

.contact-cta h2{
    font-size:34px;
}

.contact-cta p{
    font-size:14px;
}

}
/*==================================================
                TABLET
==================================================*/

@media(max-width:991px){

    .map-section{
        height:500px;
    }

    .contact-info-container{
        grid-template-columns:1fr;
        gap:30px;
    }

    .contact-card{
        padding:40px 30px;
    }

    .contact-cta{
        padding:80px 0;
    }

    .contact-cta h2{
        font-size:54px;
    }

}

/*==================================================
                MOBILE
==================================================*/

@media(max-width:768px){

    .map-section{
        height:520px;
    }

    .contact-info-section{
        padding:50px 0 60px;
    }

    .contact-card{
        padding:35px 25px;
    }

    .contact-icon{
        width:70px;
        height:70px;
        font-size:26px;
    }

    .contact-card h3{
        font-size:34px;
    }

    .contact-card p{
        font-size:15px;
    }

    .contact-cta{
        padding:70px 20px;
    }

    .contact-cta h2{
        font-size:42px;
    }

    .contact-cta p{
        font-size:15px;
    }

}

/*==================================================
            SMALL MOBILE
==================================================*/

@media(max-width:480px){

    .map-section{
        height:480px;
    }

    .contact-card{
        padding:30px 20px;
    }

    .contact-icon{
        width:65px;
        height:65px;
        font-size:22px;
    }

    .contact-card h3{
        font-size:28px;
    }

    .contact-card p{
        font-size:14px;
    }

    .contact-cta h2{
        font-size:34px;
    }

    .contact-cta p{
        font-size:14px;
    }

}