/* ========================== body fonts ====================== */
/* cyrillic-ext */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRggqxSuXd.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRggOxSuXd.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRggSxSuXd.woff2) format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* vietnamese */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRggixSuXd.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRggmxSuXd.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/manrope/v15/xn7gYHE41ni1AdIRggexSg.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* ======================== bootstrap icons ========================= */
@font-face {
    font-family: "bootstrap-icons";
    src        : url("../fonts/bootstrap-icons.woff2?524846017b983fc8ded9325d94ed40f3") format("woff2"),
        url("../fonts/bootstrap-icons.woff?524846017b983fc8ded9325d94ed40f3") format("woff");
    font-display: swap;
}

.bi::before,
[class^="bi-"]::before,
[class*=" bi-"]::before {
    display                : inline-block;
    font-family            : bootstrap-icons !important;
    font-style             : normal;
    font-weight            : normal !important;
    font-variant           : normal;
    text-transform         : none;
    line-height            : 1;
    vertical-align         : -.125em;
    -webkit-font-smoothing : antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.bi-search::before {
    content: "\f52a";
}

.bi-arrow-right::before {
    content       : "\f138";
    vertical-align: middle;
}

.bi-star-fill::before {
    content: "\f586";
}

/* ======================== typography ========================= */

body {
    font-family: "Manrope", sans-serif;
    color      : #7d7987;
    font-size  : 18px;
    line-height: 26px;
}

h1 {
    font-size  : 26px;
    line-height: 32px;
}

h2 {
    font-size  : 22px;
    line-height: 28px;
}

h3 {
    font-size  : 20px;
    line-height: 26px;
}

h4,
h5,
h6 {
    font-size  : 18px;
    line-height: 24px;
}

h2:after {
    position        : absolute;
    content         : "";
    left            : 50%;
    transform       : translate(-50%, 0);
    bottom          : -20px;
    width           : 124px;
    height          : 3px;
    border-radius   : 5px;
    background-color: #cc3300;
}

.bg-blue {
    background: #085490;
}

.bg-red {
    background: #cc3300;
}

.text-blue {
    color: #085490;
}

.text-red {
    color: #cc3300;
}

.text-black {
    color: #000;
}

.bg-light-theme {
    background: #f1f5f6;
}

.ff-medium {
    font-weight: 600;
}

.ff-bold {
    font-weight: 800;
}

/*============================= Header ========================*/
.top-bar p {
    font-size  : 14px;
    line-height: 20px;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.fixed-top {
    box-shadow        : 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    animation-name    : moveHeader;
    animation-duration: 2s;
    background        : #fff;
}



@keyframes moveHeader {
    0% {
        transform: translateY(-100px);
    }

    100% {
        transform: translateY(0px);
    }
}

.navbar-light .navbar-toggler {
    border-color: transparent;
    padding     : 0;
}

.navbar-nav .nav-item {
    border-bottom: 1px solid #ccc;
}

header .container-fluid {
    padding-left : 0 !important;
    padding-right: 0 !important;
}

.fixed-top .nav-link {
    color: #000 !important;
}

header .nav-link:hover {
    color          : #085490 !important;
    text-decoration: underline;
}

.top-phone {
    display: none;
}

/* ================================Banner================================= */
.banner h3 {
    font-size  : 16px;
    line-height: 22px;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    font-weight: 500;
}

.banner a,
.banner button {
    max-width: 230px;
    margin   : auto;
}


.webp .banner {
    background-image: url("../images/banner.webp");
}

.no-webp .banner {
    background-image: url("../images/banner.png");
}

.banner {
    background-repeat    : no-repeat;
    background-size      : cover;
    background-attachment: fixed;
    z-index              : 1;
}

.banner:after {
    position        : absolute;
    content         : '';
    left            : 0;
    top             : 0;
    width           : 100%;
    height          : 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index         : -1;
}



.banner h1 {
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.banner p {
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    font-size  : 16px;
    font-weight: 500;
    line-height: 24px;
}

header .phone a strong:before {
    position   : absolute;
    content    : "\f5b4";
    font-family: bootstrap-icons !important;
    top        : 4px;
    left       : -18px;
    transform  : translate(-50%, -50%);
    font-size  : 14px;
}


.banner .phone a strong:before {
    position   : absolute;
    content    : "\f5b4";
    font-family: bootstrap-icons !important;
    top        : 4px;
    left       : 8px;
    transform  : translate(-50%, -50%);
    font-size  : 14px;
}

.banner .phone a span {
    font-size  : 13px;
    font-weight: 500;
    line-height: 19px;
}

header .phone a {
    padding-left : 2rem;
    padding-right: 2rem;
    font-size    : 13px;
    line-height  : 19px;
    font-weight  : 400;
}



/* ================================ Welcome ================================= */

.welcome .icon-bg {
    width        : 80px;
    height       : 71px;
    line-height  : 71px;
    border-radius: 20px;
}

.welcome .icon-bg-1 {
    box-shadow      : 0 2px 3px rgba(150, 114, 255, 0.02), 0 8px 7px rgba(150, 114, 255, 0.03), 0 20px 13px rgba(150, 114, 255, 0.04), 0 39px 25px rgba(150, 114, 255, 0.04), 0 65px 47px rgba(150, 114, 255, 0.05), 0 100px 80px rgba(150, 114, 255, 0.07);
    background-color: #9672ff;
}

.welcome .icon-bg-2 {
    box-shadow      : 0 2px 3px rgba(77, 223, 253, 0.02), 0 8px 7px rgba(77, 223, 253, 0.03), 0 20px 13px rgba(77, 223, 253, 0.04), 0 39px 25px rgba(77, 223, 253, 0.04), 0 65px 47px rgba(77, 223, 253, 0.05), 0 100px 80px rgba(77, 223, 253, 0.07);
    background-color: #4ddffd;
}

.welcome .icon-bg-3 {
    box-shadow      : 0 2px 3px rgba(242, 184, 236, 0.02), 0 8px 7px rgba(242, 184, 236, 0.03), 0 20px 13px rgba(242, 184, 236, 0.04), 0 39px 25px rgba(242, 184, 236, 0.04), 0 65px 47px rgba(242, 184, 236, 0.05), 0 100px 80px rgba(242, 184, 236, 0.07);
    background-color: #f2b8ec;

}

.welcome h3 {
    font-size  : 22px;
    font-weight: 500;
}

.welcome p {
    font-size  : 15px;
    line-height: 26px;
}

/* ================================ Services ================================= */

.services h5 {
    font-size  : 21px;
    font-weight: 500;
    line-height: 32px;
}

.services p {
    color      : #7d7987;
    font-size  : 16px;
    font-weight: 500;
    line-height: 22px;
}

.services strong {
    font-size  : 17px;
    font-weight: 600;
    line-height: 28px;
}

.services a.services-cta {
    width      : 194px;
    height     : 45px;
    font-size  : 18px;
    font-weight: 500;
    line-height: 45px;
}



/*  =======================   content  =========================    */


/*  =======================   process  =========================    */
.process p {
    font-size  : 22px;
    line-height: 28px;
    font-weight: 500;
}

.process .process-icon {
    width      : 150px;
    height     : 150px;
    line-height: 150px;
    border     : 3px solid #eceef0;
}

.process .process-icon .number {
    top       : 50%;
    left      : 0;
    transform : translate(-50%, -50%);
    background: #fff;
    height    : 68px;
}

.process .process-icon .number strong {
    width      : 50px;
    height     : 50px;
    line-height: 50px;
    margin-top : 10px;
}


/*  ====================      fleet      =========================   */
.fleet h5 {
    font-size  : 22px;
    line-height: 28px;
    font-weight: 500;
}

/*  ====================      customer reviews      =========================   */

.reviews p:before,
.reviews p:after {
    position   : absolute;
    content    : "\f6b0";
    font-family: bootstrap-icons !important;
    font-size  : 34px;
    color      : #ccc;
}

.reviews p:before {
    top : -40px;
    left: 0;
}

.reviews p:after {
    bottom   : -40px;
    right    : 0;
    transform: rotate(180deg);
}

.reviews .reviews-cta {
    width      : 194px;
    height     : 45px;
    font-size  : 18px;
    font-weight: 500;
    line-height: 45px;
}

/*  ====================      gallery      =========================   */
.gallery .gallery-cta {
    width      : 194px;
    height     : 45px;
    font-size  : 18px;
    font-weight: 500;
    line-height: 45px;
}

/*  ====================      long-cta      =========================   */
.long-cta span {
    color      : #f8f8f8;
    font-size  : 20px;
    font-weight: 500;
    line-height: 30px;
}

.long-cta h6 {
    font-size  : 22px;
    line-height: 28px;
    font-weight: 500;
}

.long-cta a {
    width       : 256px;
    height      : 48px;
    padding-left: 60px;
    padding-top : 7px;
}

.long-cta .phone a strong:before {
    position   : absolute;
    content    : "\f5b4";
    font-family: bootstrap-icons !important;
    top        : 50%;
    left       : 20px;
    transform  : translate(0, -50%);
    font-size  : 23px;
}

.long-cta a span {
    font-size  : 12px;
    font-weight: 500;
    line-height: 15px;
}

.long-cta a strong {
    font-size  : 24px;
    font-weight: 500;
    line-height: 15px;
}

.long-cta button {
    font-size  : 24px;
    font-weight: 500;
    line-height: 15px;
}

.long-cta button {
    width : 256px;
    height: 48px;
}

/*  ====================      areas      =========================   */
.areas a {
    font-size  : 18px;
    font-weight: 500;
    line-height: 24px;
}

.areas a:hover,
.services a:hover strong,
.related-services .card a:hover strong {
    color: #cc3300 !important;
}

/* ======================== service page ============================== */
.service-faqs .accordion-button:focus {
    box-shadow: none;
}

.service-faqs .accordion-button:not(.collapsed) {
    background-color: #ffffff;
}

.service-faqs .accordion-button span {
    width         : 58px;
    height        : 58px;
    color         : rgba(60, 60, 67, 0.5);
    font-size     : 26px;
    font-weight   : 700;
    letter-spacing: 0.25px;
    line-height   : 57.6px;
}

.service-faqs .accordion-button strong {
    font-size  : 18px;
    font-weight: 500;
    line-height: 24px;
}

.service-faqs .accordion-body {
    color      : rgba(60, 60, 67, 0.85);
    font-size  : 18px;
    font-weight: 500;
    line-height: 26px;
}

/*  ====================      footer      =========================   */
.webp footer {
    background-image: url("../images/footer-bg.webp");
}

.no-webp footer {
    background-image: url("../images/footer-bg.png");
}

footer {
    background-repeat: no-repeat;
    background-size  : cover;
}

footer p {
    color      : #8c8c8c;
    font-size  : 14px;
    font-weight: 500;
    line-height: 24px;
}



footer .email a:before {
    position   : absolute;
    content    : "\f32c";
    font-family: bootstrap-icons !important;
    top        : 0;
    left       : 0;
    color      : #8c8c8c;
}

footer .phone a:before {
    position   : absolute;
    content    : "\f5b4";
    font-family: bootstrap-icons !important;
    top        : 0;
    left       : 0;
    color      : #8c8c8c;
    font-size  : 18px;
}

footer .phone span,
footer .email span {
    color: #8c8c8c;
}

footer ul li a {
    color      : #4f4f4f;
    font-size  : 14px;
    font-weight: 500;
    padding    : 0.5rem 1rem;
}

.privacy-policy h2 {
    color: #000;
}

.privacy-policy h2::after {
    display: none;
}

.contact-us form .form-control {
    height: 50px;
}

.contact-us .card {
    box-shadow: 0 0 6px rgb(0 0 0 / 25%);
}

.contact-us input.bg-red {
    max-width: 213px;
}

.contact-us .list-group .list-group-item {
    padding-left: 35px;
}

.contact-us li:nth-child(2):after {
    content: "\f5b4";
}

.contact-us li:nth-child(1):after,
.contact-us li:nth-child(2):after,
.contact-us li:nth-child(3):after {
    position   : absolute;
    color      : #cc3300;
    font-family: bootstrap-icons !important;
    top        : 50%;
    left       : 0;
    transform  : translate(0, -50%);
    font-size  : 18px;
}

.contact-us li:nth-child(3):after {
    content: "\f32c";
}

.contact-us li:nth-child(1):after {
    content: "\f3e7";
}

@media (min-width: 480px) {
    /* .banner .col-12.col-sm-5 {
        width: 50%;
    } */

    /* .banner .phone a strong:before {
        left: 25px;
    } */
}

@media (min-width: 576px) {
    header .phone a strong {
        font-size  : 18px;
        font-weight: 500;
    }

    .banner .phone a strong:before,
    header .phone a strong:before {
        font-size: 23px;
    }

    .navbar-nav .nav-item {
        border-bottom: 0;
    }

    .banner .phone a strong::before {
        left: 0;
    }

}

@media (min-width: 768px) {
    .fixed-top img {
        display: block;
    }



    header .container-fluid {
        padding-right: var(--bs-gutter-x, .75rem) !important;
        padding-left : var(--bs-gutter-x, .75rem) !important;
    }

    .top-bar p {
        font-size  : 15px;
        font-weight: 500;
        line-height: 21px;
    }

    .banner h3 {
        font-size  : 20px;
        line-height: 26px;
    }

    .welcome p {
        font-weight: 500;
        max-width  : 230px;
    }

    .services a.services-cta,
    .gallery .gallery-cta,
    .reviews .reviews-cta {
        height     : 60px;
        line-height: 60px;
    }

    .reviews-detail p {
        max-width: 100%;
    }

    .long-cta h6 {
        font-size  : 40px;
        line-height: 46px;
    }

    .process .col-lg-3:last-child .process-icon:after {
        display: none;
    }

    .process .process-icon:after {
        position  : absolute;
        content   : "";
        top       : 70px;
        left      : 170px;
        background: #eceef0;
        height    : 2px;
        width     : 50%;
    }
}

@media (min-width: 992px) {}

@media (min-width: 1200px) {


    h1 {
        font-size  : 40px;
        line-height: 46px;
    }

    h2 {
        font-size  : 34px;
        line-height: 40px;
    }

    h3 {
        font-size  : 30px;
        line-height: 36px;
    }

    h3,
    h4,
    h5,
    h6 {
        color: #000;
    }

    h4,
    h5,
    h6 {
        font-size  : 22px;
        line-height: 28px;
    }

    .webp .welcome-mid:before,
    .webp .welcome-mid:after {
        background-image: url("../images/hr.webp");
    }

    .no-webp .welcome-mid:before,
    .no-webp .welcome-mid:after {
        background-image: url("../images/hr.png");
    }

    .welcome-mid:before,
    .welcome-mid:after {
        position: absolute;
        content : "";
        width   : 172px;
        height  : 10px;
    }

    .welcome-mid:before {
        top : 25px;
        left: -78px;
    }

    .welcome-mid:after {
        top  : 25px;
        right: -78px;
    }

    .webp .services:after {
        background-image: url("../images/services-shape.webp");
    }

    .no-webp .services:after {
        background-image: url("../images/services-shape.png");
    }

    .services:after {
        position   : absolute;
        content    : "";
        top        : 0;
        right      : 0;
        width      : 762px;
        height     : 500px;
        z-index    : -1;
        /*transform: rotate(20.159999999999997deg);*/
    }




}