/* @import url("https://fonts.googleapis.com/css2?family=Syne:wght@400..800&display=swap"); */
@import url("https://fonts.googleapis.com/css2?family=Zalando+Sans+SemiExpanded:ital,wght@0,200..900;1,200..900&display=swap");
/* -------------------- Root Configurations Start -------------------- */
:root {
    /* Auto Responsive Calculation Start */
    /* Screen Range */
    --screen-width-minimum: 320;
    --screen-width-maximum: 1920;
    /* Responsive Screen Progress (0 → 1) */
    --screen-width-current: calc((clamp(320px, 100vw, 1920px) - (var(--screen-width-minimum) * 1px)) / (var(--screen-width-maximum) - var(--screen-width-minimum)));
    /* Auto Responsive Calculation End */
    /* Colors */
    --color-primary: #0160ae;
    --color-primary-dark: #014d8b;
    --color-secondary: #39b44a;
    --color-secondary-dark: #34a243;
    --color-green-light: #e1ff00;
    --color-white: #ffffff;
    --color-white-visible-50: color-mix(srgb, var(--color-white), transparent 50%);
    --color-grey: #e6f0f7;
    --color-dark: #04172e;
    /* Fonts */
    /* --font-family: "Syne", sans-serif; */
    --font-family: "Zalando Sans SemiExpanded", sans-serif;
    --font-weight-regular: 400;
    /* --font-weight-semi-bold: 600; */
    --font-weight-semi-bold: 500;
    /* --font-weight-bold: 700; */
    --font-weight-bold: 600;
    /* Custom Container */
    --custom-container-width: 1920px;
    --custom-container-side-padding: clamp(12px, calc(12px + 28 * (100vw - 320px) / 1080), 40px);
    /* Spacings */
    --header-height: 57.83px;
    --header-spacing: 8px;
    --section-padding: clamp(40px, calc(40px + 20 * (100vw - 320px) / 672), 60px);
    --common-padding: 20px;
    --buttons-margin-top: 20px;
    /* Others */
    --common-border-radius: clamp(16px, calc(16px + 14 * var(--screen-width-current)), 30px);
}
@media (min-width: 992px) {
    :root {
        --header-height: 65.31px;
        --common-padding: 30px;
        --section-padding: clamp(60px, calc(60px + 20 * (100vw - 992px) / 408), 80px);
        --buttons-margin-top: 30px;
    }
}
@media (min-width: 1400px) {
    :root {
        --header-height: 75.77px;
        --section-padding: clamp(80px, calc(80px + 20 * (100vw - 1400px) / 200), 100px);
        --common-padding: 40px;
        --header-spacing: 20px;
        --custom-container-side-padding: clamp(40px, calc(40px + 20 * (100vw - 1400px) / 200), 60px);
    }
}
@media (min-width: 1600px) {
    :root {
        --section-padding: 100px;
        --custom-container-side-padding: clamp(60px, calc(60px + 20 * (100vw - 1600px) / 200), 80px);
    }
}
@media (min-width: 1800px) {
    :root {
        --custom-container-side-padding: clamp(80px, calc(80px + 80 * (100vw - 1800px) / 120), 160px);
    }
}
/* -------------------- Root Configurations End -------------------- */
/* -------------------- Default Configurations Start -------------------- */
/* Elements */
html,
body {
    font: var(--font-weight-regular) 16px/1.5 var(--font-family);
    color: var(--color-dark);
}
a,
a:hover,
a:focus {
    text-decoration: none;
    color: var(--color-primary);
}
:is(a.image-hover) {
    color: var(--color-dark);
}
a:hover:not(header a, footer a, .btn, .post-filters a, .blog-item-content a, .blog-nav a, a.common-card, .btn-arrow, a.image-hover, .blog-item-content a, .single-post-page-categories a) {
    text-decoration: underline !important;
}
b {
    font-weight: var(--font-weight-bold);
}
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-weight: var(--font-weight-semi-bold);
}
:is(header, footer) ul {
    list-style: none;
    padding: 0;
}
ul {
    padding-left: 18px;
}
ol {
    padding-left: 30px;
}
:is(ol, ul) li:not(:last-child, header ul li, .post-filter-item ul li) {
    margin-bottom: 0.5rem;
}
/* Classes */
.custom-container {
    max-width: var(--custom-container-width);
    padding-left: var(--custom-container-side-padding);
    padding-right: var(--custom-container-side-padding);
    margin: 0 auto;
}
.section-padding {
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}
.bg-white {
    background-color: var(--color-white);
    color: var(--color-dark);
}
.bg-white-80 {
    background-color: color-mix(in srgb, var(--color-white), transparent 20%) !important;
    color: var(--color-dark) !important;
}
.bg-grey {
    background-color: var(--color-grey);
}
.bg-dark {
    background-color: var(--color-dark) !important;
    color: var(--color-white);
}
.bg-primary {
    background-color: var(--color-primary) !important;
}
.bg-secondary {
    background-color: var(--color-secondary) !important;
}
/* -------------------- Default Configurations End -------------------- */
/* -------------------- Custom Classes Start -------------------- */
.badges {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
.badge {
    padding: 0.5rem 1rem;
    border-radius: 50px;
    background-color: var(--color-green-light);
    color: var(--color-dark);
    font-weight: var(--font-weight-bold) !important;
}
.heading-block {
    margin-bottom: 26px;
}
.heading-block > * *:last-child:not(.btn) {
    margin-bottom: 0;
}
.heading {
    display: inline-block;
    font-size: 1rem;
    padding: 0.25rem 1.75rem;
    color: var(--color-dark);
    border: 1px dashed var(--color-dark);
    border-radius: 50px;
}
:is(.bg-dark, .background-overlay) .heading {
    border-color: var(--color-white);
    color: var(--color-white);
}
.sub-heading {
    font-size: 30px;
    font-weight: var(--font-weight-semi-bold);
    color: var(--color-primary);
}
:is(.for-background-image, .background-overlay) .sub-heading:not(.common-card .sub-heading) {
    color: var(--color-white);
}
:is(.bg-dark) .sub-heading {
    color: var(--color-white);
}
.h-100vh {
    height: 100vh;
}
.left-side-image {
    border-radius: var(--common-border-radius);
}
.sticky-element {
    position: sticky;
    top: var(--section-padding);
}
/* Fade-up Animation Start */
[data-animation="fade-up"] {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 600ms ease-out,
        transform 600ms ease-out;
}
[data-animation="fade-up"].animate {
    opacity: 1;
    transform: translateY(0);
}
/* Fade-up Animation End */
/* Image Hover Animation Start */
.image-hover img {
    transition: transform 300ms ease-in-out;
    will-change: transform;
}
.image-hover:hover img {
    transform: scale(0.98);
}
/* Image Hover Animation End */
/* Borders Start */
.border-bottom {
    border-bottom: 1px dashed var(--color-dark) !important;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    opacity: 1;
    border-top: unset;
}
.common-card-body.z-1 .border-bottom {
    border-bottom: 1px dashed var(--color-white) !important;
}
.border-top {
    border-top: 1px dashed var(--color-dark) !important;
    padding-top: 0.75rem;
    opacity: 1;
    border-top: unset;
}
:is(.background-overlay) :is(.border-top, .border-bottom):not(:is(.bg-white) :is(.border-top, .border-bottom)) {
    border-color: var(--color-white) !important;
}
/* Borders Start */
:is(.for-background-image, .background-overlay) .border-bottom:not(.bg-white .border-bottom) {
    border-color: var(--color-white) !important;
}
.border-radius {
    border-radius: var(--common-border-radius);
}
.features-icon {
    max-width: 80px;
}
@media (min-width: 576px) {
    .h-100vh-sm {
        height: 100vh;
    }
    .features-icon {
        max-width: 120px;
    }
}
@media (min-width: 768px) {
    .badges {
        justify-content: center;
    }
}
@media (min-width: 992px) {
    .heading-block-margin-left {
        margin-left: var(--custom-container-side-padding);
    }
    .left-side-image {
        border-top-left-radius: unset;
        border-bottom-left-radius: unset;
    }
}
@media (min-width: 1400px) {
    .badges {
        gap: 2rem;
    }
    .heading-block {
        margin-bottom: 40px;
    }
    .heading {
        padding: 0.45rem 2.25rem;
    }
    .sub-heading {
        font-size: 36px;
    }
}
/* -------------------- Custom Classes End -------------------- */
/* -------------------- Bootstrap Customizing Start -------------------- */
@media (min-width: 1600px) {
    .container {
        max-width: 1400px;
    }
}
/* -------------------- Bootstrap Customizing End -------------------- */
/* -------------------- Table Start -------------------- */
table {
    font-size: 14px;
}
.table {
    --bs-table-striped-bg: var(--color-grey);
    --bs-table-border-color: var(--color-white);
}
thead {
    border-bottom: unset !important;
}
td,
th {
    padding: 0.5rem !important;
    border-color: var(--color-white) !important;
}
thead tr,
tbody tr {
    background-color: var(--color-white) !important;
}
td,
th {
    white-space: nowrap;
}
tbody tr:nth-child(odd) {
    background-color: var(--color-grey) !important;
}
.bg-white tbody tr:nth-child(odd) {
    background-color: white !important;
}

.bg-white tbody tr:nth-child(even) {
    background-color: var(--color-grey) !important;
}
/* -------------------- Table End -------------------- */
/* -------------------- Button Classes Start -------------------- */
/* Button Start */
* {
    --button-color: var(--color-white);
    --button-color-hover: var(--color-white);
    --button-bg-color: var(--color-secondary);
    --button-bg-color-hover: var(--color-primary);
}
.btn,
.btn-arrow {
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    padding: 6px 20px;
    border-radius: 50px;
    background-color: var(--button-bg-color);
    color: var(--button-color);
    border: unset !important;
    position: relative;
    display: inline-flex;
    gap: 15px;
    margin-top: var(--buttons-margin-top);
    align-items: center;
    transition: all 300ms ease-in-out;
}
.btn::after,
.btn-arrow::after,
.btn.download::after {
    content: "\F138";
    font-family: "bootstrap-icons";
    transition: transform 300ms ease-in-out;
}
.btn.download::after {
    content: "\F356" !important;
    font-size: 20px;
    font-weight: 100;
}
:is(p + .btn, p + .mt-auto .btn) {
    margin-top: calc(var(--buttons-margin-top) - 1rem);
}
/* Hover Effect */
.btn:is(:hover, :focus, :active, :first-child:active),
.image-hover:hover .btn {
    background-color: var(--button-bg-color-hover);
    color: var(--button-color-hover);
}
.btn:hover::after,
.btn-arrow:hover::after,
.image-hover:hover .btn::after,
.image-hover:hover .btn-arrow::after {
    transform: translateX(3px);
}
/* Button End */
/* Arrow Button Start */
* {
    --arrow-buttons-margin-top: calc(var(--buttons-margin-top) / 1.5);
}
.btn-arrow {
    padding: unset !important;
    color: var(--color-primary) !important;
    background-color: transparent !important;
    gap: 10px !important;
    margin-top: var(--arrow-buttons-margin-top);
    transition: color 300ms ease-in-out !important;
}
:is(p + .btn-arrow) {
    margin-top: calc(var(--arrow-buttons-margin-top) - 1rem);
}
/* Hover Effect */
/* .btn-arrow:hover {
    color: var(--color-dark);
} */
/* Arrow Button End */
@media (min-width: 1400px) {
    .btn {
        padding: 10px 25px;
    }
}
/* -------------------- Button Classes End -------------------- */
/* -------------------- Responsive Image, Background Image, Background Video and Background Overlay Classes Start --------------------  */
/* Responsive Image Start */
.for-responsive-image {
    /* height: 100%; */
}
.responsive-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* Responsive Image End */
/* Background Image Start */
.for-background-image {
    position: relative;
}
.background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
/* Background Image End */
/* Background Overlay Start */
.background-overlay {
    position: relative;
    overflow: hidden;
    color: var(--color-white);
}
.background-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: var(--color-dark);
    opacity: 0.6;
}
@supports (color: color-mix(in srgb, black, white)) {
    .background-overlay::after {
        opacity: 1;
        background: color-mix(in srgb, var(--color-dark), transparent 40%);
    }
    .background-overlay.overlay-top::after {
        background: linear-gradient(to top, color-mix(in srgb, var(--color-dark), transparent 100%), color-mix(in srgb, var(--color-dark), transparent 0%) 100%);
    }
    .background-overlay.overlay-bottom::after {
        background: linear-gradient(to bottom, color-mix(in srgb, var(--color-dark), transparent 100%), color-mix(in srgb, var(--color-dark), transparent 0%) 100%);
    }
    .background-overlay.overlay-left::after {
        background: linear-gradient(to left, color-mix(in srgb, var(--color-dark), transparent 100%), color-mix(in srgb, var(--color-dark), transparent 0%) 100%);
    }
    .background-overlay.overlay-right::after {
        background: linear-gradient(to right, color-mix(in srgb, var(--color-dark), transparent 100%), color-mix(in srgb, var(--color-dark), transparent 0%) 100%);
    }
    .background-overlay.overlay-y::after {
        background: linear-gradient(to top, color-mix(in srgb, var(--color-dark), transparent 0%), color-mix(in srgb, var(--color-dark), transparent 90%) 30%, color-mix(in srgb, var(--color-dark), transparent 0%) 100%);
    }
    .background-overlay.overlay-x::after {
        background: linear-gradient(to left, color-mix(in srgb, var(--color-dark), transparent 0%), color-mix(in srgb, var(--color-dark), transparent 90%) 50%, color-mix(in srgb, var(--color-dark), transparent 0%) 100%);
    }
}
/* Background Overlay End */
/* Background Video Start */
.background-video {
    width: 100%;
    aspect-ratio: 16 / 9;
}
@media (min-width: 992px) {
    .background-video {
        width: 100vw;
        height: 56.25vw; /* 9/16 * 100 = 56.25, for 16:9 aspect ratio */
        min-height: 100vh;
        min-width: 177.77vh; /* 16/9 * 100 = 177.77, for 16:9 aspect ratio */
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        pointer-events: none;
    }
}
/* Background Video End */
:is(.for-background-image, .background-overlay) :is(.container, .container-fluid, .custom-container) {
    position: relative;
    z-index: 2;
    color: var(--color-white);
}
.product-features.background-overlay::after {
    background: linear-gradient(to bottom, color-mix(in srgb, var(--color-dark), transparent 0%) 0%, color-mix(in srgb, var(--color-dark), transparent 40%) 70%, color-mix(in srgb, var(--color-dark), transparent 20%) 90%);
}
/* -------------------- Responsive Image, Background Image, Background Video and Background Overlay Classes End --------------------  */
/* -------------------- Slider Classes Start -------------------- */
.swiper {
    --navigation-btn-size: 35px;
    --navigation-btn-bg-color: var(--color-primary);
    --navigation-btn-bg-color-hover: var(--color-secondary);
    --navigation-btn-offset: 20px;
    --navigation-btn-color: var(--color-dark);
    --navigation-btn-color-hover: var(--color-white);
    --navigation-btn-spacing: 5px;
    --pagination-bullet-size: 8px;
    --pagination-bullet-color: var(--color-primary);
}
:is(.banner) .swiper {
    --navigation-btn-bg-color: color-mix(in srgb, var(--color-white), transparent 50%);
    --navigation-btn-bg-color-hover: var(--color-white);
    --pagination-bullet-color: color-mix(in srgb, var(--color-white), transparent 50%);
    --navigation-btn-offset: var(--custom-container-side-padding);
}
:is(.bg-dark) .swiper {
    --navigation-btn-bg-color: var(--color-white);
    --pagination-bullet-color: var(--color-white);
}
@media (min-width: 992px) {
    :is(.banner) .swiper {
        --navigation-btn-bg-color: color-mix(in srgb, var(--color-dark), transparent 50%);
        --navigation-btn-bg-color-hover: var(--color-dark);
    }
}
/* Navigation Buttons Start */
.swiper-button-prev {
    left: var(--navigation-btn-offset) !important;
}
.swiper-button-next {
    right: var(--navigation-btn-offset) !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
    font-family: bootstrap-icons;
    font-size: var(--navigation-btn-size);
    color: var(--navigation-btn-bg-color);
    transition: color 150ms ease-in-out;
}
.swiper-button-prev:after {
    content: "\F129";
}
.swiper-button-next:after {
    content: "\F133";
}
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
    color: var(--navigation-btn-bg-color-hover);
}
/* Navigation Buttons End */
/* Pagination Start */
.swiper-pagination-bullet {
    width: var(--pagination-bullet-size);
    height: var(--pagination-bullet-size);
    border-radius: var(--pagination-bullet-size);
    background-color: var(--pagination-bullet-color);
    position: relative;
    opacity: 1;
    margin: 0 calc(var(--pagination-bullet-size) * 0.75) !important;
    transition: all 250ms ease-in-out;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active):hover {
    transform: scale(0.8);
}
.swiper-pagination-bullet::before {
    content: "";
    position: absolute;
    width: calc(var(--pagination-bullet-size) + var(--pagination-bullet-size));
    height: calc(var(--pagination-bullet-size) + var(--pagination-bullet-size));
    border-radius: var(--pagination-bullet-size);
    top: calc(var(--pagination-bullet-size) - calc(var(--pagination-bullet-size) * 1.5));
    left: calc(var(--pagination-bullet-size) - calc(var(--pagination-bullet-size) * 1.5));
    border: 1px solid var(--pagination-bullet-color);
    opacity: 0;
}
.swiper-pagination-bullet-active.swiper-pagination-bullet {
    transform: scale(1.2);
}
.swiper-pagination-bullet-active.swiper-pagination-bullet::before {
    opacity: 1;
}
/* Pagination End */
/* Custom Control Start */
.slider-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
}
/* Navigation */
.slider-controls .swiper-button-next,
.slider-controls .swiper-button-prev {
    position: relative;
    inset: 0 !important;
    margin-top: unset;
    width: var(--navigation-btn-size);
    height: var(--navigation-btn-size);
}
/* Pagination */
.slider-controls .swiper-pagination {
    position: relative;
    width: auto;
    top: unset;
    bottom: unset;
}
@media (max-width: 575px) {
    .video-container iframe {
        width: 100%;
        height: 100%;
    }
}
@media (max-width: 991.97px) {
    .slider-controls-lg {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
    }
    /* Navigation */
    .slider-controls-lg .swiper-button-next,
    .slider-controls-lg .swiper-button-prev {
        position: relative;
        inset: 0 !important;
        margin-top: unset;
        width: var(--navigation-btn-size);
        height: var(--navigation-btn-size);
    }
    /* Pagination */
    .slider-controls-lg .swiper-pagination {
        position: relative;
        width: auto;
        top: unset;
        bottom: unset;
    }
}
/* Custom Control End */
/* -------------------- Slider Classes End -------------------- */
/* -------------------- Header Start -------------------- */
header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1100;
    padding: var(--header-spacing);
    background-color: var(--color-grey);
    transition:
        background-color 350ms ease-in-out,
        transform 350ms ease-in-out;
}
header.active {
    background-color: transparent;
}
header.hide {
    transform: translateY(-120%);
}
.navbar {
    background-color: var(--color-white);
    border-radius: 70px;
    padding: 0.5rem 0.5rem 0.5rem 1.5rem;
    transition: box-shadow 350ms ease-in-out;
    box-shadow: 0px 0px 20px #00000020;
}
.navbar-brand {
    max-width: 120px;
}
.header-contact {
    font-size: 18px;
    font-weight: var(--font-weight-bold);
    color: var(--color-primary) !important;
    margin-left: auto;
    margin-right: 2rem;
    display: inline-block;
    transition: color 150ms ease-in-out;
}
.header-contact:hover {
    color: var(--color-secondary) !important;
}
/* Dropdown Toggle Icon Start */
.dropdown-toggle {
    position: relative;
    display: flex;
}
.dropdown-toggle::after {
    content: "\F285";
    font-family: bootstrap-icons;
    right: 0px;
    position: relative;
    transition: transform 350ms ease-in-out;
    border: unset;
    margin-left: 8px;
    transform: rotate(90deg);
}
.nav-link.show,
.nav-link:hover {
    color: var(--color-white) !important;
}
.nav-item:last-of-type .nav-link {
    background-color: var(--color-secondary);
}
.nav-item:last-of-type .nav-link:hover {
    background-color: var(--color-secondary-dark);
}
.dropdown-toggle.show::after {
    transform: rotate(-90deg);
}
/* Dropdown Toggle Icon End */
/* Menu Icon Start */
.menu-icon {
    width: 36px;
    height: 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    background-color: var(--color-secondary);
    padding: 11px 8px;
    border-radius: 50px;
    transition:
        background-color 250ms ease-in-out,
        transform 150ms ease-in-out;
}
.menu-icon:hover {
    transform: scale(0.95);
}
.menu-icon:hover,
.menu-icon.toggle {
    background-color: var(--color-secondary-dark);
}
.menu-icon-line {
    width: 100%;
    height: 2px;
    background-color: var(--color-white);
    transition:
        width 270ms linear,
        margin-left 270ms linear,
        transform 270ms linear;
}
.menu-icon-line:nth-child(1) {
    width: 65%;
}
.menu-icon-line:nth-child(2) {
    width: 100%;
}
.menu-icon-line:nth-child(3) {
    width: 65%;
    margin-left: auto;
}
.menu-icon.toggle .menu-icon-line:nth-child(1) {
    transform-origin: bottom;
    width: 100%;
    transform: rotatez(45deg) translate(4px, 5px);
}
.menu-icon.toggle .menu-icon-line:nth-child(3) {
    transform-origin: bottom;
    width: 100%;
    transform: translate(1px, -6px) rotatez(-45deg);
}
.menu-icon.toggle .menu-icon-line:nth-child(2) {
    width: 0;
}
/* Menu Icon End */
/* Offcanvas Start */
.offcanvas {
    --bs-offcanvas-width: 100%;
    top: calc(var(--header-height) + calc(var(--header-spacing) * 2)) !important;
    border-radius: 35px;
    margin-right: var(--header-spacing);
    margin-bottom: var(--header-spacing);
    margin-left: var(--header-spacing);
    border-left: unset !important;
    box-shadow: 0px 0px 20px #00000020;
    background-color: var(--color-primary);
    color: var(--color-white);
    width: 100% !important;
    max-width: calc(var(--bs-offcanvas-width) - calc(var(--header-spacing) * 2)) !important;
    overflow: hidden;
}
.offcanvas-body {
    padding: 1.5rem 0 calc(1.5rem + 60px);
    scrollbar-width: none;
}
.offcanvas-body::-webkit-scrollbar {
    display: none;
}
.offcanvas-backdrop {
    z-index: -1;
    opacity: 1 !important;
    background-color: color-mix(in srgb, var(--color-dark), transparent 40%);
    backdrop-filter: blur(3px);
}
.nav-link {
    font-size: 1.25rem;
    color: var(--color-white);
    position: relative;
    padding: 1rem 1.5rem;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.514);
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show,
.nav-link:focus,
.nav-link:hover {
    color: var(--color-white) !important;
    background-color: var(--color-primary-dark);
}
/* Offcanvas End */
/* Dropdown Menu */
.dropdown-menu {
    border: unset;
    background-color: transparent;
    padding: 1rem;
}
.dropdown-menu .common-card {
    padding: 15px;
    font-size: 14px;
}
.navbar-nav .dropdown-menu {
    margin: 0 !important;
}
/* .dropdown-menu a:focus,
.dropdown-menu a:hover {
    color: var(--bs-body-color) !important;
} */
@media (min-width: 576px) {
    .offcanvas {
        --bs-offcanvas-width: 400px;
    }
    .offcanvas-body {
        padding: 1.5rem 0;
    }
    .nav-link {
        padding: 1rem 2rem;
    }
}
@media (min-width: 992px) {
    header {
        position: fixed;
        background-color: transparent;
    }
    .navbar {
        padding: 10px 30px !important;
    }
    .navbar-brand {
        max-width: 130px;
    }
}
@media (min-width: 1400px) {
    .navbar-brand {
        max-width: 160px;
    }
    .menu-icon {
        width: 45px;
        height: 45px;
        padding: 13px 10px;
    }
    .menu-icon.toggle .menu-icon-line:nth-child(1) {
        transform: rotatez(45deg) translate(5px, 6px);
    }
    .menu-icon.toggle .menu-icon-line:nth-child(3) {
        transform: translate(1px, -9px) rotatez(-45deg);
    }
}
@media (max-width: 575.97px) {
    .header-contact {
        color: var(--color-white) !important;
        background-color: var(--color-secondary);
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        padding: 1rem 1.75rem;
    }
    .header-contact:hover {
        background-color: var(--color-secondary-dark) !important;
        color: var(--color-white) !important;
    }
}
/* -------------------- Header End -------------------- */
/* -------------------- Content Over BAckground Image Start -------------------- */
.content-over-background-image {
    position: relative;
}
.content-over-background-image-content {
    position: relative;
    z-index: 1;
    padding-top: var(--section-padding);
    padding-bottom: var(--section-padding);
}
.content-over-background-image-content p:last-of-type {
    margin-bottom: 0;
}
@media (min-width: 1200px) {
    .content-over-background-image-content {
        position: absolute !important;
        bottom: 0;
        z-index: 1;
        color: var(--color-white);
    }
    .content-over-background-image-content .heading,
    .content-over-background-image-content .sub-heading {
        color: var(--color-white);
        border-color: var(--color-white);
    }
}
/* -------------------- Content Over BAckground Image End -------------------- */
/* -------------------- Banner Start -------------------- */
.banner {
    background-color: var(--color-dark);
}
.banner-slider {
    /* height: 100vh; */
}
.banner-bg-image {
    width: 100%;
    max-height: 100vh;
    object-fit: cover;
}
.banner-content-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    background-color: var(--color-dark);
    padding-top: var(--section-padding);
}
.banner-content {
    display: flex;
    flex-direction: column;
    align-items: start;
}
.banner-content p {
    font-size: 20px;
}
.banner-slider .background-overlay::after,
.inner-banner.background-overlay::after {
    display: none;
}
/* Banner Slide Animation Start */
.banner .banner-content {
    transform: translateX(20px);
    opacity: 0;
    transition: all 500ms ease-in-out;
    transition-delay: 400ms;
}
.banner .swiper-slide-active .banner-content {
    opacity: 1;
    transform: translateY(0px);
}
/* Banner Slide Animation End */
@media (min-width: 768px) {
    .banner-slider .sub-heading {
        max-width: 650px;
        text-align: center;
    }
    .banner-content {
        align-items: center;
        text-align: center;
    }
}
@media (min-width: 992px) {
    .banner-content {
        max-width: 950px;
    }
    /* Banner Slide Animation Start */
    .banner .banner-content {
        transform: translateY(50px);
        opacity: 0;
        transition: all 700ms ease-in-out;
        transition-delay: 900ms;
    }
    .banner .swiper-slide-active .banner-content {
        opacity: 1;
        transform: translateY(0px);
    }
    /* Banner Slide Animation End */
    .banner-content-wrapper {
        padding: unset;
    }
    .banner-content {
        position: absolute;
        bottom: 0;
        z-index: 1;
        margin-bottom: 50px;
        padding: 0 20px;
    }
    .inner-banner .banner-content {
        max-width: 750px;
    }
    .banner-slider .background-overlay::after,
    .inner-banner.background-overlay::after {
        display: block;
        background: linear-gradient(to top, color-mix(in srgb, var(--color-dark), transparent 0%) 0%, color-mix(in srgb, var(--color-dark), transparent 73%) 50%, color-mix(in srgb, var(--color-dark), transparent 100%) 100%);
    }
}
/* -------------------- Banner End -------------------- */
/* -------------------- Inner Page Banner Start -------------------- */
/* .inner-banner {
    position: relative;
}
@media (min-width: 576px) {
    .inner-banner::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        pointer-events: none;
        background: linear-gradient(to top, color-mix(in srgb, var(--color-dark), transparent 0%) 0%, color-mix(in srgb, var(--color-dark), transparent 73%) 80%, color-mix(in srgb, var(--color-dark), transparent 100%) 100%);
    }
} */
/* -------------------- Inner Page Banner End -------------------- */
/* -------------------- Common Card Start -------------------- */
/* Normal Card */
.common-card {
    padding: 20px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    /* height: 100%; */
    background-color: var(--color-grey);
    color: var(--color-dark);
}
:is(.bg-grey) .common-card {
    background-color: var(--color-white);
}
.common-card img {
    border-radius: 15px;
    margin-bottom: 20px;
}
.common-card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.common-card-body * > :last-child {
    margin-bottom: 0;
}
/* Fix Height Card */
.common-card-fix-height {
    position: relative;
    height: 420px;
    overflow: hidden;
}
.common-card-fix-height img {
    position: absolute;
    height: 100%;
    inset: 0;
    object-fit: cover;
}
.common-card-body.z-1,
.common-card-body.z-1 .btn-arrow {
    color: var(--color-white) !important;
}
.background-overlay .common-card-body {
    position: relative;
    z-index: 1;
    color: var(--color-white);
}
.background-overlay .btn-arrow {
    color: var(--color-white);
}
/* Cards Group */
.common-card-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.common-cards-fix-height .common-card {
    height: 340px;
}
.common-card-body-horizontal-content {
    display: flex;
    margin-top: auto;
    gap: 20px;
    align-items: end;
    justify-content: space-between;
}
.common-card-body-horizontal-content P:last-of-type {
    margin-bottom: 0;
}
.icon {
    margin-bottom: 0;
    width: 40px;
    border-radius: unset !important;
}
.common-card ul:last-of-type {
    margin-bottom: 0;
}
@media (min-width: 576px) {
    .common-card-fix-height {
        height: 400px;
    }
    .common-card {
        padding: 30px;
    }
    .extra-padding {
        padding: 40px !important;
    }
    .common-card-fix-height {
        height: 520px;
    }
}
@media (min-width: 992px) {
    .common-card-group {
        gap: 30px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .common-card-body-horizontal-content {
        gap: 50px;
    }
    .common-cards-fix-height-lg .common-card {
        height: 340px;
    }
    .icon {
        margin-bottom: 0 !important;
        width: 60px;
    }
}
@media (min-width: 1400px) {
    .extra-padding {
        padding: 50px !important;
    }
}
@media (min-width: 1600px) {
    .common-card-group {
        padding-left: var(--section-padding);
        padding-right: var(--section-padding);
    }
}
/* -------------------- Common Card End -------------------- */
/* -------------------- Common Slider Start -------------------- */
.product-slider .common-card {
    height: 100%;
}
.product-slider .swiper-slide {
    height: auto !important;
}
/* -------------------- Common Slider End -------------------- */
/* -------------------- Common Card Big Start -------------------- */
* {
    --common-card-big-spacing: 16px;
    --common-card-big-radius: 20px;
}
@media (min-width: 576px) {
    * {
        --common-card-big-spacing: 20px;
        --common-card-big-radius: 30px;
    }
}
.common-card-big {
    position: relative;
    display: block;
    border-radius: var(--common-card-big-radius);
    overflow: hidden;
    /* color: var(--color-white) !important; */
}
.common-card-big-body {
    display: flex;
    flex-direction: column;
}
.common-card-big-body-more-content p:last-of-type {
    margin-bottom: 0;
}
@media (min-width: 576px) {
    .common-card-big-body {
        position: absolute;
        bottom: var(--common-card-big-spacing);
        left: var(--common-card-big-spacing);
        right: var(--common-card-big-spacing);
    }
    .common-card-big-body-more-content {
        padding: var(--common-card-big-spacing);
        border-radius: var(--common-card-big-radius);
        background-color: rgba(0, 0, 0, 0.5);
        color: var(--color-white);
        transition: all 300ms ease-in-out;
        overflow: hidden;
        opacity: 0;
        transition: opacity 350ms ease-in-out;
    }
    .common-card-big:hover .common-card-big-body-more-content {
        opacity: 1;
    }
}
@media (max-width: 575.97px) {
    .common-card-big-body {
        padding: 20px;
        background-color: var(--color-white);
        border-radius: var(--common-card-big-radius);
        margin-top: 1rem;
        height: 100%;
    }
    .common-card-big {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .common-slider-big .swiper-slide {
        height: auto;
    }
}
/* -------------------- Common Card Big End -------------------- */
/* -------------------- Accordion Start -------------------- */
.accordion {
    --bs-accordion-color: unset;
    --bs-accordion-bg: transparent;
    --accordion-bg-color: var(--color-grey);
    --accordion-gallery-bg-color: var(--color-white);
    --accordion-btn-color: var(--color-primary-dark);
    --accordion-border-color: var(--color-primary);
}
:is(.for-background-image, .background-overlay) .accordion {
    --accordion-bg-color: transparent;
    --accordion-btn-color: var(--color-white);
    --accordion-border-color: var(--color-white);
}
.accordion {
    border: 1px dashed var(--accordion-border-color);
    border-radius: var(--common-border-radius);
    overflow: hidden;
}
:is(.bg-grey) .accordion {
    --accordion-bg-color: var(--color-white);
    --accordion-gallery-bg-color: var(--color-grey);
}
.accordion-item {
    border-radius: unset !important;
    border: unset;
    transition: background-color 300ms ease;
}
.accordion-item:last-child {
    border-bottom: unset;
}
.accordion-item.collapsed .accordion-header .accordion-btn:after {
    transform: rotate(90deg);
}
.accordion-item.collapsed .accordion-header .accordion-btn:before {
    transform: rotate(180deg);
}
.accordion-header {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.accordion-header:not(.accordion-item:first-child .accordion-header) {
    border-top: 1px dashed var(--accordion-border-color);
}
.accordion-body {
    padding: 0 1rem 1rem;
}
.accordion-body *:last-child {
    margin-bottom: 0;
}
.accordion .accordion-btn {
    position: relative;
    padding-right: 30px;
    text-transform: uppercase;
    color: var(--accordion-btn-color);
    font-weight: 700;
    user-select: none;
}
.accordion .accordion-btn:before,
.accordion .accordion-btn:after {
    content: "";
    height: 2px;
    right: 0px;
    position: absolute;
    top: 10px;
    width: 15px;
    background-color: var(--accordion-btn-color);
    transition: transform 350ms ease-in-out;
}
.accordion-btn:after {
    transform-origin: center;
}
/* Hover */
/* .accordion-item:not(.collapsed),
.accordion-item:hover {
    background-color: var(--accordion-bg-color);
} */
.bg-white .accordion-item,
.accordion-item.collapsed {
    background-color: var(--accordion-bg-color);
}
.bg-grey .accordion-item {
    background-color: var(--color-white);
}
.common-card.gallery {
    background-color: var(--accordion-gallery-bg-color);
    padding: 20px;
}
@media (min-width: 576px) {
    .accordion-header {
        padding: 30px;
    }
    .accordion-body {
        padding: 0 30px 30px;
    }
}
/* -------------------- Accordion End -------------------- */
/* -------------------- Figure Section Start -------------------- */
.figures {
    display: grid;
    grid-template-columns: 1fr;
    border-bottom: 1px dashed var(--color-white);
    gap: 20px;
    justify-content: space-between;
    margin-top: 100px;
    flex-wrap: wrap;
    padding-bottom: 0.75rem;
}
.figures.figures-margin-small {
    margin-top: 20px;
}
.figure-item {
    display: flex;
    flex-direction: column;
}
.figure {
    font-size: 50px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
}
.figure-item {
    display: flex;
}
@media (min-width: 576px) {
    .figures {
        grid-template-columns: 1fr 1fr;
        margin-top: 200px;
    }
    .figures.figures-margin-small {
        margin-top: 40px;
    }
}
@media (min-width: 992px) {
    .figures {
        grid-template-columns: auto auto auto auto;
    }
}
/* -------------------- Figure Section End -------------------- */
/* -------------------- Post Classes Start -------------------- */
.post-info {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    /* border-bottom: 1px dashed var(--color-dark); */
    /* padding-bottom: 0.75rem;
    margin-bottom: 0.75rem; */
    font-weight: var(--font-weight-semi-bold);
}
.background-overlay .post-info {
    border-color: var(--color-white);
}
/* News Posts */
.news-post-content {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 1rem;
}
.news-post-content .grid-span-3 {
    grid-column: span 3;
}
/* -------------------- Post Classes End -------------------- */
/* -------------------- Footer Start -------------------- */
footer {
    --footer-spacing: clamp(16px, calc(16px + 34 * var(--screen-width-current)), 50px);
}
footer a,
.accordion .image-hover {
    color: var(--color-dark);
}
footer a:hover,
.accordion .image-hover:hover {
    color: var(--color-primary);
}
footer ul {
    margin-bottom: 0;
}
footer ul li:not(:last-child) {
    margin-bottom: 0.4rem;
}
.logo-link {
    display: inline-block;
}
.social-icon li {
    display: inline-block;
    margin-right: 12px;
}
.social-icon a {
    font-size: 1.5rem;
    /* color: var(--color-secondary); */
    display: block;
    aspect-ratio: 1;
}
.footer-link:hover {
    opacity: 1 !important;
}
.logo-link img {
    transition: transform 200ms ease-in-out;
    will-change: transform;
}
.logo-link:hover img {
    transform: scale(0.98);
}
.footer-content-wrapper {
    border-radius: var(--common-border-radius);
    padding: 0 var(--footer-spacing);
}
.footer-content {
    padding: var(--footer-spacing) 0;
}
.footer-copyright {
    padding: 0.75rem 0;
}
.footer-copyright a {
    color: var(--color-white) !important;
}
.footer-copyright a:hover,
a.blog-post-info-item:hover  {
    text-decoration: underline;
}
.footer-copyright * {
    font-size: 14px;
}
/* -------------------- Footer End -------------------- */
/* -------------------- Map Start -------------------- */
.map {
    display: flex;
    aspect-ratio: 1920 / 920;
    width: 100%;
}
form label {
    margin-bottom: 0.5rem;
}
.contact-info {
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}
.contact-info .common-card {
    height: 100%;
}
.contact-info .common-card a:hover {
    color: var(--color-primary-dark);
    text-decoration: none;
}
.contact-info .common-card a {
    font-size: 1rem;
    color: var(--color-dark);
    transition: 0.3s all ease-in-out;
}
.contact-info p:last-of-type {
    margin-bottom: 0;
}
.icon-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}
.form-control:focus {
    box-shadow: unset;
    border-color: var(--color-secondary);
}

/* -------------------- Blog Css Start -------------------- */
.blog-input {
    padding: 25px;
    border: unset;
    outline: unset;
    width: 100%;
    background-color: transparent;
    display: flex;
    justify-content: space-between;
}
.blog-content-item a,
.blog-post-info-item{
    font-size: 14px;
}
.dropdown.post-filter-item .blog-input {
    border-bottom: 1px dashed var(--color-primary);
}
.post-filters li:last-child .dropdown-item {
    border-bottom: unset;
}
.post-search-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: transparent;
    border: unset;
    right: 25px;
    padding: 0;
}
.bi-search{
    transition: all 300ms ease-in-out;
}
.bi-search:hover{
    color: var(--color-primary);
}
.post-filter-item:hover {
    background-color: var(--color-white);
}
.post-filters {
    border: 1px dashed var(--color-primary);
    border-radius: 20px;
}
.post-filters .dropdown-menu:not([data-popper-placement="top-start"]) {
    top: -2px !important;
    border-top: unset;
    border-top-left-radius: unset;
    border-top-right-radius: unset;
}
.post-filter-item .dropdown-menu {
    width: 100%;
    background-color: var(--color-white);
    border: 1px dashed var(--color-primary);
    border-radius: 0px;
    padding: 0;
    overflow: hidden;
    left: -1px !important;
    box-sizing: content-box;
    border-radius: 12px;
}
.dropdown-item {
    transition: all 300ms ease-in-out;
}
.post-filters .dropdown-item {
    border-bottom: 1px dashed var(--color-primary);
    padding: 0.75rem;
}
.post-filters .post-filter-item:last-child {
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}
.post-filters .post-filter-item:first-child {
    border-top-right-radius: 20px;
    border-top-left-radius: 20px;
}
.dropdown-item:hover,
.dropdown-item.active {
    background-color: var(--color-secondary);
    color: var(--color-white);
}
.single-post-page-list-item,
.single-post-page-categories a {
    /* font-weight: var(--font-weight-bold); */
    color: var(--color-dark);
    display: block;
    padding: 15px 0px;
}
.single-post-page-categories {
    list-style: none;
}
.single-post-page-categories:first-of-type li a {
    border-top: 1px dashed var(--color-primary);
}
.single-post-page-categories li:last-child a {
    border-bottom: 1px dashed var(--color-primary);
}
.single-post-page-list-item {
    border-bottom: 1px dashed var(--color-primary);
}
.single-post-page-list-item a:hover,
.single-post-page-categories a:hover,
.blog-nav a:hover {
    color: var(--color-primary);
}
.single-post-page-list-item a,
.single-post-page-categories a,
.blog-nav a {
    text-decoration: none !important;
    color: var(--color-dark);
    transition: 0.3s all ease-in-out;
}
.blog-nav {
    padding: 20px;
    /* border: 1px solid rgba(0, 0, 0, 0.589); */
}
/* .blog-nav:last-child {
    border-bottom-right-radius: 12px;
    border-top-right-radius: 12px;
} */
.blog-nav:first-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.651);
}
.blog-btn-main {
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.651);
}
@media (min-width: 768px) {
    .blog-nav:first-child {
        border-right: 1px solid rgba(0, 0, 0, 0.651);
        border-bottom: unset;
    }
}
