﻿body {
    font-family: "Nunito Sans";
    font-weight: 400;
    font-size: 15px;
    color: #333;
}
/*Common*/
img {
    max-width: 100%;
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}

.transition {
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}
a {
    text-decoration: none;
    color: #ef1c24;
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}
.form-control {
    font-size:14px;
}
.text-justify {
    text-align:justify;
}
.bg-gray {
    background-color: #dadada;
}
.text-danger {
    color:#ef1c24;
}
.btn-danger {
    background-color:#ef1c24;
}
.btn {
    position:relative;
    overflow:hidden;
}
    .btn:after,
    .btn:before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
    }
    .btn:after {
        content: "";
        position: absolute;
        background-color: #ef1c24;
        width: 0;
        left: 0;
        top: 0;
        bottom: 0;
        -webkit-transition: all 450ms ease;
        -moz-transition: all 450ms ease;
        -ms-transition: all 450ms ease;
        -o-transition: all 450ms ease;
        transition: all 450ms ease;
    }
    .btn:hover {
        background:none;
        border-color:transparent;
        color:#fff;
    }
        .btn:hover:after {
            width: 100%;
        }
    .btn span {
        z-index:10;
    }
    button.btn:hover {
        background-color:rgb(239 28 36 / 0.8);
    }
.slick-slide {
    margin: 0 1rem;
}

.slick-list {
    margin: 0 -1rem;
}

.slick-dots {
    bottom: -50px;
}

    .slick-dots li {
        width: 20px;
        height: 4px;
        background-color: #fff;
    }

        .slick-dots li.slick-active {
            background-color: #da251c;
        }
.slick-prev,
.slick-next {
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
    display:flex;
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    background-color:#f2f3f4;
    z-index:999;
}
    .slick-prev {
        justify-content:flex-end;
        left:0;
    }
    .slick-next {
        right:0;
    }
    .slick-prev:before,
    .slick-next:before {
        color: #333;
        font-size: 2rem;
    }
.back-to-top {
    position:fixed;
    right:15px;
    bottom:-60px;
}
    .back-to-top.active {
        bottom:15px;
    }
.back-to-top i {
    font-size:48px;
    color:#ef1c24;
}
    .back-to-top:hover {
        cursor:pointer;
        bottom:20px;
    }
.fancybox-content {
    padding: 0;
}

.fancybox-content,
.fancybox-is-open .fancybox-stage {
    overflow: initial;
}

.fancybox-slide--html .fancybox-close-small {
    top: -44px;
    color: #fff;
    padding: 0;
}

.blockquote {
    padding: 1rem 1rem 1rem 2rem;
    background-color: #e2e3e4;
    border-left: 4px solid #ef1c24;
    font-size: 1rem;
    font-style: italic;
}

.mcs-horizontal {
    overflow-x: auto;
    white-space: nowrap;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:hover {
    background-color: #5f5f61;
}
.mcs-horizontal .mCSB_container > * {
    display: inline-block;
}
.mCSB_horizontal.mCSB_inside > .mCSB_container {
    margin-bottom:15px;
}
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail,
.mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar, .mCS-dark-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: auto;
}
.nav-tab li > a {
    background-color: #dadada;
    color: #ef1c24;
    padding-left: 30px;
    padding-right: 30px;
    text-transform: uppercase;
}
.nav-tab li.active > a {
    background-color:#ef1c24;
    color:#fff;
    
}
.nav-tab li + li {
    margin-left:15px;
}
.page-item.active .page-link {
    background-color:#ef1c24;
    border-color:#ef1c24;
}
/*Header*/
.company-name {
    font-size: 2rem;
    font-weight: 900;
    color: #ef1c24;
}
.company-slogan {
    font-weight:900;
    font-size:1rem;
}
.language ul.nav > li > a {
    padding: 0 10px;
    text-decoration: none;
    display: flex;
    align-items: center;
    color:#333;
}
    .language ul.nav > li > a:hover {
        color: #da251c;
    }
    .language ul.nav > li > a img {
        margin-right:5px;
    }
.search a {
    text-decoration: none;
}
    .search a i {
        transition: all 0.3s cubic-bezier(.25,.8,.25,1);
    }
    .search a:hover {
        background-color: #da251c;
    }
        .search a:hover i {
            color: #fff;
        }

/*Mainnav*/
#sticky-wrapper {
    z-index: 9999;
}
.is-sticky .mainnav {
    border-top:0!important;
    border-bottom: 1px solid #dee2e6;
}
.mainnav {
    background-color: #fff;
}
.mainnav ul.nav > li > a {
    display: flex;
    align-items: center;
    padding: 10px 28px;
    font-size: 1.1rem;
    font-weight: 900;
    text-transform: uppercase;
    color: #333;
}
    .mainnav ul.nav > li > a > i {
        font-size:1.3rem;
        margin-right:5px;
        margin-top:-3px;
    }
.mainnav ul.nav > li.active:hover > a,
.mainnav ul.nav > li.active > a {
    background-color:#ef1c24;
    color:#fff;
}
.mainnav ul.nav > li:hover > a {
    background-color:#e2e3e4;
}
    .mainnav ul.nav > li.dropdown {
        font-family: "Font Awesome 5 Pro";
    }
        .mainnav ul.nav > li.dropdown:before {
            content: "\f107";
            position:absolute;
            right:10px;
            top:50%;
            transform:translateY(-50%);
            color:#5f5f61;
        }
    .mainnav ul.nav > li.active.dropdown:before {
        color:#fff;
    }
        .mainnav ul.nav > li.dropdown a {
            font-family: "Nunito Sans";
        }
    .mainnav ul.dropdown-menu {
        padding: 0;
        z-index: 999;
        top: 110%;
        box-shadow: none;
        border: 0;
        left: -9999px;
        opacity: 0;
        display: block;
        -webkit-transition: opacity .3s ease,top .25s ease;
        -moz-transition: opacity .3s ease,top .25s ease;
        -ms-transition: opacity .3s ease,top .25s ease;
        -o-transition: opacity .3s ease,top .25s ease;
        transition: opacity .3s ease,top .25s ease;
        margin-top: 0;
        border-radius: 0;
    }
        .mainnav ul.dropdown-menu > li > a {
            display:block;
            padding:.5rem 28px;
            font-weight:600;
            font-size:1.2rem;
            color:#5f5f61;
        }
        .mainnav ul.dropdown-menu > li + li {
            border-top:1px solid #e2e3e4;
        }
        .mainnav ul.dropdown-menu > li:hover > a {
            background-color:#f3f4f5;
            color:#ef1c24;
        }
    .mainnav ul.nav > li.dropdown:hover>ul.dropdown-menu {
        left:0;
        top:100%;
        opacity:1;
    }
/*Slideshown*/
.slideshow .slide-item {
    z-index: 99 !important;
}
.slideshow .slick-dots {
    left: 7%;
    width: auto;
    bottom: 40px;
    text-align: left;
    margin-bottom:0;
}
.slideshow .slick-slide {
    margin: 0;
}

.slideshow .slick-list {
    margin: 0;
}
/*Content*/
.main-title {
    padding-left: 10px;
    border-left: 5px solid #ef1c24;
}

    .main-title span {
        display:block;
        line-height:12px;
        font-size:1.1rem;
    }

    .main-title h2 {
        color: #5f5f61;
        font-weight: 900;
        line-height: 36px;
    }
    .main-title h1 {
        font-size:22px;
    }
/*About index*/
.about-index {
    min-height:550px;
}
.about-title {
    padding-left:10px;
    border-left:5px solid #ef1c24;
}
    .about-title span {
        color: #ef1c24;
        font-family: "Dosis";
    }
    .about-title h2 {
        color: #5f5f61;
        font-weight:900;
        line-height:21px;
    }
.about-left .about-body {
    font-size:16px;
}
.viewmore a {
    font-size:16px;
    font-style:italic;
    position:relative;
    display:inline-block;
}
    .viewmore a:after {
        content: "";
        position: absolute;
        right: -90px;
        top: 50%;
        transform: translateY(-50%);
        width: 80px;
        height: 3px;
        background-color: #ef1c24;
        transition: all 0.3s cubic-bezier(.25,.8,.25,1);
        z-index: -1;
    }
    .viewmore a:hover {
        color:#fff;
        padding-left:20px;
    }
        .viewmore a:hover:after {
            background-color: #ef1c24;
            width: auto;
            height: 40px;
            top: -10px;
            bottom: -10px;
            left: 5px;
            right: -15px;
            -moz-transform: skewX(-15deg);
            -webkit-transform: skewX(-15deg);
            -o-transform: skewX(-15deg);
            -ms-transform: skewX(-15deg);
            transform: skewX(-15deg);
        }
.about-right {
    top: -90px;
    z-index: 999;
    border-radius: .5rem !important;
}
.about-right-header {
    background-color: #ef1c24;
    color: #fff;
    border-top-left-radius: .5rem !important;
    border-top-right-radius: .5rem !important;
}
.about-right-header h3 {
    font-weight:700;
}
.about-right-header a:hover {
    color:#ffd800;
}
.about-right-body {
    border-bottom-left-radius: .5rem !important;
    border-bottom-right-radius: .5rem !important;
}
.news-index-item {
    background-color: #dadada;
}
    .news-index-item + .news-index-item {
        margin-top:15px;
    }
.news-index-item:hover {
    background-color:#e3e4e5;
}
    .news-index-item:hover a {
        color:#ef1c24;
    }

/*Highlight*/
.highlight {
    background: url(../images/bg-highlight.jpg) no-repeat center;
    background-size:cover;
    color:#fff;
}
@media screen and (min-width: 768px) {
    .highlight {
        min-height: 400px;
    }
}
.highlight-item {
    font-family: "Dosis";
}
.highlight-title {
    font-size: 2rem;
    font-weight: 700;
}
.highlight-caption {
    font-size: 1.1rem;
}

/*Service*/
.service-item:nth-child(odd) .row {
    flex-direction:row-reverse;
}
.service-item .service-caption {
    padding-left: 1.5rem;
}
.service-item:nth-child(odd) .service-caption {
    padding-left: 0;
    padding-right: 1.5rem;
}
.service-item:hover img {
    opacity:.7;
}
.service-title a {
    font-weight: 900;
}
/*Contact*/
.contact-box {
    background: url(../images/bg-contact.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
    .contact-box h3 {
        font-weight:700;
    }
    .contact-box a.btn:hover {
        border-color:#ffd800;
    }
    /*News*/
    .news-index-item:hover img {
        opacity: .7;
    }
.news-item:hover {
    background-color: #f2f3f4;
}
.news-title {
    color:#5f5f61;
    font-weight:900;
    position:relative;
    padding-bottom:.5rem;
}
.news-title:before {
    content:"";
    width:30px;
    height:4px;
    background-color:#ef1c24;
    position:absolute;
    left:0;
    bottom:0;
}
.news-item:hover .news-title {
    color:#ef1c24;
}
.news-item-2 .d-flex {
    flex-direction: column;
}
.news-item-2 a.btn {
    align-self:flex-start;
}
/*Project*/
.project-item:hover img {
    opacity:.7;
}
.project-item .card-title {
    font-weight: 900;
}
.project-caption {
    opacity:0;
    background-color:rgb(239 28 36 / 0.8);
}
.project-title {
    left: 15px;
    bottom: 10px;
    right: 15px;
    color: #fff;
    border-left: 4px solid #ef1c24;
    padding-left: 10px;
    font-weight: 900;
    text-shadow: 2px 4px 3px rgba(0,0,0,0.3);
}
.project-item-2:hover .project-title {
    opacity:0;
}
.project-item-2:hover .project-caption {
    opacity: 1;
    color: #fff;
}
.project-caption {
    color: #fff;
}
.project-caption .project-title-2 {
    border-left: 4px solid #fff;
    padding-left: 10px;
    font-weight: 900;
    color: #fff;
}
.project-caption a {
    color:#fff;
}
    .project-caption a:hover {
        color:#ffd800;
    }
/*Partner*/
.partner-items {
    padding: 0 3rem;
}
.partner-item:hover img {
    filter: grayscale(100%);
}

/*Footer*/
.footer-form h5,
.company-info h4 {
    font-weight: 900;
}
.company-info p {
    font-size:1.1rem;
    margin-bottom:0;
}

/*Library*/
.library-tag {
    border-left:4px solid #ef1c24;
    padding-left:.8rem;
    font-weight:bold;
    color:#5f5f61;
}

/*Breadcrumb*/
.breadcrumb-wrapper {
    background: url(../images/bg-breadcrumb.jpg) no-repeat center;
    background-size:cover;
}
.breadcrumb-wrapper h1 {
    font-weight:900;
    color:#fff;
}

/*Page content*/
.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.popup h1,
.popup h2,
.popup h3,
.popup h4,
.popup h5 {
    font-weight: 900;
}
.page-share a.btn:hover {
    background-color:#ef1c24;
    border-color:#ef1c24;
    color:#fff!important;
}
#form h2 {
    font-weight:900;
}
/*Responsive*/
.btn-menu-mobile {
    font-size: 2rem;
    font-weight: 900;
    text-transform: uppercase;
}
.mm-menu {
    height: 100% !important;
    background: url(../images/bg-contact.jpg) no-repeat center;
    background-size:cover;
}
.mm-menu .mm-navbar a, .mm-menu .mm-navbar>* {
    color:#fff;
}
.mm-menu .mm-btn:after, .mm-menu .mm-btn:before {
    border-color:#ffd800;
}
.mm-listview > li > a, .mm-listview > li > span {
    color:#fff;
    font-size:1.5rem;
    font-weight:900;
    text-transform:uppercase;
    padding-top:25px;
    padding-bottom:25px;
}
.mm-listview > li:not(.mm-divider):after {
    border-color:#f3f4f5;
}
.mm-listview > li, .mm-listview > li .mm-next, .mm-listview > li .mm-next:before, .mm-listview > li:after {
    border-color: #f3f4f5;
}
.mm-menu .mm-listview > li .mm-arrow:after, .mm-menu .mm-listview > li .mm-next:after {
    border-color: #f3f4f5;
}
@media screen and (min-width: 1379px) {
    .fancybox-content {
        width:80%;
    }
}
@media screen and (max-width: 1378px) {
    h2 {
        font-size: 1.6rem;
    }
    h4 {
        font-size: 1.3rem;
    }
    .company-name {
        font-size:1.6rem;
    }
    .mainnav ul.nav > li > a {
        padding:10px 17px;
    }
}
@media screen and (max-width: 1024px) {
    .h2, h2 {
        font-size: calc(1.325rem + .9vw);
    }
    .h3, h3 {
        font-size: calc(1.0rem + .6vw);
    }

    .company-name {
        font-size: 1.4rem;
    }

    .company-slogan {
        font-size: .8rem;
    }

    .language ul.nav > li > a {
        padding:0 4px;
    }

    .mainnav ul.nav > li > a {
        padding: 10px 15px;
        font-size: 0.9rem;
    }

    .mainnav ul.nav > li.dropdown:before {
        right:0;
    }

    .slideshow .slick-slide img {
        height: 450px;
    }
    .about-index {
        min-height: 580px;
    }
    .news-index-item a {
        padding-top: 20px;
    }

    .about-right {
        top: -82px;
    }
    .highlight-caption {
        line-height:1.6;
    }
    .main-title span {
        line-height:1.6;
    }
}
@media screen and (max-width: 768px) {
    .logo.text-center {
        text-align:left!important;
    }
    .slideshow .slick-slide img {
        height: 350px;
    }
    .about-right {
        position:static!important;
        margin-top:25px;
    }
    .highlight-title {
        text-align:center;
        display:flex;
        flex-direction:column;
        align-items:center;
    }
    .highlight-title img {
        margin-right:0!important;
        width:82px;
    }
    .service-item + .service-item {
        margin-top:2rem;
    }
    .service-item .service-caption {
        padding-left: 0;
        padding-right: 0;
    }
    .contact-box h3 {
        margin-top:0.8rem;
    }
    .page-share .col-lg-9 {
        margin-top:10px;
    }
}
@media screen and (max-width: 767px) {
    .fancybox-slide--html .fancybox-close-small {
        top:0;
        color:#333;
    }
    .mainnav-mobile-sticky {
        display: none;
    }
    .is-sticky .mainnav-mobile-sticky {
        display:block!important;
    }
    .btn-menu-mobile {
        font-size: 1.5rem;
    }
    .mm-listview > li > a, .mm-listview > li > span {
        font-size: 1.2rem;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .language ul.nav > li > a img {
        margin-right: 0px;
    }
    .slideshow .slick-dots {
        bottom:15px;
    }
    .slideshow .slick-slide img {
        height: 200px;
    }
    .news-index-item a {
        padding-top: 0px;
    }
    .highlight .row.g-5 {
        --bs-gutter-x: 0rem;
    }
    .contact-box h3 {
        line-height:1.6;
    }
    .contact-box a {
        width: 100%;
        margin-top: 15px;
    }
    .project-items .slick-list {
        margin: 0;
    }
    .project-items .slick-slide {
        margin:0;
    }
    .company-info {
        text-align: center;
    }
    .company-info h4 {
        font-size: 1.2rem;
    }
    .footer-form {
        margin-top: 15px;
        text-align:center;
    }
        .footer-form .nav {
            justify-content:center;
        }
    .page-share .col-md-8 {
        margin-top:.8rem;
        flex-direction:column;
        align-items:flex-start!important;
    }
    .page-share a {
        width:100%;
        margin-left:0!important;
        text-align:center;
        justify-content:center;
    }
    .page-share .col-lg-9 {
        flex-direction:column;
        align-items:flex-start!important;
    }
    .page-share a + a {
        margin-top:5px;
    }
    .news-content {
        margin-top:1.5rem;
    }
    .news-content a.btn {
        width:100%;
    }
    .news-item-2 .col-md-4 {
        text-align:center;
    }
}