/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. About Us css
06. Our Services css
07. Media css
08. Why Choose Us css
09. Our Testimonials css
10. Contact Us css
11. Footer css 
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Global Variables	  ***/
/************************************/
@media only screen and (min-width: 0rem) {


    :root {
        --primary-color: #FFFFFF;
        --secondary-color: #0A0A0A;
        --text-color: #A7AABB;
        --bg-color: #060606;
        --accent-color: var(--blue-600);
        --accent-secondary-color: var(--sand-400);
        --divider-color: #FFFFFF0F;
        --dark-divider-color: #FFFFFF33;
        --error-color: rgb(230, 87, 87);
        --default-font: "Manrope", sans-serif;


        /* band color sheme */
        --blue-base: #7699D4;
        --sand-base: #F4E8C1;

        --blue-50: #F3F5FB;
        --blue-100: #E3EAF6;
        --blue-200: #CDDAF0;
        --blue-300: #ABC2E5;
        --blue-400: #7699D4;
        --blue-500: #6584CC;
        --blue-600: #516BBF;
        --blue-700: #475AAE;
        --blue-800: #3E4B8F;
        --blue-900: #364172;
        --blue-950: #252A46;

        --sand-50: #FBF9F2;
        --sand-100: #F8F2E2;
        --sand-200: #F4E8C1;
        --sand-300: #EFD78E;
        --sand-400: #EBC45A;
        --sand-500: #DDAA2E;
        --sand-600: #B38323;
        --sand-700: #8A611C;
        --sand-800: #634514;
        --sand-900: #3D2A0C;
        --sand-950: #1E1506;


        /* 13px - 16px */
        --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
        /* 31px - 49px */
        --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
        --bodyFontSize: 1rem;
        /* 60px - 100px top and bottom */
        --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
    }

    body {
        margin: 0;
        padding: 0;
    }

    *,
    *:before,
    *:after {
        /* prevents padding from affecting height and width */
        box-sizing: border-box;
    }

}

/************************************/
/*** 	   02. General css		  ***/
/************************************/
@media only screen and (min-width: 0rem) {

    body {
        position: relative;
        font-family: var(--default-font);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.1em;
        color: var(--text-color);
        background: var(--bg-color);
    }

    ::-webkit-scrollbar-track {
        background-color: #060606;
        border-left: 1px solid #060606;
    }

    ::-webkit-scrollbar {
        width: 7px;
        background-color: #060606;
    }

    ::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%);

    }

    ::selection {
        color: var(--primary-color);
        background-color: var(--accent-color);
        filter: invert(1);
    }

    p {
        line-height: 1.6em;
        margin-bottom: 1.6em;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin: 0;
        font-weight: 700;
        line-height: 1.2em;
        color: var(--primary-color);
    }


    figure {
        margin: 0;
    }

    img {
        max-width: 100%;
    }

    a {
        text-decoration: none;
    }

    a:hover {
        text-decoration: none;
        outline: 0;
    }

    a:focus {
        text-decoration: none;
        outline: 0;
    }

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

    .container {
        max-width: 1300px;
    }

    .container,
    .container-fluid,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        position: relative;
        padding-right: 15px;
        padding-left: 15px;
        z-index: 1;
    }


    /*
       Image Hover Animation
    */
    .image-anime {
        position: relative;
        overflow: hidden;
    }

    .image-anime:after {
        content: "";
        position: absolute;
        width: 200%;
        height: 0%;
        left: 50%;
        top: 50%;
        background-color: rgba(255, 255, 255, .3);
        transform: translate(-50%, -50%) rotate(-45deg);
        z-index: 1;
    }

    .image-anime:hover:after {
        height: 250%;
        transition: all 600ms linear;
        background-color: transparent;
    }



    .video-bg {
        position: relative;
        border-radius: 20px;
        overflow: hidden;
    }

    .video-bg::after {
        display: none;
    }

    .video-bg .box-bg-video {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }

    .video-bg .box-bg-video video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }




    .reveal {
        position: relative;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        visibility: hidden;
        overflow: hidden;
    }

    .reveal img {
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -webkit-transform-origin: left;
        transform-origin: left;
    }

    .row {
        margin-right: -15px;
        margin-left: -15px;
    }

    .row>* {
        padding-right: 15px;
        padding-left: 15px;
    }

    .row.no-gutters {
        margin-right: 0px;
        margin-left: 0px;
    }

    .row.no-gutters>* {
        padding-right: 0px;
        padding-left: 0px;
    }

    .btn-default {
        position: relative;
        display: inline-block;
        background: linear-gradient(to right, var(--blue-800) 0%, var(--blue-400) 50%, var(--sand-200) 100%);
        background-size: 200% auto;
        border-radius: 100px;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        line-height: 1em;
        text-transform: capitalize;
        border: none;
        outline: none;
        padding: 17px 30px;
        transition: all 0.4s ease-in-out;
        overflow: hidden;
        z-index: 0;
    }

    .btn-default:hover {
        background-position: right;
    }

    .btn-default.btn-highlighted {
        /* background: linear-gradient(var(--bg-color), var(--bg-color)) padding-box, linear-gradient(to left, var(--accent-color), var(--accent-secondary-color)) border-box; */
        /* border: 1px solid transparent; */
        border: 1px solid var(--accent-color);
        color: #FFF;
        background: var(--bg-color);
        padding: 16px 30px;
    }

    .btn-default.btn-highlighted::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -15%;
        right: 0;
        width: 0;
        height: 106%;
        /* background: linear-gradient(to left, var(--accent-color) 0%, var(--accent-secondary-color) 100%); */
        background: var(--accent-color);
        transform: skew(45deg);
        transition: all 0.4s ease-in-out;
        z-index: -1;
    }

    .btn-default.btn-highlighted:hover::before {
        color: var(--bg-color);
        width: 100%;
        transform: skew(0deg);
        left: 0;
    }


    .cb-cursor:before {
        /* background: linear-gradient(90.01deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%); */
    }

    .preloader {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;

        min-height: 100dvh;

        z-index: 1000;
        background: var(--bg-color);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .loading-container,
    .loading {
        height: 100px;
        position: relative;
        width: 100px;
        border-radius: 100%;
    }

    .loading-container {
        margin: 40px auto;
    }

    .loading {
        border: 1px solid transparent;
        border-color: transparent var(--accent-color) transparent var(--accent-secondary-color);
        animation: rotate-loading 1.5s linear 0s infinite normal;
        transform-origin: 50% 50%;
    }

    .loading-container:hover .loading,
    .loading-container .loading {
        transition: all 0.5s ease-in-out;
    }

    #loading-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        max-width: 66px;
        transform: translate(-50%, -50%);
    }

    @keyframes rotate-loading {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .section-row {
        margin-bottom: 80px;
    }

    .section-row .section-title {
        margin-bottom: 0;
    }

    .section-title.section-title-center {
        width: 100%;
        max-width: 700px;
        text-align: center;
        margin: 0 auto;
    }

    .section-title {
        margin-bottom: 40px;
    }

    .section-title h1,
    .section-title h2 {
        cursor: none;
    }

    .section-title h1 {
        font-size: 70px;
        line-height: 1.1em;
        font-weight: 600;
        letter-spacing: -0.02em;
        margin-bottom: 0;
    }

    .section-title h2 {
        font-size: 48px;
        font-weight: 300;
        margin-bottom: 0;
    }

    .section-title h3 {
        display: inline-block;
        position: relative;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2em;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--text-color);
        background: var(--divider-color);
        border: 1px solid var(--divider-color);
        border-radius: 100px;
        padding: 10px 50px;
        margin-bottom: 20px;


        &::before {
            content: '';
            position: absolute;
            display: block;
            top: 50%;
            left: 24px;
            transform: translateY(-50%);
            background: url('../images/icon-sparkle.svg') no-repeat;
            background-position: left center;
            background-size: cover;
            width: 16px;
            height: 16px;
        }

        &::after {
            content: '';
            position: absolute;
            display: block;
            top: 50%;
            right: 24px;
            transform: translateY(-50%);
            background: url('../images/icon-sparkle.svg') no-repeat;
            background-position: right center;
            background-size: cover;
            width: 16px;
            height: 16px;
        }
    }

    .section-title h1 span,
    .section-title h2 span {
        font-weight: 700;
        background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
        background-size: 200% auto;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        transition: all 0.4s ease-in-out;
    }

    .section-title h1:hover span,
    .section-title h2:hover span {
        background-position: right center;
    }

    .section-title p {
        margin-top: 20px;
        margin-bottom: 0;
    }

    .section-title-content p {
        margin: 0;
    }

    .section-btn {
        text-align: right;
    }

    .section-content-btn .section-btn {
        text-align: left;
        margin-top: 30px;
    }

    .help-block.with-errors ul {
        margin: 0;
        text-align: left;
    }

    .help-block.with-errors ul li {
        color: var(--error-color);
        font-weight: 500;
        font-size: 14px;
    }

    .section-bg {
        width: 100%;
        max-width: 1600px;
        background-color: var(--secondary-color);
        background-image: url('../images/section-bg-shape.svg');
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        border: 1px solid var(--divider-color);
        border-radius: 30px;
        margin: 0 auto;
    }


    /* Hidden Screen reader skip nav button */
    .skip {
        opacity: 0;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1111111;
    }
}

/************************************/
/**** 	   03. Header css		 ****/
/************************************/
@media only screen and (min-width: 0rem) {
    header.main-header {
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 100;
    }

    header.main-header .header-sticky {
        position: relative;
        top: 0;
        z-index: 100;
    }

    header.main-header .header-sticky.hide {
        transform: translateY(-100%);
        transition: transform 0.3s ease-in-out;
        border-radius: 0;
    }

    header.main-header .header-sticky.active {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        border-radius: 0;
        transform: translateY(0);
        background: var(--bg-color);
        border-bottom: 1px solid var(--divider-color);
    }

    .navbar {
        padding: 30px 0;
        align-items: center;
    }

    .navbar-brand {
        padding: 0;
        margin: 0;
    }

    .main-menu .nav-menu-wrapper {
        flex: 1;
        text-align: center;
        margin: 0 20px;
    }

    .main-menu .nav-menu-wrapper .navbar-nav {
        background: var(--divider-color);
        border: 1px solid var(--divider-color);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        border-radius: 30px;
        padding: 0 10px;
    }

    .main-menu .nav-menu-wrapper>ul {
        align-items: center;
        display: inline-flex;
    }

    .main-menu ul li {
        margin: 0;
        position: relative;
    }

    .main-menu ul li a {
        font-size: 16px;
        font-weight: 400;
        line-height: normal;
        padding: 13px 20px !important;
        border-radius: 100px;
        color: var(--primary-color);
        text-transform: capitalize;
        transition: all 0.3s ease-in-out;
    }

    .main-menu ul li.submenu>a:after {
        content: '\f107';
        font-family: 'FontAwesome';
        font-weight: 900;
        font-size: 14px;
        margin-left: 8px;
        margin-top: 4px;
    }

    .main-menu ul li a:hover,
    .main-menu ul li a:focus {
        color: var(--accent-color);
    }

    .main-menu ul li a:focus-visible {
        box-shadow: none;
    }

    .main-menu ul ul {
        visibility: hidden;
        opacity: 0;
        transform: scale(1, 0.8);
        transform-origin: top;
        padding: 0;
        margin: 0;
        list-style: none;
        width: 235px;
        border-radius: 20px;
        position: absolute;
        left: 0;
        top: 100%;
        background: linear-gradient(110.01deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%);
        transition: all 0.3s ease-in-out;
        text-align: left;
    }

    .main-menu ul li.submenu:first-child ul {
        width: 235px;
    }

    .main-menu ul ul ul {
        left: 100%;
        top: 0;
        text-align: left;
    }

    .main-menu ul li:hover>ul {
        visibility: visible;
        opacity: 1;
        transform: scale(1, 1);
        padding: 5px 0;
    }

    .main-menu ul li.submenu ul li.submenu>a:after {
        content: '\f105';
        float: right;
    }

    .main-menu ul ul li {
        margin: 0;
        padding: 0;
    }

    .main-menu ul ul li a {
        color: var(--primary-color);
        padding: 6px 20px !important;
        margin: 0;
        transition: all 0.3s ease-in-out;
    }

    .main-menu ul ul li a:hover,
    .main-menu ul ul li a:focus {
        color: var(--bg-color);
        background-color: transparent;
        padding: 6px 20px 6px 23px !important;
    }

    .main-menu ul li.highlighted-menu {
        display: none;
    }

    .responsive-menu,
    .navbar-toggle {
        display: none;
    }

    .responsive-menu {
        top: 0;
        position: relative;
    }

    .slicknav_btn {
        background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
        background-size: 200% auto;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        margin: 0;
        border-radius: 8px;
        transition: all 0.4s ease-in-out;
    }

    .navbar-toggle a.slicknav_btn.slicknav_open {
        background-position: right center;
    }

    .slicknav_icon .slicknav_icon-bar {
        display: block;
        width: 100%;
        height: 3px;
        width: 22px;
        background-color: var(--primary-color);
        border-radius: 6px;
        margin: 4px auto !important;
        transition: all 0.1s ease-in-out;
    }

    .slicknav_icon .slicknav_icon-bar:first-child {
        margin-top: 0 !important;
    }

    .slicknav_icon .slicknav_icon-bar:last-child {
        margin-bottom: 0 !important;
    }

    .navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1) {
        transform: rotate(-45deg) translate(-5px, 5px);
        background-color: var(--primary-color);
    }

    .navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2) {
        opacity: 0;
    }

    .navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3) {
        transform: rotate(45deg) translate(-5px, -5px);
        background-color: var(--primary-color);
    }

    .slicknav_menu {
        position: absolute;
        width: 100%;
        padding: 0;
        background: linear-gradient(110deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
    }

    .slicknav_menu ul {
        margin: 5px 0;
    }

    .slicknav_menu ul ul {
        margin: 0;
    }

    .slicknav_nav .slicknav_row,
    .slicknav_nav li a {
        position: relative;
        font-size: 16px;
        font-weight: 400;
        text-transform: capitalize;
        padding: 7px 20px;
        color: var(--primary-color);
        line-height: normal;
        margin: 0;
        border-radius: 0 !important;
        transition: all 0.3s ease-in-out;
    }

    .slicknav_nav a:hover,
    .slicknav_nav a:focus,
    .slicknav_nav .slicknav_row:hover {
        background-color: transparent;
        color: var(--bg-color);
    }

    .slicknav_menu ul ul li a {
        padding: 7px 20px 7px 30px;
    }

    .slicknav_arrow {
        font-size: 0 !important;
    }

    .slicknav_arrow:after {
        content: '\f107';
        font-family: 'FontAwesome';
        font-weight: 900;
        font-size: 12px;
        margin-left: 8px;
        color: var(--primary-color);
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.3s ease-out;
    }

    .slicknav_open>a .slicknav_arrow:after {
        transform: translateY(-50%) rotate(-180deg);
        color: var(--bg-color);
    }
}

/************************************/
/***        04. Hero css	      ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .hero {
        position: relative;
        padding: 320px 0 240px;
        z-index: 1;
    }

    .hero::before {
        content: '';
        display: block;
        position: absolute;
        left: 160px;
        top: 20%;
        background: url(../images/section-bg-shape-1.png) no-repeat;
        background-position: left center;
        background-size: cover;
        width: 113px;
        height: 110px;
        animation: shape1 20s infinite linear;
        animation-direction: alternate;
        z-index: 0;
    }

    @keyframes shape1 {
        from {
            transform: translateY(0) rotate(0deg);
        }

        to {
            transform: translateY(50px) rotate(360deg);
        }
    }

    .hero::after {
        content: '';
        display: block;
        position: absolute;
        right: 220px;
        top: 20%;
        background: url(../images/section-bg-shape-2.png) no-repeat;
        background-position: right center;
        background-size: cover;
        width: 82px;
        height: 110px;
        animation: shape1 20s infinite linear;
        animation-direction: alternate;
        z-index: 0;
    }

    .hero.hero-bg-image {
        position: relative;
        background: url('../images/hero-bg.jpg') no-repeat;
        background-position: center center;
        background-size: cover;
    }

    .hero.hero-bg-image::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(#06060660, var(--bg-color));
        opacity: 100%;
        width: 100%;
        height: 100%;
        animation: none;
        z-index: 1;
    }

    .hero.hero-bg-image::after {
        display: none;
    }

    .hero.hero-bg-image.hero-video .hero-bg-video {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }

    .hero.hero-bg-image.hero-video .hero-bg-video video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .hero-content {
        position: relative;
        width: 100%;
        max-width: 840px;
        margin: 0 auto;
        text-align: center;
        z-index: 2;
    }

    .hero-content::before {
        content: '';
        display: block;
        position: absolute;
        left: -28%;
        bottom: 20%;
        background: url(../images/section-bg-shape-3.png) no-repeat;
        background-position: left center;
        background-size: cover;
        width: 81px;
        height: 85px;
        animation: shape2 20s infinite linear;
        animation-direction: alternate;
        z-index: 0;
    }

    @keyframes shape2 {
        from {
            transform: translateY(0) rotate(0deg);
        }

        to {
            transform: translateY(50px) rotate(-360deg);
        }
    }

    .hero-content::after {
        content: '';
        display: block;
        position: absolute;
        right: -28%;
        bottom: 20%;
        background: url(../images/section-bg-shape-4.png) no-repeat;
        background-position: right center;
        background-size: cover;
        width: 122px;
        height: 126px;
        animation: shape2 20s infinite linear;
        animation-direction: alternate;
        z-index: 0;
    }

    .hero-content .section-title {
        position: relative;
        z-index: 2;
    }

    .hero.hero-bg-image .hero-content::after,
    .hero.hero-bg-image .hero-content::before {
        display: none;
    }

    .hero-btn {
        position: relative;
        margin-top: 40px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 15px 30px;
        z-index: 2;
    }

    .hero-company-slider {
        text-align: center;
        margin-top: 80px;
    }

    .hero-company-slider p {
        font-size: 20px;
        margin-bottom: 30px;
    }

    .company-logo img {
        width: 100%;
        max-height: 40px;
    }
}

/************************************/
/***       05. About Us css	      ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .about-us {
        padding: var(--sectionPadding);
    }

    .about-us .section-title.section-title-center {
        max-width: 1080px;
    }

    .about-us .section-title h2 span {
        background: var(--accent-secondary-color);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0 5px;
    }

    .about-us .section-title h2 span img {
        max-width: 20px;
    }

    .about-us .section-title h2 span:nth-child(2) {
        background: var(--accent-color);
    }

    .text-effect .line {
        width: 100%;
        color: var(--dark-divider-color);
        background: linear-gradient(120deg, var(--primary-color), var(--primary-color)) no-repeat;
        -webkit-background-clip: text;
        background-clip: text;
        background-size: 0%;
    }

    .about-us-box {
        background: var(--secondary-color);
        border: 1px solid var(--divider-color);
        border-radius: 20px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        height: calc(100% - 30px);
        margin-bottom: 30px;
        padding: 30px;
    }

    .about-us-item {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 50px;
        margin-bottom: 40px;
    }

    .about-item-content {
        width: calc(100% - 90px);
    }

    .about-item-content h3 {
        font-size: 16px;
        line-height: 1.3em;
        margin-bottom: 30px;
    }

    .about-item-content h2 {
        font-size: 48px;
        font-weight: 300;
    }

    .about-us-item .icon-box {
        position: relative;
        background: var(--bg-color);
        border: 1px solid var(--divider-color);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .about-us-item .icon-box::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(120deg, var(--accent-color), var(--accent-secondary-color)) no-repeat;
        border-radius: 50%;
        height: 100%;
        width: 100%;
        transform: scale(0);
        transition: all 0.4s ease-in-out;
    }

    .about-us-box:hover .about-us-item .icon-box::before {
        transform: scale(1);
    }

    .about-us-item .icon-box img {
        position: relative;
        max-width: 20px;
        z-index: 1;
    }

    .about-item-image {
        width: 100%;
        align-content: end;
        text-align: left;
    }

    .about-item-image img {
        max-height: 80px;
    }
}

/************************************/
/***     06. Our Services css     ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .our-services {
        /* padding: 80px 0; */
        padding: var(--sectionPadding);
    }

    .service-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: space-between;
    }

    .service-item {
        flex: 1 1 calc(33% - 20px);
        display: flex;
        padding: 40px;
        margin: 0 auto 1rem;

        min-width: 300px;
        width: calc(33% - 20px);
        height: 100%;


        background: var(--secondary-color) url(../images/service-item-bg-shape.png) no-repeat;
        background-position: top left;
        background-size: auto;

        border: 1px solid var(--dark-divider-color);
        border-radius: 20px;
        backdrop-filter: blur(100px);
        -webkit-backdrop-filter: blur(100px);
        overflow: hidden;
    }

    .service-item .icon-box {
        margin-right: 30px;
    }

    .service-item .icon-box img {
        max-width: 40px;
        transition: all 0.4s ease-in-out;
    }

    .service-item:hover .icon-box img {
        transform: rotateY(180deg);
    }

    .service-item-content {
        width: calc(100% - 70px);
    }

    .service-item-content h3 {
        font-size: 20px;
        line-height: 1.3em;
        text-transform: capitalize;
        margin-bottom: 20px;
    }

    .service-item-content h3 a {
        color: inherit;
    }

    .service-item-content p {
        margin-bottom: 30px;
    }

    .section-footer-text {
        text-align: center;
        margin-top: 60px;
    }

    .section-footer-text p {
        color: var(--white-color);
        margin: 0;
    }

    .section-footer-text p span {
        background: linear-gradient(90deg, var(--accent-color) 0.26%, var(--accent-secondary-color) 99.99%);
        font-weight: 400;
        line-height: 1em;
        color: var(--primary-color);
        border-radius: 100px;
        padding: 2px 10px;
        margin-right: 10px;
    }

    .section-footer-text a {
        font-weight: 700;
        text-decoration: underline;
        background: linear-gradient(to right, var(--accent-color) 0%, var(--accent-secondary-color) 50%, var(--accent-color) 100%);
        background-size: 200% auto;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        transition: all 0.4s ease-in-out;
    }

    .section-footer-text a:hover {
        background-position: right center;
    }
}

/************************************/
/*** 	   07. Media css          ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .media {
        padding: 160px 0;
    }

    .media-list-box-1 {
        margin-right: 25px;
    }

    .media-list-box-2 {
        margin-top: 80px;
        margin-left: 25px;
    }


    .media-item {
        display: flex;
        flex-direction: column;
        gap: 40px;
        background-color: var(--secondary-color);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border: 1px solid var(--divider-color);
        border-radius: 12px;
        margin-bottom: 80px;
        padding: 40px;
        height: 100%;
    }

    .media-item:last-child {
        margin-bottom: 0;
    }

    .media-content {
        margin-top: auto;
    }

    .media-content p {
        display: inline-block;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.357em;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: var(--primary-color);
        background: var(--divider-color);
        border: 1px solid var(--divider-color);
        border-radius: 100px;
        padding: 9px 24px;
        margin-bottom: 20px;

    }

    .media-content h3 {
        font-size: 20px;
        line-height: 1.4em;
    }

    .media-content h3 a {
        color: inherit;
    }



    .media-image a {
        position: relative;
    }

    .media-image a,
    .media-image a figure {
        display: block;
        border-radius: 20px;
        overflow: hidden;
        cursor: none;
    }

    .media-image figure img {
        width: 100%;
        aspect-ratio: 1 / 0.68;
        object-fit: object;
        transition: all 0.4s ease-in-out;
    }

    .media-item:hover .media-image figure img {
        transform: scale(1.05);
    }



    /** 
        ** VIDEO PLAY ICON 
        ** AND OVERLAY EFFECT */

    /*? overlay effect */
    /* .media-image a::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--secondary-color);
        border-radius: 20px;
        opacity: 0%;
        visibility: hidden;
        width: 100%;
        height: 100%;
        z-index: 1;
        transform: scale(0);
        transition: all 0.4s ease-in-out;
    } */

    /*? video play icon */
    /* .media-image a::after {
        content: '\f04b';
        font-family: 'FontAwesome';
        position: absolute;
        top: 50%;
        left: 50%;
        right: 0;
        transform: translate(-50%, -50%);
        font-size: 20px;
        background: linear-gradient(136.83deg, var(--accent-color) 2.01%, var(--accent-secondary-color) 97.82%);
        color: var(--primary-color);
        border-radius: 50%;
        height: 60px;
        width: 60px;
        cursor: none;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: all 0.5s ease-in-out;
        z-index: 1;
    } */

    .media-image:hover a::before {
        opacity: 40%;
        visibility: visible;
        transform: scale(1);
    }

    .media-image:hover a::after {
        opacity: 1;
        visibility: visible;
    }

    .media-image img {
        width: 100%;
        aspect-ratio: 1 / 0.829;
        object-fit: cover;
        border-radius: 20px;
    }







    .see-more-media-box {
        position: relative;
        /* background: url('/images/see-more-bg.png') no-repeat;
        background-position: center center;
        background-size: cover; */
        border: 1px solid var(--divider-color);
        border-radius: 20px;
        align-content: end;
        height: 100%;
        margin-bottom: 30px;
        padding: 40px;
        overflow: hidden;
    }

    .see-more-media-box::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--bg-color);
        opacity: 20%;
        height: 100%;
        width: 100%;
    }

    .see-more-media-box .icon-box,
    .see-more-media-content,
    .see-more-media-btn {
        position: relative;
        z-index: 1;
    }

    .see-more-media-content h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .see-more-media-content p {
        color: var(--primary-color);
        margin-bottom: 0;
    }

    .see-more-media-btn {
        margin-top: 20px;
    }

}

/************************************/
/*** 	08. Why Choose Us css	  ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .why-choose-us {
        padding: 160px 0;
    }

    .why-choose-image {
        position: relative;
        text-align: center;
        padding: 0 60px;
    }

    .why-choose-image::before {
        content: '';
        position: absolute;
        top: -25%;
        left: 0;
        right: 0;
        background: url('../images/why-choose-bg-shape.svg') no-repeat;
        background-position: top center;
        background-size: contain;
        width: 100%;
        height: 100%;
    }

    .why-choose-image figure {
        position: relative;
        display: block;
        z-index: 1;
    }

    .why-choose-image img {
        width: 100%;
        aspect-ratio: 1 / 1.6;
        object-fit: cover;
        margin-bottom: -160px;
    }

    .why-choose-list ul {
        display: flex;
        flex-wrap: wrap;
        gap: 20px 30px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .why-choose-list ul li {
        position: relative;
        width: calc(50% - 15px);
        line-height: 1.5em;
        padding-left: 30px;
    }

    .why-choose-list ul li:before {
        content: '\f058';
        position: absolute;
        font-family: 'Font Awesome 6 Free';
        font-size: 18px;
        font-weight: 900;
        /* background: linear-gradient(90deg, var(--sand-400) 0%, var(--blue-400) 100%); */
        background: var(--accent-color);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        top: 0;
        left: 0;
    }

    .why-choose-body {
        display: flex;
        flex-wrap: wrap;
        gap: 30px 100px;
        margin-top: 60px;
    }

    .why-choose-item-list {
        width: calc(100% - 260px);
    }

    .why-choose-item {
        display: flex;
        align-items: center;
        margin-bottom: 40px;
    }

    .why-choose-item:last-child {
        margin-bottom: 0;
    }

    .why-choose-item .icon-box {
        width: 60px;
        height: 60px;
        background: linear-gradient(to right, var(--blue-800) 0%, var(--blue-400) 50%, var(--sand-200) 100%);
        background-size: 200% auto;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        margin-right: 20px;
        transition: all 0.4s ease-in-out;
    }

    .why-choose-item:hover .icon-box {
        background-position: right center;
    }

    .why-choose-item .icon-box img {
        width: 100%;
        max-width: 30px;
    }

    .why-choose-item-content {
        width: calc(100% - 80px);
    }

    .why-choose-item-content h3 {
        font-size: 20px;
        line-height: 1.4em;
    }

    .get-started-circle {
        position: relative;
        align-content: center;
    }

    .get-started-circle a,
    .get-started-circle a figure {
        display: block;
        border-radius: 50%;
        overflow: hidden;
    }

    .get-started-circle a figure img {
        width: 100%;
        max-width: 160px;
        border-radius: 50%;
        animation: infiniterotate 30s infinite linear;
    }

    .get-started-circle a:hover figure img {
        animation-play-state: paused;
    }

    @keyframes infiniterotate {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    .get-started-circle .circle-arrow {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .get-started-circle .circle-arrow img {
        width: 100%;
        max-width: 60px;
        transform: rotate(-45deg);
        transition: all 0.3s ease-in-out;
    }

    .get-started-circle a:hover .circle-arrow img {
        transform: rotate(0);
    }
}

/************************************/
/***     09. Testimonial css      ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .testimonials {
        padding: var(--sectionPadding);
    }

    .testimonial-item {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        height: 100%;

        position: relative;
        background: var(--secondary-color);

        border-radius: 20px;
        padding: 60px 40px 50px;
        overflow: hidden;
    }

    .testimonial-quote,
    .testimonial-item-content,
    .testimonial-author {
        position: relative;
        z-index: 1;
    }

    .testimonial-quote img {
        width: 100%;
        max-width: 42px;
        transition: all 0.4s ease-in-out;
    }

    .testimonial-item:hover .testimonial-quote img {
        filter: brightness() invert(1);
    }

    .testimonial-item-content {
        margin-top: 20px;
    }

    .testimonial-item-content p {
        font-size: 20px;
        font-weight: 600;
        color: var(--primary-color);
        /* margin-bottom: 20px; */
        transition: all 0.4s ease-in-out;
    }

    .testimonial-author {
        border-top: 1px solid var(--divider-color);
        margin-top: auto;
        padding-top: 40px;
        transition: all 0.4s ease-in-out;
    }

    .testimonial-item:hover .testimonial-author {
        border-color: var(--dark-divider-color);
    }

    .author-content h3 {
        font-size: 18px;
        transition: all 0.4s ease-in-out;
    }

    .author-content p {
        margin-bottom: 0;
        transition: all 0.4s ease-in-out;
    }

    .testimonial-item:hover .testimonial-item-content p,
    .testimonial-item:hover .author-content h3,
    .testimonial-item:hover .author-content p {
        color: var(--white-color);
    }

    .testimonial-image {
        margin-left: 15px;
    }

    .testimonial-image figure {
        display: block;
        border-radius: 20px;
    }

    .testimonial-image img {
        width: 100%;
        aspect-ratio: 1 / 1.474;
        object-fit: cover;
        border-radius: 20px;
    }


    .testimonials .testimonial-item {
        height: calc(100% - 30px);
        margin-bottom: 30px;
    }
}

/************************************/
/***    10. Contact Us Page css   ***/
/************************************/
@media only screen and (min-width: 0rem) {
    .contact-us {
        padding: 160px 0;
    }

    .contact-us-content {
        margin-right: 15px;
    }

    .contact-info-body {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
    }

    .contact-info-item {
        display: flex;
    }

    .contact-info-item .icon-box {
        height: 60px;
        width: 60px;
        /* background: linear-gradient(to right, var(--accent-secondary-color) 0%, var(--accent-color) 50%, var(--accent-secondary-color) 100%); */
        background: var(--sand-500);
        background-size: 200% auto;
        border-radius: 100px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        margin-right: 30px;
        transition: all 0.4s ease-in-out;
    }

    .contact-info-item:hover .icon-box {
        background-position: right center;
    }

    .contact-info-item .icon-box img {
        width: 100%;
        max-width: 30px;
    }

    .contact-item-content {
        width: calc(100% - 90px);
    }

    .contact-item-content h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .contact-item-content p {
        margin-bottom: 0;
    }

    .contact-item-content p a {
        color: inherit;
        transition: all 0.3s ease-in-out;
    }

    .contact-item-content p a:hover {
        color: var(--accent-color);
    }

    .contact-info-item.location-item {
        width: 100%;
        border-top: 1px solid var(--divider-color);
        padding-top: 40px;
    }

    .contact-us-form {
        background: var(--secondary-color) url('../images/contact-form-bg-shape.svg') no-repeat;
        background-position: center center;
        background-size: cover;
        border: 1px solid var(--divider-color);
        border-radius: 12px;
        padding: 40px;
    }

    .contact-form form .form-control {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5em;
        color: var(--text-color);
        background-color: var(--secondary-color);
        border: 1px solid var(--divider-color);
        border-radius: 12px;
        padding: 17px 20px;
        outline: none;
        box-shadow: none;
    }

    .contact-form form .form-control::placeholder {
        color: var(--text-color);
    }

    .contact-form form .btn-default {
        width: 100%;
        padding: 17px;
    }

    .contact-form form .btn-default::before {
        display: none;
    }
}

/************************************/
/***        11. Footer css        ***/
/************************************/

@media only screen and (min-width: 0rem) {

    .main-footer {
        padding: 100px 0 0;
        margin-bottom: 100px;
    }


    .footer-btn {
        position: relative;
        z-index: 1;
    }

    .footer-btn .btn-default {
        height: 100px;
        width: 100px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .footer-btn .btn-default::before {
        display: none;
    }

    .footer-btn .btn-default img {
        width: 100%;
        max-width: 54px;
        transform: rotate(-45deg);
        transition: all 0.3s ease-in-out;
    }

    .footer-btn .btn-default:hover img {
        transform: rotate(0);
    }


    .footer-header {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        background: var(--divider-color);
        border: 1px solid var(--divider-color);
        border-radius: 12px;
        padding: 35px 40px;
        margin-bottom: 80px;
    }

    .footer-header-title h2 {
        font-size: 70px;
        text-transform: uppercase;
        cursor: none;
    }

    .footer-header-title h2 span {
        color: var(--secondary-color);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-stroke: 1px var(--primary-color);
    }

    .footer-header .footer-btn .btn-default {
        height: 80px;
        width: 80px;
    }

    .footer-header .footer-btn .btn-default img {
        max-width: 45px;
    }

    .footer-contact-box {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        margin-right: 50px;
    }

    .footer-contact-box .footer-links {
        width: calc(50% - 15px);
    }

    .footer-links h3 {
        font-size: 20px;
        text-transform: capitalize;
        margin-bottom: 20px;
    }

    .footer-links ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .footer-links ul li {
        line-height: 1.6em;
        margin-bottom: 5px;
    }

    .footer-links ul li:last-child {
        margin-bottom: 0;
    }

    .footer-links ul li b {
        font-size: 24px;
        font-weight: 700;
        color: var(--primary-color);
    }

    .footer-links ul li a {
        color: inherit;
        transition: all 0.3s ease-in-out;
    }

    .footer-links ul li a:hover {
        color: var(--accent-color);
    }

    .footer-social-links ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .footer-social-links ul li {
        display: inline-block;
        margin-right: 10px;
    }

    .footer-social-links ul li:last-child {
        margin: 0;
    }

    .footer-social-links ul li a {
        border: 1px solid var(--divider-color);
        border-radius: 50%;
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.4s ease-in-out;
    }

    .footer-social-links ul li a:hover {
        background: var(--primary-color);
    }

    .footer-social-links ul li a i {
        font-size: 18px;
        line-height: normal;
        background: linear-gradient(90deg, var(--accent-color) 0%, var(--accent-secondary-color) 100%);
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .footer-newsletter-form .form-group {
        position: relative;
        display: flex;
    }

    .footer-newsletter-form .form-group .form-control {
        width: 100%;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.2em;
        color: var(--text-color);
        background: transparent;
        border: none;
        border-bottom: 1px solid var(--divider-color);
        border-radius: 0;
        outline: none;
        box-shadow: none;
        padding: 0 30px 16px 0;
    }

    .footer-newsletter-form .form-group .form-control::placeholder {
        color: var(--text-color);
    }

    .footer-newsletter-form .form-group .newsletter-btn {
        position: absolute;
        top: 0;
        right: 0;
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0;
        transition: all 0.3s ease-in-out;
    }

    .footer-newsletter-form .form-group .newsletter-btn img {
        width: 16px;
        transition: all 0.3s ease-in-out;
    }

    .footer-newsletter-form .form-group .newsletter-btn:hover img {
        transform: rotate(45deg);
    }

    .footer-copyright {
        border-top: 1px solid var(--divider-color);
        padding: 60px 0;
        margin-top: 60px;
    }

    .footer-copyright-text {
        text-align: end;
    }

    .footer-copyright-text p {
        margin-bottom: 0;
    }

}