html, body {
    overflow-x: hidden;
    width: 100%;
}

body {
    background: #383534;
    color: #414042;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    margin-top: 81px;
}

img {
    max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 900;
}

#header {
    background: #222222;
    padding: 12px 0;
}

    #header ul li a {
        color: #fff;
        font-size: 14px;
        font-weight: 900;
        padding: 10px 15px;
        display: block;
    }

    #header .headerLeft {
        text-align: center;
    }

    #header .headerCenter {
        text-align: left;
    }

    #header .headerRight {
        text-align: right;
    }

        #header .headerRight .btn {
            color: #fff;
            border-radius: 30px;
            font-size: 14px;
            border: 2px solid #fff;
            padding: 10px 5px;
        }

        #header .headerRight span {
            background-image: url('../images/l-sourcd.png');
            background-repeat: no-repeat;
            background-position: left center;
            display: block;
            padding-left: 35px;
            min-height: 44px;
            line-height: 44px;
        }


#animation {
    position: relative;
}

    #animation:after {
        content: "";
        background: url('../images/arrow-grey.png') no-repeat center bottom;
        display: block;
        padding-bottom: 4.92%;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    }

    #animation .slides {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0;
    }

        #animation .slides div {
            height: 100%;
        }

        #animation .slides .item {
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
        }


    #animation .animationText {
        text-align: center;
        padding: 40px 20px 20px 20px;
        padding-bottom: 60px;
        position: relative;
        z-index: 1;
        color: #fff;
    }


    #animation .heading {
        color: #fff;
        font-weight: 900;
        font-size: 30px;
        margin-bottom: 30px;
    }

    #animation .animationText .introduction {
        font-size: 18px;
        line-height: 30px;
        max-width: 830px;
        margin: 0 auto 60px auto;
    }

    #animation .animationText .number {
        color: #00aeef;
        font-size: 72px;
        line-height: 72px;
        font-weight: 900;
    }


    #animation .animationText .col img {
        display: inline-block;
    }

    #animation .animationText .itemText {
        color: #fff;
        font-weight: 900;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        font-size: 18px;
    }

    #animation .animationText .btn {
        margin-top: 80px;
        background: #fff;
        color: #00aeef;
        font-size: 16px;
        padding: 5px;
        border-radius: 50px;
        min-width: 210px;
    }

        #animation .animationText .btn span {
            display: block;
            border: 1px solid #00aeef;
            border-radius: 25px;
            padding: 12px;
            line-height: 16px;
            -webkit-transition: .5s all ease-in-out;
            -o-transition: .5s all ease-in-out;
            transition: .5s all ease-in-out;
        }

        #animation .animationText .btn:hover span {
            background: #00aeef;
            color: #414042;
        }

#theme {
    background-image: url('../images/theme1.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    padding: 90px 0;
}

    #theme:after {
        content: "";
        background: url('../images/theme-arrow.png') no-repeat center bottom;
        display: block;
        padding-bottom: 4.92%;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    }

    #theme h1, #theme .theme-title {
        color: #fff;
        text-transform: uppercase;
        text-align: center;
        font-size: 36px;
        font-weight:900;
        margin:0;
    }

#homeArea {
    background: #f1f1f1;
    padding: 50px 20px 0 20px;
}

#contentArea .main {
    padding: 20px 0 100px 0;
}

#contentArea .contentLeft {
    padding-bottom: 30px;
}

    #contentArea .contentLeft .ratio {
        border: 2px solid #00aeef;
    }

#contentArea .contentRight h1.title,
#contentArea .contentRight h2.title {
    text-transform: uppercase;
    color: #00aeef;
    font-size: 36px;
    margin-bottom: 30px;
}

#contentArea .contentRight h1 {
    font-size: 26px;
}

#contentArea .contentRight h2 {
    font-size: 24px;
}

#contentArea .contentRight .introduction {
    font-weight: 900;
    color: #414042;
    margin-bottom: 30px;
}

.whatwedoList {
    margin-left: -30px;
    margin-right: -70px;
    padding-top: 80px;
    margin-bottom: -50px;
}

    .whatwedoList .item {
        padding: 0 70px 100px 30px;
        text-align: center;
    }

        .whatwedoList .item .text-center {
            min-height: 90px;
        }

        .whatwedoList .item:after {
            content: "";
            background: url('../images/i-divider.png') no-repeat;
            position: absolute;
            bottom: 50px;
            left: 45%;
            -webkit-transform: translate(-45%, 0);
            -ms-transform: translate(-45%, 0);
            transform: translate(-45%, 0);
            display: block;
            width: 55px;
            height: 13px;
        }

        .whatwedoList .item:last-child:after {
            display: none;
        }

        .whatwedoList .item h3 {
            font-weight: 900;
            font-size: 18px;
            color: #414042;
            margin: 15px 0;
            -webkit-transition: color .3s ease-in-out;
            -o-transition: color .3s ease-in-out;
            transition: color .3s ease-in-out;
        }

        .whatwedoList .item:hover h3 {
            color: #00aeef;
        }

        .whatwedoList .item .itemIntroduction {
            font-size: 16px;
            line-height: 21px;
            color: #414042;
        }

            .whatwedoList .item .itemIntroduction p {
                margin-bottom: 0;
            }

#contentArea {
    position: relative;
    background: #fff;
    padding: 50px 0 0 0;
}

.section::before, .section::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.bigTriangleColor:before {
    content: "";
    background: #fff;
    display: block;
    width: 100%;
    height: 10px;
}

.bigTriangleColor {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    margin: -2px 0;
}

    .bigTriangleColor.grey {
        background: #fff;
    }

        .bigTriangleColor.grey path {
            fill: #f1f1f1;
            stroke: #f1f1f1;
            stroke-width: 2;
        }

    .bigTriangleColor.darkGrey {
        background: #fff;
    }

        .bigTriangleColor.darkGrey path {
            fill: #414042;
            stroke: #414042;
            stroke-width: 2;
        }

    .bigTriangleColor.white {
        background: #0085b6;
    }

        .bigTriangleColor.white path {
            fill: #fff;
            stroke: #fff;
            stroke-width: 2;
        }

    .bigTriangleColor.orange {
        background: #fff;
    }

        .bigTriangleColor.orange path {
            fill: #0085b6;
            stroke: #0085b6;
            stroke-width: 2;
        }

    .bigTriangleColor.whiteGrey {
        background: #414042;
    }

        .bigTriangleColor.whiteGrey path {
            fill: #fff;
            stroke: #fff;
            stroke-width: 2;
        }

.testimonialSlider .item {
    text-align: center;
    padding: 0 20px;
}

    .testimonialSlider .item .itemIntroduction {
        font-size: 16px;
        line-height: 28px;
        margin-bottom: 30px;
    }

    .testimonialSlider .item .rating {
        margin-bottom: 20px;
        font-size: 10px;
    }

    .testimonialSlider .item .itemAuthor {
        font-size: 18px;
        font-weight: bold;
        color: #00aeef;
        margin-bottom: 5px;
    }

    .testimonialSlider .item .itemPosition {
        font-size: 12px;
        margin-bottom: 0;
    }

.testimonialSlider .slick-arrow {
    top: 20%;
    -webkit-transform: translate(0, -20%);
    -ms-transform: translate(0, -20%);
    transform: translate(0, -20%);
    height: 30px;
}

    .testimonialSlider .slick-arrow:before {
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-size: 30px;
        color: #c4c4c7;
    }

.testimonialSlider .slick-prev:before {
    content: "\f053";
}

.testimonialSlider .slick-next:before {
    content: "\f054";
}

.testimonialSlider .slick-dots {
    position: relative;
    bottom: 0;
    margin-top: 30px;
}

    .testimonialSlider .slick-dots li button::before {
        font-size: 10px;
        color: #00aeef;
        opacity: 1;
    }

    .testimonialSlider .slick-dots li.slick-active button::before {
        font-size: 20px;
    }

.productList {
    margin-left: -50px;
    margin-right: -50px;
    padding-bottom: 0;
    margin-top: 60px;
}

    .productList .item {
        padding: 0 50px 25px 50px;
    }

        .productList .item .iImage {
            padding: 2px;
            position: relative;
        }

            .productList .item .iImage:before {
                background-image: -o-linear-gradient(left, #222222 100%, #222222 100%), -o-linear-gradient(top, #222222 100%, #222222 100%), -o-linear-gradient(left, #222222 100%, #222222 100%), -o-linear-gradient(top, #222222 100%, #222222 100%);
                background-image: -webkit-gradient(linear, left top, right top, color-stop(100%, #222222), to(#222222)), -webkit-gradient(linear, left top, left bottom, color-stop(100%, #222222), to(#222222)), -webkit-gradient(linear, left top, right top, color-stop(100%, #222222), to(#222222)), -webkit-gradient(linear, left top, left bottom, color-stop(100%, #222222), to(#222222));
                background-image: linear-gradient(to right, #222222 100%, #222222 100%), linear-gradient(to bottom, #222222 100%, #222222 100%), linear-gradient(to right, #222222 100%, #222222 100%), linear-gradient(to bottom, #222222 100%, #222222 100%);
                background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
                background-position: 0 0, 100% 0, 100% 100%, 0 100%;
                background-repeat: no-repeat;
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                top: 0;
                bottom: 0;
                z-index: 0;
            }

        .productList .item:hover .iImage:after {
            background-image: -o-linear-gradient(left, #00aeef 100%, #00aeef 100%), -o-linear-gradient(top, #00aeef 100%, #00aeef 100%), -o-linear-gradient(left, #00aeef 100%, #00aeef 100%), -o-linear-gradient(top, #00aeef 100%, #00aeef 100%);
            background-image: -webkit-gradient(linear, left top, right top, color-stop(100%, #00aeef), to(#00aeef)), -webkit-gradient(linear, left top, left bottom, color-stop(100%, #00aeef), to(#00aeef)), -webkit-gradient(linear, left top, right top, color-stop(100%, #00aeef), to(#00aeef)), -webkit-gradient(linear, left top, left bottom, color-stop(100%, #00aeef), to(#00aeef));
            background-image: linear-gradient(to right, #00aeef 100%, #00aeef 100%), linear-gradient(to bottom, #00aeef 100%, #00aeef 100%), linear-gradient(to right, #00aeef 100%, #00aeef 100%), linear-gradient(to bottom, #00aeef 100%, #00aeef 100%);
            background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
            background-position: 0 0, 100% 0, 100% 100%, 0 100%;
            background-repeat: no-repeat;
            -webkit-animation: itemBorder .8s cubic-bezier(0.19, 1, 0.22, 1) 1;
            animation: itemBorder .8s cubic-bezier(0.19, 1, 0.22, 1) 1;
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
            -webkit-animation-play-state: running;
            animation-play-state: running;
            z-index: 1;
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            z-index: 0;
        }

        .productList .item .ratio {
            z-index: 2;
        }

        .productList .item h2 {
            margin: 10px 0 0 0;
            font-size: 14px;
            text-transform: uppercase;
        }

            .productList .item h2 a {
                color: #414042;
            }

            .productList .item h2 span {
                display: block;
                line-height: 18px;
                overflow: hidden;
                height: 36px;
            }

.sectionTitle {
    font-size: 36px;
    color: #00aeef;
    text-transform: uppercase;
    font-weight: 900;
    text-align: center;
    margin-bottom: 0;
    z-index: 1;
    position: relative;
}

/*    .sectionTitle a {
        font-size: 12px;
        color: #00aeef;
        display: block;
    }*/

#newsSection .sectionTitle a {
    color: #fff;
}

@-webkit-keyframes itemBorder {
    0% {
        background-size: 0 2px, 2px 0, 0 2px, 2px 0;
    }

    25% {
        background-size: 100% 2px, 2px 0, 0 2px, 2px 0;
    }

    50% {
        background-size: 100% 2px, 2px 100%, 0 2px, 2px 0;
    }

    75% {
        background-size: 100% 2px, 2px 100%, 100% 2px, 2px 0;
    }

    100% {
        background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
    }
}

@keyframes itemBorder {
    0% {
        background-size: 0 2px, 2px 0, 0 2px, 2px 0;
    }

    25% {
        background-size: 100% 2px, 2px 0, 0 2px, 2px 0;
    }

    50% {
        background-size: 100% 2px, 2px 100%, 0 2px, 2px 0;
    }

    75% {
        background-size: 100% 2px, 2px 100%, 100% 2px, 2px 0;
    }

    100% {
        background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
    }
}

#quoteSection {
    position: relative;
}

.quoteInfo {
    padding-top: 70px;
}

.bg-orange {
    background: #0085b6;
}

.bg-darkGrey {
    background: #414042;
}

#quoteSection .sectionTitle,
#newsSection .sectionTitle {
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
}

.quoteLeft,
.quoteRight {
    padding: 0 20px;
}

    .quoteLeft .box,
    .quoteRight .box {
        background: #fff;
        padding: 55px 30px 30px 30px;
        border-radius: 4px;
    }

        .quoteLeft .box h4,
        .quoteRight .box h4 {
            color: #00aeef;
            margin-bottom: 30px;
            font-size: 24px;
            font-weight: 900;
        }

        .quoteLeft .box img {
            margin-top: 20px;
        }

        .quoteLeft .box .btn,
        .quoteRight .box .btn {
            margin-top: 40px;
        }

        .quoteRight .box .form-horizontal {
            margin-top: 43px;
        }

            .quoteRight .box .form-horizontal .form-group {
                margin-bottom: 25px;
            }

            .quoteRight .box .form-horizontal .form-control {
                border-radius: 50px;
                border: 2px solid #d1d1d1;
                color: #414042;
                height: 42px;
            }

            .quoteRight .box .form-horizontal textarea.form-control {
                height: 120px;
                resize: vertical;
                border-radius: 15px;
            }

#quoteSection .lgText, #quoteSection .lgText a {
    color: #fff;
}

#newsSection {
    position: relative;
}

    #newsSection .bg-white {
        padding: 50px 30px;
    }

    #newsSection .sectionTitle {
        color: #fff;
    }

.newsList {
    margin-left: -18px;
    margin-right: -18px;
}

    .newsList .item {
        padding-left: 18px;
        padding-right: 18px;
        padding-bottom: 50px;
    }

        .newsList .item .itemNewsDate {
            font-size: 16px;
            font-weight: 900;
            color: #00aeef;
            display: block;
            margin-top: 30px;
            margin-bottom: 10px;
        }

        .newsList .item .itemTitle {
            text-transform: uppercase;
            font-size: 24px;
            font-weight: 900;
            margin-bottom: 20px;
        }

            .newsList .item .itemTitle a {
                color: #414042;
            }

        .newsList .item .itemIntroduction {
            color: #414042;
            line-height: 22px;
            height: 68px;
            overflow: hidden;
            margin-bottom: 30px;
        }

            .newsList .item .itemIntroduction p {
                margin: 0;
            }

.pagination .page-item.active .page-link {
    background-color: #00aeef;
}

.news .ratio img {
    object-fit: cover;
    width: 100%;
}

.news .newsDate {
    font-size: 16px;
    font-weight: 900;
    color: #00aeef;
    margin: 30px 0 10px 0;
}

.news .title {
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 20px;
}

.news .content {
    color: #414042;
    line-height: 22px;
}

    .news .content p {
        margin-bottom: 20px;
    }

.newsItems {
    margin: 0 -20px;
}

    .newsItems .item {
        padding: 0 20px 20px 20px;
    }

        .newsItems .item .itemDate,
        .twitterTitle {
            font-size: 24px;
            color: #00aeef;
            font-weight: 900;
            margin-bottom: 5px;
        }

        .newsItems .item h2 {
            font-size: 24px;
            text-transform: uppercase;
            margin-bottom: 30px;
            font-weight: 900;
        }

            .newsItems .item h2 a {
                color: #414042;
            }

                .newsItems .item h2 a span {
                    display: block;
                    line-height: 30px;
                    overflow: hidden;
                    height: 60px;
                }

        .newsItems .item .itemIntroduction {
            line-height: 18px;
            height: 72px;
            overflow: hidden;
            margin-bottom: 30px;
        }

            .newsItems .item .itemIntroduction p {
                margin-bottom: 0;
            }

        .newsItems .item .btn.btn-rounded {
            min-width: 155px;
        }

#contactSection {
    position: relative;
}

    #contactSection:before {
        content: "";
        background: url('../images/arrow-shape.png') no-repeat center bottom;
        display: block;
        padding-bottom: 4.92%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
    }

    #contactSection .bg-darkGrey {
        padding-top: 8.92%
    }

.contactInfo {
    padding-top: 60px;
    padding-bottom: 60px;
}

    .contactInfo .address {
        background: url('../images/i-marker.png') no-repeat top center;
    }

    .contactInfo a {
        color: #fff;
    }

    .contactInfo .telephone {
        background: url('../images/i-phone.png') no-repeat top center;
    }

    .contactInfo .fax {
        background: url('../images/i-fax.png') no-repeat top center;
    }

    .contactInfo .email {
        background: url('../images/i-mail.png') no-repeat top center;
    }

    .contactInfo .telephone,
    .contactInfo .fax,
    .contactInfo .email,
    .contactInfo .address {
        font-size: 18px;
        font-weight: 900;
        color: #fff;
        text-align: center;
        padding-top: 105px;
        margin-bottom: 20px;
    }

        .contactInfo .telephone span,
        .contactInfo .fax span,
        .contactInfo .address span,
        .contactInfo .email span {
            font-weight: 300;
            display: block;
        }

#footer {
    background-color: #2b2b2b;
    padding: 37px 0;
}

    #footer .navbar ul li a {
        display: block;
        color: #fff;
        padding: 10px 20px;
    }

    #footer img {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

        #footer img:first-child {
            margin-bottom: 15px;
        }

    #footer .divider {
        margin: -15px 30px;
        width: 1px;
        height: 76px;
        display: none;
        background-color: #fff;
        vertical-align: middle;
    }

#footerBottom {
    background-color: #121212;
    color: #FEFEF2;
    font-size: 12px;
    text-align: center;
    padding: 40px 0;
}

    #footerBottom a {
        color: #FEFEF2;
        text-decoration: underline;
    }

.btn-fill {
    border-radius: 50px;
    font-size: 16px;
    padding: 3px;
    min-width: 210px;
}

.btn-rounded {
    font-size: 16px;
    border-radius: 50px;
    padding: 8px 32px;
    min-width: 155px;
    -webkit-transition: .5s all ease-in-out;
    -o-transition: .5s all ease-in-out;
    transition: .5s all ease-in-out;
}

.themeOrange {
    background-color: #00aeef;
    color: #fff;
}

    .themeOrange:hover {
        background-color: #414042;
        color: #fff;
    }

    .themeOrange span {
        background-color: #00aeef;
        display: block;
        border: 2px solid #fff;
        border-radius: 25px;
        padding: 13px;
        line-height: 16px;
        -webkit-transition: .5s all ease-in-out;
        -o-transition: .5s all ease-in-out;
        transition: .5s all ease-in-out;
    }

    .themeOrange:hover span {
        background-color: #414042;
        color: #fff;
    }

.themeGrey {
    background-color: #d1d1d1;
    color: #00aeef;
}

    .themeGrey span {
        background-color: #fff;
        display: block;
        border: 2px solid #00aeef;
        border-radius: 25px;
        padding: 13px;
        line-height: 16px;
        -webkit-transition: .5s all ease-in-out;
        -o-transition: .5s all ease-in-out;
        transition: .5s all ease-in-out;
    }

    .themeGrey:hover span {
        background-color: #414042;
        color: #fff;
    }

.lgText {
    font-size: 18px;
    font-weight: 900;
}

@media (max-width: 767px) {
}

@media (max-width:576px) {
    body {
        margin-top: 143px;
    }
}

@media(min-width: 576px) {
    #header .navbar {
        padding-left: 0;
        padding-right: 0;
    }

    #footer {
        background-image: url('../images/iso-9001.jpg');
        background-repeat: no-repeat;
        background-position: right center;
    }
}

@media (min-width: 768px) {
    #footer img {
        display: inline-block;
    }

        #footer img:last-child {
            margin-bottom: -15px;
        }

        #footer img:first-child {
            margin-bottom: 0;
        }

    #footer .divider {
        display: inline-block;
    }
}

@media(max-width:991px) {
    #header .menu {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: rgba(42, 42, 42, 0.80);
        height: 100% !important;
        z-index: 9;
        max-height: none;
    }

    #header .navbar-nav {
        position: absolute;
        top: 100px;
        left: 0;
        right: 0;
    }

    #header ul.navbar-nav li a {
        font-size: 16px;
        text-align: center;
    }

    #header .btn.close {
        color: #fff;
        font-size: 24px;
        padding: 6px 10px;
        border: 2px solid #fff;
        margin: 20px;
        z-index: 9;
        opacity: 1;
        border-radius: 2px;
    }
}

@media (min-width: 768px) {
    .whatwedoList .item:after {
        top: 35px;
        right: 0;
        left: auto;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }

    .whatwedoList .item:nth-child(even):after {
        display: none;
    }

    .productList .item {
        padding: 0 50px 100px 50px;
    }
}

@media (min-width: 992px) {
    #header .headerLeft {
        text-align: left;
    }

    #header .headerRight .btn:hover {
        background-color: #00aeef;
    }

    #contentArea {
        padding: 80px 0 0 0;
    }

    #animation .animationText {
        padding-top: 40px;
    }

    #animation .heading {
        font-size: 36px;
    }

    .whatwedoList .item:nth-child(even):after {
        display: block;
    }

    .whatwedoList .item:nth-child(3n):after,
    .whatwedoList .item:last-child:after {
        display: none;
    }

    #quoteSection .col {
        width: 87.57%;
        margin: 0 auto;
    }

    #newsSection .bg-white {
        padding: 100px 30px 50px 30px;
    }

    #contentArea .main {
        margin-left: -30px;
        margin-right: -30px;
    }

    #contentArea .main {
        padding: 50px 0 100px 0;
    }

    #contentArea .contentLeft,
    #contentArea .contentRight {
        padding-left: 30px;
        padding-right: 30px;
    }

    .testimonialSlider .slick-prev {
        left: -50px;
    }

    .testimonialSlider .slick-next {
        right: -50px;
    }
}

@media (min-width: 1200px) {
    body {
        margin-top: 84px;
    }

    #header ul li a {
        font-size: 16px;
    }

    #header .headerRight span {
        line-height: 22px;
    }

    #animation .heading {
        font-size: 42px;
    }

    #animation .animationText .animationTextList {
        margin-left: -50px;
        margin-right: -50px;
    }

    #animation .animationText .col {
        padding-left: 50px;
        padding-right: 50px;
    }

    .whatwedoList .item:nth-child(3n):after {
        display: block;
    }

    .whatwedoList .item:nth-child(4n):after {
        display: none;
    }

    #quoteSection .sectionTitle,
    #newsSection .sectionTitle {
        top: 0;
    }
}

@media(min-width: 1600px) {
    .container {
        max-width: 1400px;
    }

    #header .headerRight span {
        line-height: 44px;
    }

    #header .headerCentre {
        text-align: center;
    }

    #header .headerRight .btn {
        padding: 10px 20px;
        font-size: 16px;
    }

    #header .headerRight span {
        padding-left: 50px;
    }

    .col-xxl-3 {
        -ms-flex: 0 0 25%;
        -webkit-box-flex: 0;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xxl-6 {
        -ms-flex: 0 0 50%;
        -webkit-box-flex: 0;
        flex: 0 0 50%;
        max-width: 50%;
    }

    #animation .animationText {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    #animation .heading {
        font-size: 48px;
    }

    .testimonialSlider .slick-prev {
        left: -100px;
    }

    .testimonialSlider .slick-next {
        right: -100px;
    }
}

@media (min-width: 1920px) {
    #animation {
        height: 765px;
    }

        #animation .animationText {
            padding-top: 100px;
        }
}

.cookieLaw {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 500;
    color: White !important;
    font-size: 12px !important;
    background-color: rgba(112, 112, 112, 0.9);
    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;
}

:root {
    --eu-navy: #0a1f38;
    --eu-navy-dark: #0a1f38;
    --eu-blue: #00aeef;
    --eu-grey-mid: #55606b;
    --eu-grey-light: #f4f6f8;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 1rem;
}

.gap-4 {
    gap: 1.5rem;
}

.ratio-21x9 {
    padding-top: 42.85%;
}

.ratio-265x73 {
    padding-top: 27.54%;
}

    .ratio-265x73 img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }

/* ---------------- HERO ---------------- */

#heroSection {
    position: relative;
    padding: 70px 50px 50px 50px;
    overflow: hidden;
    background: #fff;
}

    #heroSection .heroBg {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        background-image: url('/images/eurosource-bg.png');
        background-size: cover;
        background-position: center;
        z-index: 0;
    }

    #heroSection .heroOverlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, #fff 40%, rgba(255,255,255,0) 100%);
        z-index: 1;
    }

    #heroSection .row {
        position: relative;
        z-index: 2;
    }

    #heroSection .heroLeft .heading {
        font-size: 4rem;
        font-weight: 900;
        text-transform: uppercase;
        line-height: 1;
        letter-spacing: -0.01em;
        margin-bottom: 20px;
    }

        #heroSection .heroLeft .heading .line1 {
            display: block;
            color: var(--eu-navy);
        }

        #heroSection .heroLeft .heading .line2 {
            display: block;
            color: var(--eu-blue);
        }

        #heroSection .heroLeft .heading .line3 {
            display: block;
            color: var(--eu-navy);
        }

    #heroSection .heroDivider {
        width: 60px;
        height: 4px;
        background: var(--eu-blue);
        margin-bottom: 20px;
    }

    #heroSection .heroLeft .introduction {
        font-size: 1.05rem;
        color: var(--eu-grey-mid);
        max-width: 480px;
    }

    #heroSection .badge40Years {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 200px;
        height: 200px;
        border-radius: 50%;
        background: var(--eu-navy);
        border: 8px solid var(--eu-blue);
        color: #fff;
        margin-left: auto;
        margin-bottom: 30px;
        text-align: center;
        position: relative;
    }

        #heroSection .badge40Years:before {
            content: "";
            border: 3px solid white;
            position: absolute;
            top: -8px;
            left: -8px;
            right: -8px;
            bottom: -8px;
            border-radius: 50%;
        }

        #heroSection .badge40Years:after {
            content: "";
            border: 2px solid white;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 50%;
        }

        #heroSection .badge40Years .badgeNum {
            font-size: 2.5rem;
            font-weight: 900;
            line-height: 1;
        }

        #heroSection .badge40Years .badgeLabel {
            font-size: 1rem;
            font-weight: 700;
            letter-spacing: 0.05em;
        }

        #heroSection .badge40Years .badgeText {
            font-size: .8rem;
            letter-spacing: 0.03em;
            margin-top: 2px;
        }

        #heroSection .badge40Years .badgeStars {
            color: var(--eu-blue);
            font-size: 1rem;
            margin-top: 4px;
        }

    #heroSection .heroPromise {
        max-width: 300px;
    }

    #heroSection .promiseItem .promiseRight {
        padding-top: 15px;
        padding-left: 10px;
        padding-bottom: 15px;
        border-left: 1px solid var(--eu-navy);
    }

    #heroSection .promiseItem .promiseImage {
        flex: 0 0 auto;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: var(--eu-navy);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--eu-navy);
        padding: 5px;
        margin-top: 10px;
    }

    #heroSection .promiseItem h4 {
        display: block;
        font-size: 1.1rem;
        margin-bottom: 0;
        color: var(--eu-navy);
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }

    #heroSection .promiseItem p {
        margin-bottom: 0;
    }

/* ---------------- STATS BAR ---------------- */

#statsBar {
    background: var(--eu-navy);
    padding: 30px;
}

    #statsBar .statItem {
        padding: 10px 20px;
        color: #fff;
        border-right: 1px solid rgba(255,255,255,0.2);
    }

        #statsBar .statItem:last-child {
            border-right: none;
        }

    #statsBar .statIcon {
        width: 90px;
        height: 90px;
        border-radius: 50%;
        border: 2px solid var(--eu-blue);
        padding: 5px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #statsBar h4 {
        padding-top: 10px;
        font-size: 1.2rem;
        font-weight: 700;
        letter-spacing: 0.02em;
        margin-bottom: 6px;
        text-transform: uppercase;
    }

    #statsBar p {
        color: white;
        margin-bottom: 0;
    }

/* ---------------- HOME AREA (Deliver / Industries) ---------------- */

#homeArea {
    padding: 50px;
}

    #homeArea > .row {
        margin-left: -25px;
        margin-right: -25px;
    }

        #homeArea > .row > .col-lg-6 {
            padding-left: 25px;
            padding-right: 25px;
        }

    #homeArea .sectionTitle {
        color: var(--eu-navy);
        font-weight: 700;
        text-transform: uppercase;
        font-size: 1.4rem;
        display: inline-block;
        margin-bottom: 24px;
    }

    #homeArea .whatwedeliverList .item {
        gap: 12px;
        padding: 14px 10px;
        border-right: 1px solid #e5e8ec;
        border-bottom: 1px solid #e5e8ec;
    }

    #homeArea .whatwedeliverList h3 {
        font-size: 1rem;
        font-weight: 700;
        color: var(--eu-navy);
        text-transform: uppercase;
        margin-bottom: 2px;
    }

    #homeArea .whatwedeliverList p {
        margin-bottom:5px;
    }

    #homeArea .whatwedeliverList p:last-of-type {
        margin-bottom: 0;
    }

.industriesWrap {
    align-items: stretch;
}

.industriesImages {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.industryImg {
    flex: 1;
    overflow: hidden;
    border-radius: 3px;
}

    .industryImg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

.industriesWrap .industry:not(:last-child) {
    border-bottom: 1px solid #e5e8ec;
}

#homeArea .industriesWrap .industry h4 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--eu-navy);
    text-transform: uppercase;
    margin-bottom: 0;
}

/* ---------------- PROCESS ---------------- */

#processSection {
    background: var(--eu-grey-light);
    padding: 50px;
}

    #processSection .sectionTitle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        color: var(--eu-navy);
        font-size: 1.4rem;
        font-weight: 700;
        text-transform: uppercase;
        margin-bottom: 10px;
    }

        #processSection .sectionTitle:before,
        #processSection .sectionTitle:after {
            content: "";
            flex: 1;
            height: 2px;
            background: var(--eu-navy);
        }

    #processSection .process-wrap {
        border: 1px solid var(--eu-navy);
        border-radius: 25px;
    }

    #processSection .processStep {
        padding: 20px 30px;
        position: relative;
    }

    #processSection .stepNum {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--eu-blue);
        color: #fff;
        font-weight: 900;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 10px;
        font-size: 1.2rem;
    }

    #processSection .chevron {
        position: absolute;
        top: 0;
        right: -15px;
        width: 50px;
        height: 100%;
        background: url('/images/eu-chevron.png') no-repeat center center;
        background-size: contain;
    }

    #processSection .processStep .chevron {
        display: none;
    }

    #processSection h4 {
        font-size: 1.2rem;
        font-weight: 800;
        color: var(--eu-navy);
        margin-bottom: 6px;
        text-transform: uppercase;
    }

    #processSection p {
        margin-bottom: 0;
    }

/* ---------------- CTA BANNER ---------------- */

#ctaBanner {
    background: var(--eu-navy-dark);
    color: #fff;
    padding: 50px 15px;
}

    #ctaBanner h2 {
        font-size: 3rem;
        font-weight: 900;
        text-transform: uppercase;
        margin-bottom: 6px;
    }

    #ctaBanner .text-blue {
        color: var(--eu-blue);
    }

    #ctaBanner .ctaTag {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 30px;
        color: #fff;
        font-size: 1.5rem;
        line-height: 1;
    }

        #ctaBanner .ctaTag:before,
        #ctaBanner .ctaTag:after {
            content: "";
            width: 200px;
            height: 1px;
            background: rgba(255, 255, 255, 0.5);
        }

@media (max-width: 768px) {
    #ctaBanner .ctaTag {
        gap: 15px;
        font-size: 1.1rem;
    }

        #ctaBanner .ctaTag:before,
        #ctaBanner .ctaTag:after {
            width: 80px;
        }
}

#ctaBanner .ctaContactRow .col-auto {
    padding: 6px 24px;
    font-size: 0.95rem;
}

#ctaBanner .ctaContactRow i {
    color: white;
    margin-right: 8px;
    border-radius: 50%;
    height: 50px;
    width: 50px;
    border: 1px solid var(--eu-blue);
    font-size: 1.5rem;
    line-height: 50px;
    text-align: center;
    padding: 0;
}

#quoteSection .bg-orange {
    padding: 50px 0;
}

#quoteSection .sectionTitle {
    top: 0;
    margin-bottom: 30px;
}

.quoteInfo {
    padding-top: 0;
}

/* ---------------- RESPONSIVE ---------------- */

@media (max-width: 991.98px) {
    #heroSection {
        text-align: center;
    }

        #heroSection .heroDivider {
            margin-left: auto;
            margin-right: auto;
        }

        #heroSection .promiseItem {
            text-align: left;
        }

        #heroSection .heroLeft .introduction {
            margin: 0 auto;
        }

        #heroSection .heroBg {
            width: 100%;
            opacity: 0.15;
        }

        #heroSection .heroOverlay {
            display: none;
        }

        #heroSection .heroLeft .heading .line1,
        #heroSection .heroLeft .heading .line2,
        #heroSection .heroLeft .heading .line3,
        #ctaBanner h2 {
            font-size: 2.2rem;
        }

        #heroSection .badge40Years {
            margin: 0 auto 30px;
        }

    #heroSection,
    #homeArea,
    #processSection {
        padding-left: 25px;
        padding-right: 25px;
    }

        #processSection .processStep .chevron {
            display: none;
        }

    #statsBar {
        padding-left: 0;
        padding-right: 0;
    }

        #statsBar .statItem {
            border-right: none;
        }

            #statsBar .statItem:not(:nth-child(3), :last-child) {
                border-bottom: 1px solid rgba(255,255,255,0.2);
            }

    .industriesWrap {
        flex-direction: column;
    }

    .industriesImages, .industriesList {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
}

@media (max-width: 767.98px) {
    #heroSection {
        text-align: center;
        padding: 40px 15px;
    }

        #heroSection .heroLeft .heading .line1,
        #heroSection .heroLeft .heading .line2,
        #heroSection .heroLeft .heading .line3 {
            font-size: 1.8rem;
        }

    #ctaBanner h2 {
        font-size: 1.5rem;
    }

    #statsBar .statIcon {
        margin: 0 auto;
    }

    #ctaBanner .ctaContactRow .col-auto {
        padding: 6px 10px;
        font-size: 0.8rem;
    }

    #statsBar .statItem {
        text-align: center;
    }

        #statsBar .statItem:not(:last-child) {
            border-bottom: 1px solid rgba(255,255,255,0.2);
        }
}

@media(min-width: 1600px) {
    .col-xxl-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    #processSection .processStep:not(:last-child) .chevron {
        display: block;
    }
}