@import url('https://fonts.googleapis.com/css?family=Marcellus&display=swap');

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

img, object, embed, video{
    max-width: 100%;
}

body{
    font-family: 'Marcellus', serif;
    line-height: 1.4;
}

a{
    text-decoration: none;
}

p{
    margin: 0.75rem 0;
}


/* Utility Classes */
.container{
    max-width: 1100px;
    margin: auto;
    padding: 0 2rem;
    overflow: hidden;
}

.text-center{
    text-align: center;
}

.text-primary{
    color: #22baed;
}

.bg-light{
    background: #f4f4f4;
    color: #333;
}

.bg-dark{
    background: #333;
    color: #fff;
}

.bg-primary{
    background: #22baed;
    color: white;
}

.l-heading{
    font-size: 3.5rem;
    margin-bottom: 0.75rem;
    line-height: 1.1;
}

.ml-heading{
    font-size: 2.2rem;
    margin-bottom: 0.75rem;
    line-height: 1.7;
}

.m-heading{
    font-size: 2rem;
    margin-bottom: 0.75rem;
    line-height: 1.1;
}

.lead{
    font-size: 1.3rem;
    margin-bottom: 2rem;
}

.py-1{padding: 1.5rem 0;}
.py-2{padding: 2rem 0;}
.py-3{padding: 3rem 0;}

.p-1{padding: 1.5rem;}
.p-2{padding: 2rem;}
.p-3{padding: 3rem;}

.btn{
    display: inline-block;
    color: #fff;
    background: #22baed;
    padding: 0.5rem 2rem;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.btn-submit{
    display: inline-block;
    color: #fff;
    background: #22baed;
    padding: 0.5rem 2rem;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    border: .5px solid #333;
}

.btn-dark{
    background: #333;
    color: #fff;
}

.btn:hover{
    background: #07aee6;
}

.btn-submit:hover{
    background: #07aee6;
}

.mobile-container{
    display: none;
}
/* Navbar */

#navbar{
    display: flex;
    position: sticky;
    top: 0;
    background: #fff;
    color: white;
    justify-content: space-between;
    padding: 1rem;
    /* Adds a bottom border to the navbar */
    box-shadow:  2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
    z-index: 99;
}

#navbar i{
    color: #202152;
    padding: .5rem;
    position: relative;
    top: .5rem;
}

#navbar #phone{
    color: #202152;
    font-size: 1.1rem;
}

#navbar img{
    width: 112.5px;
}



#banner-mobile{
    display: none;
}


/* Section: Links */

#links #link-items a{
    display: inline-block;
    padding: 1% 5%;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
}

#links{
    border-bottom: 1px solid #333;
}


#links #link-items a:hover{
    color: #333;
}


/* Showcase */
#showcase{
    color: #fff;
    background: #22baed;
    max-width: 100%;
}


#banner{
    background-color: #22baed;
}
#banner img{
    border-bottom: 1px solid #333;
}

.text-outline{
    text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}


/* Section: Services*/
#services .items{
    display: flex;
    padding: 1rem;
    flex-wrap: wrap;
}


#services .items .item{
    padding: 1rem .5rem;
    flex-basis: 25%;
}

#services .items .item i{
    background: #22baed;
    padding: 1rem;
    border-radius: 50%;
    margin-bottom: 1rem;
}

/* Seciton: Who We Are */
#who{
    display: flex;
    align-items: center;
    
}

#who div{
    flex: 1;
}


#who .who-img{
    background: url('../img/stock/shutterstock_431929534.jpg') no-repeat center/cover;
    height: 400px;
}

/* Section: Recent Projects */
#projects .items{
    display: flex;
    justify-content: center;
}

#projects .items img{
    display: block;
    margin: auto;
    width: 100%;
}

.gallery{
    position: relative;
    width: 800px;
    margin: 25px;
    background: white;
    border: 1px solid black;
}


.gallery img{
    padding-bottom: 0px;
    border: .5px solid #333;
}



.gallery h3{
    border: .5px solid #333;
    color: #333;
    font-size: 1.5rem;
    padding: 5px;
    text-align: center;
}

.gallery:hover .image {
    opacity: 0.6;
}

.text {
    background-color: #fff;
    color: #333;
    font-size: 16px;
    padding: 16px 32px;
    border: 1px solid #333;
}

.img-display-none{
    display: none;    
}



#locations .map{
    flex: 1;
    height: 500px;
}



/*Section: Testimonials */
#testimonials .items{
    display: flex;
    flex-direction: column;
    line-height: 1;
    justify-content: center;
    align-items: center;
}


#testimonials .item{
    padding: 1rem;
    border: 1px dotted #22baed;
    margin: 10px;
    font-size: 1.4em;
    flex: 50%;
    background: #fff;
    text-align: center;
    font-weight: bold;
}


/* Section: Testimonials */
#testimonials .item img{
    width: 200px;
    height: 200px;
    border-radius: 50%;
}

#testimonials .item img#person2{
    width: 188px;
}

#testimonials p{
    margin-bottom: 20px;
}

.stars i{
    margin-top: 10px;
    color: #FFD700;
}

.name{
    font-weight: bold;
    text-transform: uppercase;
}

.big-quote{
    font-size: 2em;
    color: #22baed;

}


#contacts a:visited{
    color: #fff;
}

#contacts a:link{
    color: #FFF;
}


.footer-items .item p,.footer-items .item h2{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#contact-header{
    color: #fff;
}

#contacts{
    padding: 1rem 0;
}


#contacts a#contact-ph{
    padding-right: .75rem;
}

#main-footer{
    
    padding: 1.5rem .5rem;

}

.areas-header{
    margin-bottom: 0;
}


@media(max-width: 1180px){
    #links #link-items a{
        padding: 1% 3%;
        font-size: 1.35rem;
    }

}

