* {
    margin: 0;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
}

html, body {
    min-height: 100vh;
    width: 100%;
}

/* header */
#header {
    background-color: #f39200;
    color: #004135;
    border-bottom: 8px solid white;
    top: 0;
    z-index: 9999;
}

#header .hamburger{
    display: flex;
    align-items: center;
}

#header .hamburger:focus{
    outline: none;
}

#header .hamburger-inner, #header .hamburger-inner:after, #header .hamburger-inner:before {
    background-color: #004135;
}

#header .navbar-nav .nav-item {
    position: relative;
}

#header .navbar-nav .nav-item.active .nav-link{
    font-weight: bold;
}

#header .navbar-nav .nav-item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    margin-left: auto;
    margin-right: auto;
    width: 0;
    border: 0 solid transparent;
    transition: all 0.4s;
}

#header .navbar-nav .nav-item:hover::after {
    border-bottom-color: white;
    border-width: 8px;
}

#header .navbar-nav .nav-link {
    color: #004135;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 14px;
}

#header .navbar-nav .nav-item:hover .nav-link {
    text-decoration: underline;
}

#header .social-icons a {
    color: #004135;
    display: inline-block;
    margin-left: 12px;
    font-size: 18px;
}

/* services */
#services {
    border-top: 150px solid white;
    background-image: -moz-linear-gradient(90deg, rgb(0, 87, 72) 0%, rgb(0, 53, 42) 100%);
    background-image: -webkit-linear-gradient(90deg, rgb(0, 87, 72) 0%, rgb(0, 53, 42) 100%);
    background-image: -ms-linear-gradient(90deg, rgb(0, 87, 72) 0%, rgb(0, 53, 42) 100%);
}

#services a {
    text-decoration: none;
}

#services .service {
    transition: all 0.5s;
}

#services .service:hover {
    background-color: #f39200;;
}

#services .service:hover h2, #services .service:hover p, #services .service:hover a {
    color: #004135;
}

#services .image {
    text-align: center;
    margin-bottom: 32px;
    margin-top: -96px;
}

#services .description {
    text-align: center;
    padding-bottom: 18px;
}

#services .description h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 32px;
    color: #f39200;
    text-transform: uppercase;
    margin-bottom: 32px;
}

#services .description p {
    color: white;
    font-weight: 300;
}

#services .description .know-more {
    text-transform: uppercase;
}

#services .description .know-more:hover {
    color: #004135;
    text-decoration: underline;
}

#services {
    border-bottom: 16px solid white;
}

/* portfolio */
#portfolio{
    background-color: #f1f1f1;
    border-bottom: 16px solid white;
}

#portfolio .portfolio-item.odd{
    flex-direction: row-reverse;
    text-align: right;
}

#portfolio .image {
    min-height: 320px;
    overflow: hidden;
}

#portfolio .image img {
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all 0.5s;
}

#portfolio .image:hover img{
    transform: scale(1.1);
}

#portfolio .portfolio-item .image::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    right: 0;
    border: 32px solid transparent;
    border-right-color: #f1f1f1;
    top: 64px;
}

#portfolio .portfolio-item.odd .image::after {
    left: 0;
    border-right-color: transparent;
    border-left-color: #f1f1f1;
}

#portfolio .portfolio-item.odd .row{
    justify-content: flex-end;
}

#portfolio .portfolio-item .description {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 585px;
    padding-left: 64px;
    padding-top: 32px;
    padding-bottom: 32px;
}

#portfolio .portfolio-item.odd .description {
    padding-right: 64px;
    padding-top: 32px;
    padding-bottom: 32px;
}


#portfolio .category, .post .category {
    text-transform: uppercase;
    font-family: "Oswald", sans-serif;
    color: #717171;
    font-size: 20px;
    letter-spacing: 0;

}

#portfolio .category .active, .post .category .active{
    color: black;

}

#portfolio h3{
    text-transform: uppercase;
    color: #004135;
    font-weight: bold;
    margin-top: 18px;
    margin-bottom: 18px;
}

#portfolio p{
    font-weight: 300;
    color: #717171;
    font-size: 15px;
}

/* request budget */
#request-budget{
    border-bottom: 16px solid white;
    padding-top: 64px;
    padding-bottom: 64px;
    background-color: #f39200;
}

#request-budget h2{
    color: #004135;
    font-weight: bolder;
    text-transform: uppercase;
    margin-bottom: 32px;
}

#request-budget p{
    font-weight: 300;
    margin-bottom: 32px;
}

/* representations */
#representations{
    background-color: #005346;
    padding-top: 48px;
    padding-bottom: 48px;
}

#representations-carousel .image{
    -webkit-clip-path: polygon(100% 0, 0 0, 0 400%);
    clip-path: polygon(100% 0%, 0% 0%, 0% 400%);
    width: calc(100% + 40px) !important;
    height: calc(100% + 96px + 36px);
    margin-top: -96px;
    margin-bottom: -36px;
    position: relative;
    z-index: 1;
}

#representations-carousel .text{
    max-width: 575px;
}

#representations-carousel .carousel-item > .row{
    padding-top: 96px;
    padding-bottom: 36px;
}

#representations-carousel .carousel-item > .row > *{
    background-color: #f1f1f1;
}

#representations .content{
    padding-top: 24px;
    padding-bottom: 24px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
    min-height: 300px;
}

#representations .content h3{
    font-size: 28px;
    font-family: "Oswald", sans-serif;
    color: #005346;
    text-transform: uppercase;
    margin-bottom: 24px;
}

#representations .content img{
    margin-bottom: 24px;
}

#representations .content p{
    font-size: 15px;
    color: #555;
    font-weight: 300;

}

#representations .carousel-indicators{
    justify-content: start;
    margin-left: 0;
    margin-right: 0;
    bottom: -4px;
}

#representations .carousel-indicators li{
    width: 16px;
    height: 16px;
    background-color: #f39200;
}

#representations .carousel-indicators li.active{
    background-color: white;
}

/* video */
#video{
    padding-top: 64px;
    padding-bottom: 64px;
    background-image: url("../images/video-background.png");
    background-position: center;
    background-size: 82%;
    background-repeat: no-repeat;

}

/* footer */
#footer{
    background-color: #005346;
    padding-top: 64px;
    padding-bottom: 64px;
    color: white;
    font-weight: 300;
    border-bottom: 12px solid white;
}

#footer .social-icons a{
    color: white;
    font-size: 24px;
    display: inline-block;
}

#footer .social-icons a:not(:last-of-type){
    margin-right: 12px;
}

/* contact-form */
.contact-form .wpforms-field-label, .contact-form .wpforms-required-label{
    font-size: 16px !important;
    color: rgb(0, 159, 154) !important;
    font-weight: 300 !important;
}

.contact-form .wpforms-field-label-inline{
    font-weight: 300 !important;
    color: white !important;
    font-size: 14px !important;
}

.contact-form .wpforms-field-label-inline a{
    color: white !important;
    text-decoration: underline !important;
}

.contact-form input, .contact-form textarea{
    background-color: #e4e4e4 !important;
    border: none !important;
    border-radius: 0 !important;
}

.contact-form .wpforms-submit-container{
    text-align: right;
    padding-top: 0 !important;
}

#credits{
    background-color: #f39200;
    text-align: center;
    color: #004135;
    text-transform: uppercase;
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 300;
}

#credits p{
    margin-bottom: 0;
}

#credits p a{
    color: #004135;
}

h1.entry-title{
    text-align: center;
    margin-bottom: 32px;
    color: #004135;
    text-transform: uppercase;
}

.entry-content{
    font-weight: 300;
}

.wrapper{
    padding-top: 64px;
    padding-bottom: 64px;
}

/* util */
a {
    color: #f39200;
}

#main, .site-main{
    width: 100%;
}

.btn.btn-sm{
    padding: 4px 16px !important;
}

.btn.btn-primary{
    background-color: #f39200;
    color: white;
    border-radius: 0;
    text-transform: uppercase;
    border-color: #f39200;
    font-weight: 400;
    padding: 8px 32px;

}

.btn.btn-primary:hover{
    background-color: #004135;
    border-color: #004135;
}

.btn.btn-secondary{
    background-color: #004135;
    color: white;
    border-radius: 0;
    text-transform: uppercase;
    border-color: #004135;
    font-weight: 400;
    padding: 8px 32px;

}

.btn.btn-secondary:hover{
    color: #004135;
    background-color: #f39200;
    border-color: #004135;
}

.btn.btn-secondary-light{
    background-color: #009f9a !important;
    color: white !important;
    border-radius: 0 !important;
    text-transform: uppercase !important;
    border-color: #009f9a !important;
    font-weight: 300 !important;
    padding: 8px 32px !important;

}

.btn.btn-secondary-light:hover{
    background-color: #004135 !important;
    border-color: #004135 !important;
}

.entry-content ul{
    padding-left: 20px;
}

@media (max-width: 991.98px) {
    #header .left {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    #header .right {
        width: 100%;
    }

    #header .navbar-nav .nav-link{
        text-align: center;
    }

    #services {
        border-top: 16px solid white;
    }

    #representations-carousel .carousel-item > .row{
        padding-top: 36px;
        padding-bottom: 36px;
    }

    #representations-carousel .image{
        -webkit-clip-path: none;
        clip-path: none;
        width: 100% !important;
        height: auto;
        margin-top: 0;
        margin-bottom: 24px;
        position: relative;
    }

    #representations-carousel .content{
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    #representations-carousel .text img{
        margin-left: auto;
        margin-right: auto;
    }

    #portfolio .portfolio-item .description, #portfolio .portfolio-item.odd .description{
        padding: 16px 0;
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    html, body{
        overflow-x: hidden;
    }

    #header{
        top: 0 !important;
    }

    #services .image{
        margin-top: 32px;
    }
}

.entry-title a:hover {
    color: #004135;
    text-decoration: none;
}
