@font-face {
    font-family: 'Fira Sans';
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src: url('/system/fonts/FiraSans-Light.ttf') format('truetype');
}

@font-face {
    font-family: 'Fira Sans';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src: url('/system/fonts/FiraSans-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Fira Sans';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('/system/fonts/FiraSans-Bold.ttf') format('truetype');
}

html, body {
    overflow-x: hidden;
    width: 100%;
}

body {
    color: #231f20;
    font-family: 'Fira Sans', sans-serif;
    font-weight: 400;
}

.ratio1920 {
    padding: 67.54% 0 0 0;
}

img {
    max-width: 100%;
}

a:hover {
    text-decoration: none;
}

#headerTop {
    background-color: #231f20;
    padding: 15px 0;
}

    #headerTop .telephone, #headerTop .email {
        font-size: 18px;
        color: #fff;
        display: inline-block;
        vertical-align: middle;
        padding: 0 15px;
    }

#headerBottom {
    padding: 35px 0;
}

    #headerBottom ul {
        margin-right: -10px;
    }

        #headerBottom ul li a {
            color: #231f20;
            font-size: 16px;
            text-transform: uppercase;
            padding: 10px;
            display: block;
        }

        #headerBottom ul li ul {
            display: none;
        }

    #headerBottom .headerLeft {
        text-align: left;
    }

#animation {
    position: relative;
}

    #animation .slider {
        margin-bottom: 0;
    }

    #animation .item {
        position: relative;
        vertical-align: middle;
    }

        #animation .item .animationText {
            text-align: center;
        }

            #animation .item .animationText span {
                display: block;
                line-height: normal;
            }

                #animation .item .animationText span:first-child {
                    font-size: 36px;
                    color: #fff;
                    text-shadow: 3px 4px 1px rgba(0, 0, 0, .5);
                    font-weight: 600;
                    margin-bottom: 10px;
                }

                #animation .item .animationText span:last-child {
                    font-size: 20px;
                    color: #fff;
                    text-shadow: 3px 4px 1px rgba(0, 0, 0, .5);
                }

    #animation .slider-controls {
        margin-bottom: 20px;
        text-align: center;
    }

        #animation .slider-controls .slide-dots {
            display: inline-block;
            vertical-align: middle;
            margin: 0 50px;
        }

            #animation .slider-controls .slide-dots .slick-dots {
                position: relative;
                width: auto;
                bottom: 0;
                line-height: 0;
            }

                #animation .slider-controls .slide-dots .slick-dots li {
                    width: 15px;
                    height: 15px;
                    vertical-align: middle;
                }

                    #animation .slider-controls .slide-dots .slick-dots li button {
                        height: 15px;
                        width: 15px;
                    }

                        #animation .slider-controls .slide-dots .slick-dots li button::before {
                            background-image: url('../images/animation-dot.png');
                            background-repeat: no-repeat;
                            background-position: center center;
                            font-size: 0;
                            opacity: 1;
                            width: 15px;
                            height: 15px;
                        }

                    #animation .slider-controls .slide-dots .slick-dots li.slick-active button::before {
                        background-image: url('../images/animation-dot-active.png');
                    }

        #animation .slider-controls .slick-arrow {
            background-repeat: no-repeat;
            background-position: center;
            -webkit-appearance: none;
            display: inline-block;
            vertical-align: middle;
            background-color: transparent;
            border: none;
            width: 20px;
            height: 23px;
            position: relative;
        }

        #animation .slider-controls .slide-prev {
            background-image: url('../images/arrow-prev.png');
        }

        #animation .slider-controls .slide-next {
            background-image: url('../images/arrow-next.png');
        }

        #animation .slider-controls .slide-prev:hover {
            background-image: url('../images/arrow-prev-hover.png');
        }

        #animation .slider-controls .slide-next:hover {
            background-image: url('../images/arrow-next-hover.png');
        }

#theme {
    background-color: #231f20;
    padding: 50px 0;
}

    #theme h1, #theme div.title {
        color: #fff;
        font-size: 36px;
        font-weight: 600;
        text-shadow: 5px 5px 5px rgba(0, 0, 0, .5);
        margin-bottom: 0;
    }

#services .item .overlay {
    top: 0;
    bottom: auto;
    height: 100%;
    width: 100%;
    -webkit-transition-property: all;
    -o-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: .7s;
    -o-transition-duration: .7s;
    transition-duration: .7s;
    -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
    -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
    transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
}

#services .item:first-child .overlay {
    background-image: url('../images/overlay-orange.png');
}

#services .item:nth-child(2n) .overlay {
    background-image: url('../images/overlay-green.png');
}

#services .item:nth-child(3n) .overlay {
    background-image: url('../images/overlay-pink.png');
}

#services .item h2 {
    font-size: 24px;
    font-weight: 300;
    background-image: url('../images/icon-eye.png');
    background-repeat: no-repeat;
    background-position: right;
    background-size: 30px;
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    color: #fff;
    z-index: 1;
    margin-bottom: 0;
}

#services .item:hover .overlay {
    max-height: 0;
}

#contentArea {
    padding: 50px 0;
}
    #contentArea .mainTitle {
        font-size: 30px;
        font-weight: bold;
        text-transform: uppercase;
        margin-bottom: 30px;
    }
    #contentArea .mainContent{
        margin-left:-40px;
        margin-right:-40px;
    }
    #contentArea .mainContent .contentLeft,
    #contentArea .mainContent .contentRight {
        padding-left:40px;
        padding-right:40px;
    }
        #contentArea .mainContent .contentLeft .img-placeholder {
            background-color: #f8f9fa;
            background-image: url('/system/images/MissingImage.png');
            background-position: center;
            background-repeat: no-repeat;
        }
        #contentArea .mainContent .contentRight p {
            line-height:30px;
        }
.homeArea {
    color: #fff;
}

    .homeArea .homeLeft h1, #contentArea .contentLeft h2 {
        font-size: 24px;
        font-weight: 300;
        margin-bottom: 50px;
    }

    .homeArea .homeLeft h2, #contentArea .contentLeft h3 {
        font-size: 40px;
        font-weight: 300;
    }

    .homeArea .homeRight, #contentArea .contentRight {
        font-size: 16px;
        line-height: 30px;
    }

        .homeArea .homeRight p, #contentArea .contentRight p {
            margin-bottom: 30px;
        }

.serviceList .item {
    padding-bottom: 25px;
}

    .serviceList .item .overlay {
        top: 0;
        bottom: auto;
        height: 100%;
        width: 100%;
        -webkit-transition-property: all;
        -o-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: .7s;
        -o-transition-duration: .7s;
        transition-duration: .7s;
        -webkit-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
        -o-transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
        transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
    }

    .serviceList .item:nth-child(3n+1) .overlay {
        background-image: url('../images/overlay-orange.png');
    }
    .serviceList .item:nth-child(3n+2) .overlay {
        background-image: url('../images/overlay-green.png');
    }
    .serviceList .item:nth-child(3n+3) .overlay {
        background-image: url('../images/overlay-pink.png');
    }

    .serviceList .item:hover .overlay {
        max-height: 0;
    }

    .serviceList .item .box {
        padding: 30px;
        background: #f3f3f3;
    }

        .serviceList .item .box h2 {
            text-transform: uppercase;
            font-size: 30px;
            font-weight: 300;
            margin-bottom: 30px;
        }

            .serviceList .item .box h2 a {
                color: #231f20;
            }
                .serviceList .item .box h2 a span {
                    display:block;
                    height: 68px;
                    line-height:34px;
                    overflow:hidden;
                }
            .serviceList .item .box .itemIntroduction {
                overflow: hidden;
                height: 120px;
                margin-bottom: 50px;
            }

            .serviceList .item .box .itemIntroduction p {
                line-height: 30px;
                font-size: 18px;
                margin-bottom: 0;
            }

.feedbackList {
    margin: 0 -10px;
}

    .feedbackList .item {
        padding: 10px;
    }

        .feedbackList .item .box {
            background-color: #9b9b9b;
            padding: 20px;
            -webkit-transition: .5s background-color ease-in-out;
            -o-transition: .5s background-color ease-in-out;
            transition: .5s background-color ease-in-out;
        }

        .feedbackList .item:nth-child(3n+1):hover .box {
            background-color: #f58635;
        }

        .feedbackList .item:nth-child(3n+2):hover .box {
            background-color: #559640;
        }

        .feedbackList .item:nth-child(3n+3):hover .box {
            background-color: #a20547;
        }

        .feedbackList .item .box h2 {
            text-transform: uppercase;
            font-size: 24px;
            font-weight: 600;
            margin-bottom: 20px;
        }

            .feedbackList .item .box h2 a {
                color: #fff;
            }

                .feedbackList .item .box h2 a span {
                    line-height: 34px;
                    display: block;
                    height: 68px;
                    overflow: hidden;
                }

        .feedbackList .item .box .itemIntroduction {
            font-size: 16px;
            color: #fff;
            line-height: 20px;
            height: 120px;
            overflow: hidden;
            margin-bottom: 30px;
        }

            .feedbackList .item .box .itemIntroduction p {
                margin-bottom: 20px;
            }

                .feedbackList .item .box .itemIntroduction p:last-of-type {
                    margin-bottom: 0;
                }

        .feedbackList .item .box .itemAuthor {
            font-size: 24px;
            font-weight: 600;
            color: #fff;
            margin-bottom: 30px;
        }

.linkList .item {
    text-align: center;
    padding-bottom: 30px;
}

    .linkList .item h2 {
        font-size: 20px;
        margin: 20px 0;
        font-weight: 600;
    }

        .linkList .item h2 a {
            color: #231f20;
        }

    .linkList .item .ratio {
        border: 2px solid #b4b4b4;
    }

    .linkList .item a:not([href]):not([tabindex]) {
        display: none;
    }

#section {
    padding: 50px 0;
    font-size: 18px;
}

#contentArea .contentLeft {
    padding-bottom: 25px;
}

    #contentArea .contentLeft .serviceImage {
        margin-bottom: 50px;
    }

#contentArea .contentRight ul.orangeList, #contentArea .contentRight ul.greenList, #contentArea .contentRight ul.pinkList {
    list-style: none;
    padding-left: 0;
    font-weight: 600;
}

#contentArea .contentRight ul.orangeList {
    color: #f58635;
}

#contentArea .contentRight ul.greenList {
    color: #599a40;
}

#contentArea .contentRight ul.pinkList {
    color: #b3134b;
}

#contentArea .projectRight h1 {
    font-size: 30px;
    margin-bottom: 30px;
    font-weight: 600;
}

#contentArea .projectRight .projectInfo p {
    font-weight: 600;
}

    #contentArea .projectRight .projectInfo p span {
        display: block;
        font-weight: normal;
    }

#contentArea .projectRight .introduction {
    font-weight: 600;
}

#section p {
    line-height: 30px;
    margin-bottom: 30px;
}

#section.orange-bg {
    background-image: url('../images/orange-bg.jpg');
    background-repeat: no-repeat;
    background-position: left;
    background-size: cover;
    color: #fff;
}

#staffSection {
    padding: 50px 0;
}

.staffList {
    margin: 0 -25px;
}

    .staffList .item {
        padding: 0 25px 25px 25px;
    }

        .staffList .item h2 {
            font-size: 24px;
            margin: 45px 0 5px 0;
            font-weight: 600;
        }

        .staffList .item .itemStaffProfilePosition {
            font-size: 18px;
            margin-bottom: 15px;
            display: block;
        }

        .staffList .item .itemIntroduction p {
            font-size: 14px;
            line-height: 24px;
        }

#projects {
    padding-bottom: 50px;
}

    #projects h3 {
        color: #fff;
    }

        #projects h3.black {
            color: #231f20;
        }

.projectList .item {
    padding-bottom: 15px;
}

    .projectList .item h2 {
        background-color: #fff;
        padding: 20px 45px 20px 20px;
        font-size: 18px;
        background-image: url('../images/icon-eye-dark.png');
        background-position: 95%;
        background-repeat: no-repeat;
        background-size: 30px;
        margin-bottom: 0;
        -webkit-transition: .5s background-color ease-in-out;
        -o-transition: .5s background-color ease-in-out;
        transition: .5s background-color ease-in-out;
    }

        .projectList .item h2 a {
            color: #231f20;
        }

    .projectList .item .box {
        background-color: #f3f3f3;
        padding: 25px;
        -webkit-transition: .5s background-color ease-in-out;
        -o-transition: .5s background-color ease-in-out;
        transition: .5s background-color ease-in-out;
    }

    .projectList .item:hover .box,
    .projectList .item:hover h2 {
        background-color: #dedbdb;
    }

    .projectList .item .box p {
        color: #231f20;
        font-size: 18px;
        margin-bottom: 30px;
    }

    .projectList .item .box span {
        display: block;
        color: #9e9e9e;
    }

    .projectList .item .box p:last-of-type {
        margin-bottom: 0;
    }

.projectsList .item {
    padding-bottom: 40px;
}

    .projectsList .item.green .box {
        background-color: #559640;
    }

    .projectsList .item.pink .box {
        background-color: #a60948;
    }

    .projectsList .item.orange .box {
        background-color: #f68d34;
    }

    .projectsList .item .box {
        padding: 30px;
        color: #fff;
    }

        .projectsList .item .box h2 {
            margin-bottom: 30px;
            font-weight: 600;
        }

            .projectsList .item .box h2 a {
                color: #fff;
            }

        .projectsList .item .box p.small {
            margin-bottom: 30px;
            font-size: 24px;
            line-height: 24px;
            font-weight: 600;
        }

            .projectsList .item .box p.small span {
                display: block;
                font-size: 16px;
                font-weight: normal;
            }

        .projectsList .item .box .itemIntroduction {
            margin-bottom: 30px;
            line-height: 20px;
            height: 60px;
            overflow: hidden;
        }

            .projectsList .item .box .itemIntroduction p {
                margin-bottom: 0;
            }

#map {
    padding: 50px 0;
}

    #map .map {
        display: block;
        overflow: hidden;
        background: url('/images/map.jpg') no-repeat;
        background-position: center;
        height: 100%;
        width: 100%;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
    }

#footer {
    padding-top: 30px;
}

    #footer .footerTop {
        padding-bottom: 60px;
    }

    #footer .footerLeft .address {
        background-image: url('../images/icon-marker.png');
        background-repeat: no-repeat;
        background-position: top left;
        padding-left: 70px;
        margin-bottom: 50px;
    }

        #footer .footerLeft .address h4 {
            font-size: 30px;
            font-weight: 300;
        }

        #footer .footerLeft .address p {
            font-size: 20px;
            font-weight: 300;
            line-height: 30px;
        }

    #footer .footerLeft .info {
        padding-left: 70px;
        background-image: url('../images/icon-phone.png');
        background-repeat: no-repeat;
        background-position: top left;
        font-size: 20px;
        font-weight: 300;
        line-height: 30px;
        word-wrap: break-word;
    }

        #footer .footerLeft .info .socials {
            margin-top: 20px;
        }

            #footer .footerLeft .info .socials a {
                display: inline-block;
                vertical-align: middle;
                margin: 0 2px;
            }

    #footer .footerRight .form-group {
        margin-bottom: 25px;
    }

    #footer .footerRight .form-control {
        background: #e5e5e4;
        color: #231f20;
        height: 50px;
        font-size: 16px;
        border: none;
    }

        #footer .footerRight .form-control:focus {
            background-color: #dedbdb;
        }

    #footer .footerRight textarea.form-control {
        height: 125px;
        resize: vertical;
    }

    #footer .footerBottom {
        padding: 60px 0 50px 0;
        border-top: 1px solid #f3f3f3;
    }

    #footer .slick-prev:before, #footer .slick-next:before {
        color: #000;
    }

    #footer .slick-slide {
        display: inline-block;
        vertical-align: middle;
        float: none;
    }

        #footer .slick-slide:focus {
            outline: none !important;
        }

.btn-square {
    border-radius: 0;
    font-size: 24px;
    font-weight: 300;
    min-width: 250px;
    text-transform: uppercase;
}

    .btn-square i {
        float: left;
        padding-top: 5px;
    }

.themeDark {
    background-color: #231f20;
    color: #fff;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

    .themeDark:hover {
        background-color: #f48035;
        color: #231f20;
    }

.themeWhite {
    background-color: #fff;
    color: #231f20;
    -webkit-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

    .themeWhite:hover {
        background-color: #231f20;
        color: #fff;
    }

h3.sectionTitle {
    font-size: 36px;
    margin-bottom: 25px;
    font-weight: 300;
}

@media (max-width: 767px) {
    #animation .item .animationText {
        background-color: #231f20;
        padding: 20px 20px 70px 20px;
    }

    #animation .slider-bottom {
        bottom: auto !important;
        margin-top: -44px;
    }

    .homeArea {
        padding-top: 0 !important;
    }

    #services .container {
        padding: 0;
    }

    #footer .footerBottom img {
        max-width: 125px;
    }
}

@media(min-width: 576px) {
}

@media (min-width: 557px) {
}

@media(max-width: 767px) {
    .navbar-collapse {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: rgba(35, 31, 32, 0.90);
        height: 100% !important;
        z-index: 9;
        max-height: none;
    }

    #headerBottom ul {
        position: absolute;
        top: 50%;
        -ms-transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        left: 0;
        right: 0;
    }

        #headerBottom ul li a {
            text-align: center;
            color: #fff;
        }

    #headerBottom .btn.close {
        color: #fff;
        font-size: 24px;
        padding: 6px 12px;
        border: 2px solid #fff;
        margin: 20px;
        z-index: 9;
        opacity: 1;
        border-radius: 2px;
    }
}

@media (min-width: 768px) {
    #headerTop {
        text-align: right;
    }

    #animation .item .animationText {
        position: absolute;
        top: 40%;
        left: 50%;
        -webkit-transform: translate(-50%, -40%);
        -ms-transform: translate(-50%, -40%);
        transform: translate(-50%, -40%);
    }

    #animation .slider-bottom {
        position: absolute;
        bottom: 40px;
        display: block;
        width: 100%;
    }

    .projectsList .item .box, .feedbackList .item .box {
        padding: 60px;
    }

        .feedbackList .item .box h2 {
            font-size: 30px;
        }

    .linkList {
        margin: 0 -40px;
    }

        .linkList .item {
            padding: 0 40px 80px 40px;
        }
}

@media (min-width: 992px) {
    #header {
        padding: 65px 0;
    }

    #headerBottom .headerRight ul li {
        position: relative;
    }

        #headerBottom .headerRight ul li ul {
            position: absolute;
            left: 0;
            top: 100%;
            padding: 0;
            margin: 0;
            list-style: none;
            background-color: #231f20;
            z-index: 10;
            text-align: left;
            min-width: 200px;
            overflow: hidden;
        }

            #headerBottom .headerRight ul li ul li {
                border-top: 1px solid #fff;
            }

        #headerBottom .headerRight ul li:hover ul {
            display: block;
        }

        #headerBottom .headerRight ul li ul li a {
            white-space: nowrap;
            color: #fff;
            padding: 10px;
            margin: 0;
            font-weight: normal;
            display: block;
            border-bottom: none !important;
            text-align: left !important;
            text-transform: capitalize;
        }

        #headerBottom .headerRight ul li ul li:first-child {
            border-top: none;
        }

        #headerBottom .headerRight ul li ul li:hover a {
            background-color: #f68d34;
        }

        #headerBottom .headerRight ul li ul li:last-child {
            border-bottom: 1px solid #fff;
        }

    #animation .item .animationText {
        top: 40%;
        -webkit-transform: translate(-50%, -40%);
        -ms-transform: translate(-50%, -40%);
        transform: translate(-50%, -40%);
        max-width: 780px;
    }

        #animation .item .animationText span:first-child {
            font-size: 50px;
        }

        #animation .item .animationText span:last-child {
            font-size: 25px;
        }

    #staffSection {
        padding: 150px 0;
    }

    #services .item h2 {
        background-size: auto;
        font-size: 30px;
    }

    .projectsList .projectImage {
        overflow: hidden;
        position: relative;
        display: block;
        height: 100%;
    }

        .projectsList .projectImage img {
            height: 100%;
            max-width: none;
            position: absolute;
            top: -9999px;
            bottom: -9999px;
            left: -9999px;
            right: -9999px;
            margin: auto;
        }

    #footer .footerTop {
        padding-bottom: 110px;
    }

    #footer .footerLeft .address p, #footer .footerLeft .info {
        font-size: 24px;
    }
}

@media (min-width: 1200px) {
    #headerBottom ul {
        margin-right: -15px;
    }

        #headerBottom ul li a {
            padding: 10px 15px;
        }

    #animation .item .animationText span:first-child {
        font-size: 60px;
    }

    #animation .item .animationText span:last-child {
        font-size: 30px;
    }

    #animation .slider-controls {
        margin-bottom: 50px;
    }

    #theme {
        padding: 75px 0;
    }

        #theme h1, #theme div.title {
            font-size: 48px;
        }

    #services .item h2 {
        bottom: 40px;
        left: 40px;
        right: 40px;
    }

    .projectList .item h2 {
        padding: 25px 65px 25px 30px;
        background-size: auto;
    }
}

@media(min-width: 1600px) {
    .container {
        max-width: 1500px;
    }

    #headerBottom ul {
        margin-right: -20px;
    }

        #headerBottom ul li a {
            padding: 10px 20px;
        }

    #animation .item .animationText span:first-child {
        font-size: 80px;
    }

    #animation .item .animationText span:last-child {
        font-size: 36px;
    }

    #contentArea {
        padding: 75px 0;
    }

        .homeArea, #section .row, #contentArea .main {
            margin: 0 -45px;
        }

    .homeArea {
        margin-top: 50px;
        margin-bottom: 50px;
    }

        .homeArea .homeLeft, .homeArea .homeRight, #contentArea .contentLeft, #contentArea .contentRight, #section .sectionRight {
            padding: 0 45px;
        }

            .homeArea .homeLeft h1, #contentArea .contentLeft h2 {
                font-size: 36px;
            }

            .homeArea .homeLeft h2, #contentArea .contentLeft h3 {
                font-size: 60px;
            }

        .homeArea .homeRight, #contentArea .contentRight {
            font-size: 18px;
        }

    #section {
        padding: 125px 0;
    }

    h3.sectionTitle {
        font-size: 60px;
        margin-bottom: 50px;
    }

    .staffList {
        padding-top: 70px;
    }
}

@media (min-width: 1920px) {
    .container {
        max-width: 1600px;
    }
}

.cookieLaw {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 500;
    color: White !important;
    font-size: 12px !important;
    background-color: rgba(35, 31, 32, 0.80);
    padding: 5px;
    text-align: center;
    border-top: 3px white solid;
    display: none;
}

    .cookieLaw p {
        margin: 0;
        padding: 5px 0;
    }

#cookieDialog {
    font-size: 14px;
    display: none;
}
