@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&family=Roboto:wght@300;400;500&display=swap");

:root {
    --heading-font: "Montserrat", sans-serif;
    --body-font: "Roboto", sans-serif;
    --h1: clamp(2.8125rem, 4vw + 1rem, 4.209rem);
    --h2: clamp(2.06rem, 2.0vw + 1rem, 3rem);
    --h3: clamp(1.875rem, 1.8vw + 1rem, 2.369rem);
    --h4: 1.777rem;
    --h5: 1.333rem;
    --h6: 1rem;
    --base: 136 90 63;
    --accent-h: 205;
    --accent-s: 100%;
    --accent-l: 14%;
    --accent-50: var(--accent-h) var(--accent-s) calc(var(--accent-l) + 25%);
    --accent-100: var(--accent-h) var(--accent-s) calc(var(--accent-l) + 20%);
    --accent-200: var(--accent-h) var(--accent-s) calc(var(--accent-l) + 15%);
    --accent-300: var(--accent-h) var(--accent-s) calc(var(--accent-l) + 10%);
    --accent-400: var(--accent-h) var(--accent-s) calc(var(--accent-l) + 5%);
    --accent: var(--accent-h) var(--accent-s) var(--accent-l);
    --accent-600: var(--accent-h) var(--accent-s) calc(var(--accent-l) - 5%);
    --accent-700: var(--accent-h) var(--accent-s) calc(var(--accent-l) - 10%);
    --accent-800: var(--accent-h) var(--accent-s) calc(var(--accent-l) - 15%);
    --accent-900: var(--accent-h) var(--accent-s) calc(var(--accent-l) - 20%);
    --primary: 199 100% 60%;
    --secondary: 210 11% 71%;
    --success: 134 75% 72%;
    --danger: 358 91% 66%;
    --warning: 29 100% 63%;
    --info: 188 92% 45%;
    --dark: 225 23% 17%;
    --text: 205 100% 14%;
    --heading: 0 0% 13%;
    --border: 0 0% 88%;
    --light-h: 140;
    --light-s: 27%;
    --light-l: 98%;
    --light-50: var(--light-h) var(--light-s) calc(var(--light-l) + 33%);
    --light-100: var(--light-h) var(--light-s) calc(var(--light-l) + 20%);
    --light-200: var(--light-h) var(--light-s) calc(var(--light-l) + 15%);
    --light-300: var(--light-h) var(--light-s) calc(var(--light-l) + 10%);
    --light-400: var(--light-h) var(--light-s) calc(var(--light-l) + 5%);
    --light: var(--light-h) var(--light-s) var(--light-l);
    --light-600: var(--light-h) var(--light-s) calc(var(--light-l) - 5%);
    --light-700: var(--light-h) var(--light-s) calc(var(--light-l) - 10%);
    --light-800: var(--light-h) var(--light-s) calc(var(--light-l) - 15%);
    --light-900: var(--light-h) var(--light-s) calc(var(--light-l) - 20%);
    --white: 0 0% 100%;
    --black-h: 0;
    --black-s: 0%;
    --black-l: 0%;
    --black-50: var(--black-h) var(--black-s) calc(var(--black-l) + 33%);
    --black-100: var(--black-h) var(--black-s) calc(var(--black-l) + 20%);
    --black-200: var(--black-h) var(--black-s) calc(var(--black-l) + 15%);
    --black-300: var(--black-h) var(--black-s) calc(var(--black-l) + 10%);
    --black-400: var(--black-h) var(--black-s) calc(var(--black-l) + 5%);
    --black: var(--black-h) var(--black-s) var(--black-l);
    --black-600: var(--black-h) var(--black-s) calc(var(--black-l) - 5%);
    --black-700: var(--black-h) var(--black-s) calc(var(--black-l) - 10%);
    --black-800: var(--black-h) var(--black-s) calc(var(--black-l) - 15%);
    --black-900: var(--black-h) var(--black-s) calc(var(--black-l) - 20%);
}

html {
    font-size: 16px;
}

body {
    position: relative;
    font-family: var(--body-font);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: hsl(var(--text));
}

p {
    margin-bottom: 1.5rem;
}

.modal p {
    margin: 0 !important;
}

h1,
h2,
h3,
h4,
h5 {
    margin: 1.5rem 0 1rem;
    font-family: var(--heading-font);
    font-weight: 600;
    line-height: 1.15;
    color: hsl(var(--text));
}

h1 {
    margin-top: 0;
    font-size: var(--h1);
}

h2 {
    font-size: var(--h2);
}

h3 {
    font-size: var(--h3);
}

h4 {
    font-size: var(--h4);
}

h5 {
    font-size: var(--h5);
}

h6 {
    font-size: var(--h6);
}

small,
.sm-text {
    font-size: 14px;
}

.lg-text {
    font-size: 18px;
}

.xl-text {
    font-size: 20px;
}

.xxl-text {
    font-size: 22px;
}

.fw-light {
    font-weight: 300;
}

.fw-regular {
    font-weight: 400;
}

.fw-md {
    font-weight: 500;
}

.lh-1 {
    line-height: 1;
}

.hr {
    background-color: rgb(var(--base));
}

button:focus {
    outline: none !important;
}

.btn:focus,
.btn.focus {
    outline: none;
    box-shadow: none;
}

input:focus {
    outline: none;
}

textarea {
    resize: none;
}

@media screen and (min-width: 1600px) {
    .container-restricted {
        max-width: 1540px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

/*---------------------------------------
    0.2 Modules Style
-----------------------------------------*/
/*---------------------------------------
    2.1 Hero
-----------------------------------------*/
.hero {
    display: flex;
    flex-direction: column;
    position: relative;
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    z-index: 2;
    padding-top: 65px;
}

@media (max-width: 1199px) {
    .hero {
        padding-top: 84px;
    }
}

@media (max-width: 991px) {
    .hero {
        padding-top: 66px;
    }
}

@media screen and (min-width: 768px) {
    .hero {
        min-height: 45vh;
    }
}

.hero::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(to right, hsl(var(--accent)/0.5), hsl(var(--accent)/0.2));
    mix-blend-mode: multiply;
    z-index: -1;
}

.hero__img {
    position: relative;
}

@media screen and (min-width: 1600px) {
    .hero__img-is {
        width: 750px;
        max-width: 750px;
        height: 750px;
        object-fit: contain;
    }
}

.hero__content {
    padding-top: 80px;
    padding-bottom: 80px;
    margin-top: auto;
    margin-bottom: auto;
}

@media screen and (max-width: 575px) {
    .hero__content-title {
        font-size: 22px;
    }
}

@media screen and (max-width: 991px) {
    .hero-button {
        text-align: left;
    }

    .hero-button .btn {
        width: 100%;
    }
}




@media screen and (max-width: 768px) {
    .hero__content {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

.hero__content-para {
    max-width: 42ch;
}


@media (max-width: 1199px) {
    .overlay {
        position: fixed;
        width: 100%;
        height: 100%;
        content: "";
        left: 0;
        top: 0;
        background-color: hsl(var(--black) / .75);
        z-index: 99;
        transition: .2s linear;
        visibility: hidden;
        opacity: 0;

    }

    .overlay.show {
        visibility: visible;
        opacity: 1;
    }
}

/*---------------------------------------
    2.2 Header
-----------------------------------------*/
.header {
    padding: 15px 0;
    position: relative;
    z-index: 10;
}

@media screen and (min-width: 992px) {
    .header {
        padding: 0;
    }
}

.header__top {
    padding: 13px 45px;
    position: relative;
    background: hsl(var(--light));
}

@media screen and (min-width: 992px) {
    .header__top {
        padding: 12px 25px;
    }
}

@media screen and (min-width: 1200px) {
    .header__top {
        padding: 12px 45px;
    }
}

.header--primary {
    padding: 10px 0;
    position: absolute;
    width: 100%;
    background: rgba(var(--dark-r), var(--dark-g), var(--dark-b), 0.5);
    z-index: 10;
    transition: all 0.3s ease;
    z-index: 999;
}

@media (max-width: 1199px) {
    .header--primary {
        background-color: hsl(var(--accent-700));
    }
}

/*---------------------------------------
    2.3 Logo
-----------------------------------------*/

.logo {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 140px;
    height: 46px;
    font-size: 24px;
    font-family: var(--heading-font);
    font-weight: 600;
    color: hsl(var(--white));
    letter-spacing: 0.03em;
}

.logo:hover {
    color: hsl(var(--white));
}

@media screen and (min-width: 992px) {
    .logo {
        height: 64px;
        max-width: 160px;
    }
}

.logo__is {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/*---------------------------------------
    2.4 List
-----------------------------------------*/
.list {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}

.list__item {
    position: relative;
}

.list--row {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}

.list--row-sm {
    gap: 0.5rem;
}

.list--row-xl {
    gap: 2rem;
}

.list--row__item:last-child {
    margin-right: 0;
}

.list--row__item-sm {
    margin-top: 2px;
    margin-bottom: 2px;
    margin-right: 0.5rem;
}

.list--row__item-sm:last-child {
    margin-right: 0;
}

.list--row__item-xl {
    margin-top: 2px;
    margin-bottom: 2px;
    margin-right: 2rem;
}

.list--row__item-xl:last-child {
    margin-right: 0;
}

.list--column {
    flex-direction: column;
}

.list--column__item {
    margin-bottom: 1rem;
}

.list--column__item:last-child {
    margin-bottom: 0;
}

.list--column__item-none {
    margin-bottom: 0;
}

.list--column__item-sm {
    margin-bottom: 0.5rem;
}

.list--column__item-sm:last-child {
    margin-bottom: 0;
}

.list--column__item-xl {
    margin-bottom: 2rem;
}

.list--column__item-xl:last-child {
    margin-bottom: 0;
}

.list--primary li {
    position: relative;
    display: flex;
    align-items: center;
}

.list--primary li::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: hsl(var(--white));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 50%;
    margin-right: 14px;
    background: hsl(var(--primary));
}

.list--base li {
    position: relative;
    display: flex;
    align-items: center;
}

.list--base li::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: hsl(var(--white));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 50%;
    margin-right: 14px;
    background-color: rgb(var(--base));
}

/*
---------------------------------------
    2.5 Nav
-----------------------------------------
*/

.navs {
    min-width: 100%;
    position: absolute;
    top: 100%;
    right: 0;
    border-radius: 0px;
    background-color: hsl(var(--accent-700));
    transition: all 0.4s ease;
    visibility: hidden;
    opacity: 0;
    z-index: -9999;
    box-shadow: 0 5px 15px hsl(var(--black)/0.3);
}

@media screen and (min-width: 1199px) {
    .navs {
        display: flex;
        align-items: center;
        min-width: auto;
        position: relative;
        top: auto;
        right: auto;
        visibility: visible;
        opacity: 1;
        z-index: 9998;
        background: transparent;
        box-shadow: none;
    }

    .navs::after {
        display: none;
    }
}

.navs::after {
    content: "";
    border-top: 10px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid hsl(var(--light));
    position: absolute;
    top: -20px;
    right: 10px;
}

@media (max-width: 1199px) {
    .navs::after {
        display: none;
    }
}

.navs--toggle {
    padding: 3px 5px;
    border-radius: 2px;
    border: 1px solid hsl(var(--light));
    font-size: 24px;
    color: hsl(var(--white));
    line-height: 1;
    transition: all 0.3s ease;
}

.navs--toggle:hover {
    background-color: hsl(var(--white));
    color: hsl(var(--dark));
}

/*---------------------------------------
    2.6 Primary Menu
-----------------------------------------*/
.primary-menu {
    flex-direction: column;
}

.nav--toggle {
    font-size: 30px;
    line-height: 1;
}

.nav-toggler .nav--toggle i::before {
    content: "\f00d";
}

@media (max-width: 1199px) {
    .primary-menu {
        max-width: 936px;
        margin: 0 auto;
    }
}

@media (max-width: 991px) {
    .primary-menu {
        max-width: 700px;
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .primary-menu {
        max-width: 520px;
        margin: 0 auto;
    }
}

@media (max-width: 575px) {
    .primary-menu {
        max-width: 100%;
        padding: 0 15px;
        margin: 0 auto;
    }
}

@media screen and (min-width: 1199px) {
    .primary-menu {
        flex-direction: row;
        align-items: center;
    }
}

.primary-menu--dark {
    background: hsl(var(--dark));
}

@media screen and (min-width: 1199px) {
    .primary-menu--dark .primary-menu__link {
        color: hsl(var(--white));
    }
}

.primary-menu__list {
    position: relative;
}

@media screen and (min-width: 1199px) {
    .primary-menu__list {
        margin-right: 1rem;
    }

    .primary-menu__list:first-child {
        padding-left: 1rem;
    }

    .primary-menu__list:last-child {
        margin-right: 0;
    }
}

@media screen and (min-width: 1399px) {
    .primary-menu__list {
        margin-right: 1.5rem;
    }
}

@media screen and (min-width: 1199px) {
    .primary-menu__list.has-sub:hover .primary-menu__link {
        border-bottom: none;
        color: rgb(var(--base));
    }
}

@media screen and (min-width: 1199px) {
    .primary-menu__list.has-sub:hover .primary-menu__link::after {
        content: "\f106";
    }
}

@media screen and (min-width: 1199px) {
    .primary-menu__list.has-sub:hover .primary-menu__sub {
        top: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
        z-index: 9999 !important;
    }
}

.primary-menu__list.has-sub .primary-menu__link::after {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    line-height: 1;
    display: inline-block;
    position: absolute;
    right: 15px;
    font-size: 14px;
}

@media screen and (min-width: 1199px) {
    .primary-menu__list.has-sub .primary-menu__link::after {
        position: relative;
        right: -5px;
        top: 0;
    }
}

.primary-menu__link {
    display: block;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-left: 0;
    margin-right: 0;
    border-bottom: 1px solid hsl(var(--white)/0.15);
    text-decoration: none;
    transition: all 0.3s ease;
    color: hsl(var(--white));
}

@media screen and (min-width: 1199px) {
    .primary-menu__link {
        color: hsl(var(--white));
        margin-left: 0;
        margin-right: 0;
        font-weight: 500;
        border-bottom: none;
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

.primary-menu__link:hover {
    color: rgb(var(--base));
    text-decoration: none;
}

.primary-menu--alt {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

@media screen and (min-width: 1199px) {
    .primary-menu--alt {
        padding-top: 0;
        padding-bottom: 0;
    }
}

.primary-menu--alt .primary-menu__list {
    margin-bottom: 0.5rem;
}

@media screen and (min-width: 1199px) {
    .primary-menu--alt .primary-menu__list {
        margin-bottom: 0;
    }
}

.primary-menu--alt .primary-menu__list:last-child {
    margin-bottom: 0;
}


@media (max-width: 1199px) {
    .primary-menu--alt .primary-menu__list:nth-last-child(3) {
        margin-bottom: 20px;
    }
}

.primary-menu--alt .list--row__item {
    margin-right: 0;
}

@media screen and (min-width: 992px) {
    .primary-menu--alt .list--row__item {
        margin-right: 1rem;
    }

    .primary-menu--alt .list--row__item:last-child {
        margin-right: 0;
    }
}

.primary-menu__sub {
    list-style: none;
    padding: 0;
    z-index: -9999;
    visibility: hidden;
    opacity: 0;
    height: 0;
    transition: all 0.3s ease;
}

@media screen and (min-width: 1199px) {
    .primary-menu__sub {
        min-width: 220px;
        height: auto;
        padding: 15px;
        position: absolute;
        left: 50%;
        top: calc(100% + 20px);
        transform: translateX(-50%);
        margin-left: 0;
        margin-right: 0;
        background-color: hsl(var(--white));
        border-radius: 5px;
        box-shadow: 0 5px 15px hsl(var(--dark)/0.4);
    }

    .primary-menu__sub::after {
        content: "";
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid transparent;
        border-bottom: 10px solid hsl(var(--light));
        position: absolute;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
    }
}

.primary-menu__sub-list {
    border-bottom: 1px solid hsl(var(--white)/0.15);
}

@media screen and (min-width: 1199px) {

    .primary-menu__sub-list:last-child {
        border-bottom: 0;
    }

    .primary-menu__sub-list:hover {
        border-bottom: 1px solid transparent;
    }
}

.primary-menu__sub-list:first-child {
    border-top: none;
}

.primary-menu__sub-list:first-child .primary-menu__sub-link {
    border-radius: 3px 3px 0 0;
}

.primary-menu__sub-list:last-child .primary-menu__sub-link {
    border-radius: 0 0 3px 3px;
}

.primary-menu__sub-link {
    display: block;
    padding: 8px 0px;
    color: hsl(var(--white));
    transition: all 0.3s ease;
    position: relative;
}

@media screen and (min-width: 1199px) {
    .primary-menu__sub-link {
        background-color: hsl(var(--white));
        color: hsl(var(--heading));
        border-radius: 3px !important;
        padding: 8px 15px;
    }
}

.primary-menu__sub-link:hover {
    color: hsl(var(--white));
}

@media screen and (min-width: 1199px) {
    .primary-menu__sub-link:hover {
        color: hsl(var(--white));
        background-color: rgb(var(--base));
    }
}

/*---------------------------------------
    2.7 Nav Toggler
-----------------------------------------*/
.nav-toggler .navs {
    visibility: visible;
    opacity: 1;
    z-index: 9997;
    top: 100%;
    border-bottom: 1px solid #dddddd47;
}

@media screen and (min-width: 1199px) {
    .nav-toggler .navs {
        top: auto;
        border-bottom: 0;
    }
}

.nav-toggler .navs--toggle {
    background-color: hsl(var(--white));
    color: hsl(var(--text));
}

/*---------------------------------------
    2.8 Nice Select
-----------------------------------------*/
.custom--nice-select .nice-select {
    width: 100%;
    height: 50px;
    line-height: 48px;
    border-radius: 3px;
    background: transparent;
    font-size: 16px;
}

.custom--nice-select .nice-select::after {
    height: 8px;
    width: 8px;
    margin-top: -6px;
    border-bottom: 2px solid hsl(var(--primary));
    border-right: 2px solid hsl(var(--primary));
}

.custom--nice-select .nice-select .list {
    flex-direction: column;
    background: hsl(var(--primary));
    right: 0;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 10px 15px hsl(var(--dark)/0.2);
}

.custom--nice-select .nice-select .list .option {
    color: hsl(var(--white));
}

.custom--nice-select .nice-select .list .option:hover {
    color: hsl(var(--white));
    background: hsl(var(--primary));
}

.custom--nice-select .nice-select .list .selected {
    background: hsl(var(--primary));
}

.custom--nice-select .nice-select .current {
    color: hsl(var(--text)/0.7);
}

.custom--nice-select .nice-select:active,
.custom--nice-select .nice-select.open,
.custom--nice-select .nice-select:focus {
    border-color: hsl(var(--border));
}

.custom--nice-select--outline .nice-select {
    border: 1px solid hsl(var(--light));
}

.custom--nice-select--light .nice-select::after {
    border-bottom: 2px solid hsl(var(--light));
    border-right: 2px solid hsl(var(--light));
}

.custom--nice-select--light .current {
    color: hsl(var(--white));
}

/*---------------------------------------
    2.9 Form Control
-----------------------------------------*/
.form--control {
    height: 50px !important;
    line-height: 40px;
    border-radius: 3px;
    font-size: 14px;
    border: 1px solid hsl(var(--border)/0.5);
    background: hsl(var(--light-400));

    transition: all 0.3s ease;
}

.form--control::placeholder {
    color: hsl(var(--accent)/0.5);
}

.form--control:focus {
    outline: none;
    border: 1px solid hsl(var(--accent)/0.5);
    background: hsl(var(--light-400));
    box-shadow: none;
}

.form--control:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px hsl(var(--light-400)) inset;
}

textarea.form--control {
    height: 120px !important;
}

.form--control-textarea {
    padding-top: 15px;
    border-radius: 3px;
    font-size: 14px;
    border: 1px solid hsl(var(--border)/0.5);
    background: hsl(var(--light-400));
    height: 120px !important;
    transition: all 0.3s ease;
}


.form--control-textarea:focus {
    outline: none;
    border: 1px solid hsl(var(--accent)/0.5);
    background: hsl(var(--light-400));
    box-shadow: none;
}

.form--control[readonly] {
    background: #fafaf7;
    border: 1px solid hsl(var(--border)/0.5);
    color: hsl(var(--dark));
}

.form--control[disabled] {
    background: #fafaf7;
    border: 1px solid hsl(var(--border)/0.5);
    color: hsl(var(--dark));
}

.form--control[type=file] {
    line-height: 38px;
}

.input-group-text {
    border: 1px solid hsl(var(--border)/0.5);
    border-right: none;
    background: hsl(var(--light-600));
    color: hsl(var(--text));
    padding-inline: 15px;

    font-size: 14px;
}

.input-group-width {
    max-width: 160px;
    width: 100%;
    text-align: left;
}

@media screen and (max-width: 575px) {
    .input-group-width {
        max-width: 130px;
        font-size: 12px;

    }
}

/*---------------------------------------
    2.10 Primary Submenu Toggler
-----------------------------------------*/
.primary-submenu-toggler {
    position: relative;
}

.primary-submenu-toggler .primary-menu__list.has-sub.active {
    padding-bottom: 5px;
    background-color: rgb(var(--base)/0.2);
}

@media screen and (min-width: 992px) {
    .primary-submenu-toggler .primary-menu__list.has-sub.active {
        padding-bottom: 0;
        background: transparent;
    }
}

.primary-submenu-toggler .primary-menu__list.has-sub.active .primary-menu__link {
    color: rgb(var(--base));
}

@media screen and (min-width: 1199px) {
    .primary-submenu-toggler .primary-menu__list.has-sub.active .primary-menu__link {

        background: transparent;
    }
}

.primary-submenu-toggler .primary-menu__list.has-sub.active .primary-menu__sub {
    visibility: visible;
    opacity: 1;
    height: auto;
    z-index: 9999;
}

@media screen and (min-width: 1199px) {
    .primary-submenu-toggler .primary-menu__list.has-sub.active .primary-menu__sub {
        z-index: -9999;
        visibility: hidden;
        opacity: 0;
    }
}

/*---------------------------------------
    2.11 Preloader
-----------------------------------------*/
.preloader {
    position: relative;
    display: grid;
    place-items: center;
    height: 100vh;
    background-color: hsl(var(--dark));
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 9999;
}

.preloader__loader {
    --loader-part-size: 24px;
    --loader-size: calc(var(--loader-part-size) * 3);
    position: relative;
    width: var(--loader-size);
    height: var(--loader-size);
}

.preloader__loader.hidden {
    display: none;
}

.preloader__loader span {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--loader-part-size);
    height: var(--loader-part-size);
    background-color: rgb(var(--base));
    box-shadow: 0 0 6px rgb(var(--base));
    transform-origin: center center;
    animation: main 6s ease infinite, fading 6s ease infinite;
}

.preloader__loader span:nth-child(1) {
    --translationValue: calc(var(--loader-part-size) / 4),
        calc(var(--loader-part-size) / 4);
    --translationValueWhenAssebled: var(--loader-part-size), 0px;
    --translationBeforeDisassembling: calc(var(--loader-part-size) / 4),
        calc(var(--loader-part-size) / 4 * -1);
    top: 0;
    left: var(--loader-part-size);
    animation-delay: 0s, 0.2s;
}

.preloader__loader span:nth-child(2) {
    --translationValue: calc(var(--loader-part-size) / 4),
        calc(var(--loader-part-size) / 4 * -1);
    --translationValueWhenAssebled: 0px, calc(var(--loader-part-size) * -1);
    --translationBeforeDisassembling: calc(var(--loader-part-size) / 4 * -1),
        calc(var(--loader-part-size) / 4 * -1);
    top: var(--loader-part-size);
    left: 0;
}

.preloader__loader span:nth-child(3) {
    --translationValue: calc(var(--loader-part-size) / 4 * -1),
        calc(var(--loader-part-size) / 4);
    --translationValueWhenAssebled: 0px, var(--loader-part-size);
    --translationBeforeDisassembling: calc(var(--loader-part-size) / 4),
        calc(var(--loader-part-size) / 4);
    top: var(--loader-part-size);
    right: 0;
    animation-delay: 0s, 0.4s;
}

.preloader__loader span:nth-child(4) {
    --translationValue: calc(var(--loader-part-size) / 4 * -1),
        calc(var(--loader-part-size) / 4 * -1);
    --translationValueWhenAssebled: calc(var(--loader-part-size) * -1), 0px;
    --translationBeforeDisassembling: calc(var(--loader-part-size) / 4 * -1),
        calc(var(--loader-part-size) / 4);
    bottom: 0;
    left: var(--loader-part-size);
    animation-delay: 0s, 0.6s;
}

@keyframes fading {
    0% {
        opacity: 1;
    }

    8% {
        opacity: 0.2;
    }

    16.6%,
    33.2% {
        opacity: 1;
    }

    41.6% {
        opacity: 0.2;
    }

    50%,
    66.6% {
        opacity: 1;
    }

    74.9% {
        opacity: 0.2;
    }

    83.2%,
    100% {
        opacity: 1;
    }
}

@keyframes main {

    0%,
    25% {
        transform: rotate(0) translate(0, 0);
    }

    33.3%,
    58.3% {
        transform: rotate(45deg) translate(var(--translationValue));
    }

    62.45% {
        transform: rotate(90deg) translate(var(--translationValueWhenAssebled));
    }

    66.6%,
    91.6% {
        transform: rotate(135deg) translate(var(--translationBeforeDisassembling));
    }

    100% {
        transform: rotate(180deg) translate(0, 0);
    }
}

/*---------------------------------------
    2.12 Back To Top
-----------------------------------------*/
.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    background-color: rgb(var(--base));
    color: hsl(var(--white));
    text-align: center;
    line-height: 40px;
    border-radius: 50%;
    z-index: 99;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 0 5px hsl(var(--black)/0.5);
    display: none;
}

/*---------------------------------------
    2.13 Button Style
-----------------------------------------*/
.btn {
    font-weight: 500;
    transition: all 0.3s ease;
    border-radius: 3px;
}

.btn:hover {
    box-shadow: 0 8px 15px hsl(var(--dark)/0.4);
}

.btn--primary {
    background: hsl(var(--primary));
    color: hsl(var(--white));
}

.btn--primary:hover {
    color: hsl(var(--white));
    background: hsl(var(--primary));
}

.btn--secondary {
    background: hsl(var(--secondary));
    color: hsl(var(--white));
}

.btn--secondary:hover {
    color: hsl(var(--white));
    background: hsl(var(--secondary));
}

.btn--success {
    background: hsl(var(--success));
    color: hsl(var(--white));
}

.btn--success:hover {
    color: hsl(var(--white));
    background: hsl(var(--success));
}

.btn--danger {
    background: hsl(var(--danger));
    color: hsl(var(--white));
}

.btn--danger:hover {
    color: hsl(var(--white));
    background: hsl(var(--danger));
}

.btn--warning {
    background: hsl(var(--warning));
    color: hsl(var(--white));
}

.btn--warning:hover {
    color: hsl(var(--white));
    background: hsl(var(--warning));
}

.btn--info {
    background: hsl(var(--info));
    color: hsl(var(--white));
}

.btn--info:hover {
    color: hsl(var(--white));
    background: hsl(var(--info));
}

.btn--dark {
    background: hsl(var(--dark));
    color: hsl(var(--white));
}

.btn--dark:hover {
    color: hsl(var(--white));
    background: hsl(var(--dark));
}

.btn--light {
    background-color: hsl(var(--white));
    color: hsl(var(--primary));
}

.btn--light:hover {
    color: hsl(var(--white));
    background: hsl(var(--dark));
}

.btn--base {
    background: rgb(var(--base));
    color: hsl(var(--white));
}

.btn--base:hover {
    color: hsl(var(--white));
    background: rgb(var(--base));
}

.btn-base--outline {
    background-color: transparent;
    border: 1px solid rgb(var(--base)) !important;
    color: rgb(var(--base)) !important;
}

.btn-base--outline:hover {
    background: rgb(var(--base));
    color: hsl(var(--white)) !important;
}

.btn--sqr {
    line-height: 1;
    padding: 0.75rem;
    font-size: 20px;
}

.btn--sm {
    padding: 0.3rem 1rem;
}

.btn--md {
    padding: 0.5rem 1rem;
}

.btn--lg {
    padding: 0.625rem 1.25rem;
}

.btn--xl {
    padding: 0.75rem 1.5rem;
}

.btn--xxl {
    padding: 1rem 2rem;
}

.btn--outline {
    border: 1px solid hsl(var(--border));
    background: transparent;
}

.btn--outline:hover {
    color: hsl(var(--white));
    background: hsl(var(--primary));
    border-color: hsl(var(--primary));
}

.btn--outline.active {
    color: hsl(var(--white));
    background: hsl(var(--primary));
    border-color: hsl(var(--primary));
}

.btn--custom {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 30px;
    padding-right: 30px;
    background: transparent;
    border: 2px solid rgb(var(--base));
    color: rgb(var(--base));
}

.btn--custom:hover {
    color: rgb(var(--base));
    background-color: hsl(var(--white));
    border: 2px solid rgb(var(--base));
}

.btn--custom.active {
    background-color: rgb(var(--base));
    color: hsl(var(--white));
}

.btn--login {
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 30px;
    padding-right: 30px;
    background: rgb(var(--base));
    border: 2px solid rgb(var(--base));
    color: hsl(var(--white));
}

@media screen and (min-width: 992px) {
    .btn--login {
        padding: 0;
        border: none;
        background: transparent;
    }
}

.btn--login:hover {
    background: rgb(var(--base));
    border: 2px solid rgb(var(--base));
    color: hsl(var(--white));
}

@media screen and (min-width: 992px) {
    .btn--login:hover {
        padding: 0;
        border: none;
        background: transparent;
        box-shadow: none;
        color: rgb(var(--base));
    }
}

/*---------------------------------------
    2.14 Section 
-----------------------------------------*/
.section {
    padding-top: 120px;
    padding-bottom: 120px;
}

@media screen and (max-width: 991px) {
    .section {
        padding-top: 75px;
        padding-bottom: 75px;
    }
}

.section--sm {
    padding-top: clamp(30px, 4vw, 60px);
    padding-bottom: clamp(30px, 4vw, 60px);
}

.section--top {
    padding-top: clamp(60px, 8vw, 100px);
}

.section--bottom {
    padding-bottom: clamp(60px, 8vw, 100px);
}

.section__head {
    padding-bottom: clamp(30px, 4vw, 60px);
}

.section__para {
    max-width: 50ch;
}

.section__subtitle {
    display: inline-block;
    position: relative;
    letter-spacing: 0.05em;
    font-family: var(--heading-font);
    font-weight: 600;
    color: rgb(var(--base));
}

.section__subtitle::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 4px;
    border-radius: 20px;
    top: 50%;
    left: calc(100% + 10px);
    transform: translateY(-50%);
    background-color: rgb(var(--base)/0.5);
}

.section__subtitle::before {
    content: "";
    position: absolute;
    width: 35px;
    height: 4px;
    border-radius: 20px;
    top: 50%;
    left: calc(100% + 30px);
    transform: translateY(-50%);
    background-color: rgb(var(--base));
}

/*---------------------------------------
    2.15 Icon
-----------------------------------------*/
.icon {
    position: relative;
    display: inline-block;
}

.icon--circle {
    border-radius: 50%;
    text-align: center;
}

.icon--sqr {
    border-radius: 5px;
    text-align: center;
}

.icon--xs {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
}

.icon--sm {
    width: 45px;
    height: 45px;
    line-height: 45px;
    font-size: 20px;
}

.icon--md {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 22px;
}

.icon--lg {
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 24px;
}

.icon--xl {
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 30px;
}

.icon--xxl {
    width: 80px;
    height: 80px;
    line-height: 80px;
    font-size: 35px;
}

/*---------------------------------------
    2.16 Search Popup
-----------------------------------------*/
.search-popup.active .search-form {
    visibility: visible;
    opacity: 1;
    z-index: 9999;
}

.search-popup .search-form {
    min-width: 90%;
    position: absolute;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transition: 0.5s ease;
    -moz-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    visibility: hidden;
    opacity: 0;
    -ms-transform: translate(-50%, -50%);
    /* IE 9 */
    -webkit-transform: translate(-50%, -50%);
    /* Chrome, Safari, Opera */
    transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
    .search-popup .search-form {
        min-width: 50%;
    }
}

@media screen and (min-width: 1200px) {
    .search-popup .search-form {
        min-width: 40%;
    }
}

.search-popup .search-form .form-group .form-control {
    border: none;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    height: 55px;
    padding: 0 100px 0 30px;
}

.search-popup .search-form .submit-btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 60px;
    height: 55px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    background-color: rgb(var(--base));
    transition: all 0.3s ease;
    padding: 0;
    text-align: center;
    border: 0;
    color: hsl(var(--white));
}

.search-popup .search-form .submit-btn:hover {
    background: hsl(var(--accent));
    cursor: pointer;
}

.body-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    display: block;
    background-color: hsl(var(--black)/0.6);
    z-index: 9998;
    content: "";
    left: 0;
    top: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
    cursor: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAMFBMVEVMaXH////////////////////////////////////////////////////////////6w4mEAAAAD3RSTlMAlAX+BKLcA5+b6hJ7foD4ZP1OAAAAkUlEQVR4XkWPoQ3CUBQAL4SktoKAbCUjgAKLJZ2ABYosngTJCHSD6joUI6BZgqSoB/+Shqde7sS9x3OGk81fdO+texMtRVTia+TsQtHEUJLdohJfgNNPJHyEJPZTsWLoxShqsWITazEwqePAn69Sw2TUxk1+euPis3EwaXy8RMHSZBIlRcKKnC5hRctjMf57/wJbBlAIs9k1BAAAAABJRU5ErkJggg==), progress;
}

.body-overlay.active {
    visibility: visible;
    opacity: 0.8;
}

/*---------------------------------------
    2.17 Widget
-----------------------------------------*/
.widget {
    padding: 30px 15px;
    border-radius: 15px;
    border-top: 2px solid rgb(var(--base));
    border-bottom: 2px solid rgb(var(--base));
    background-color: hsl(var(--white));
    box-shadow: 0 25px 40px hsl(var(--black)/0.05) !important;

}

@media screen and (min-width: 1400px) {
    .widget {
        padding: 40px 30px;
        box-shadow: 0 25px 40px hsl(var(--black)/0.05) !important;
    }
}


/*---------------------------------------
    2.19 User
-----------------------------------------*/
.user {
    display: flex;
}

.user__img {
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
}

.user__img--sm {
    width: 35px;
    height: 35px;
}

.user__img--md {
    width: 45px;
    height: 45px;
}

.user__img--lg {
    width: 50px;
    height: 50px;
}

.user__img--xl {
    width: 80px;
    height: 80px;
}

.user__img--xxl {
    width: 130px;
    height: 130px;
}

.user__img-is {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/*---------------------------------------
    2.20 Banner
-----------------------------------------*/
.banner {
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.banner::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: hsl(var(--dark)/0.1);
    mix-blend-mode: darken;
    z-index: -1;
}

.banner__content {
    padding-top: clamp(140px, 12vw, 170px);
    padding-bottom: clamp(80px, 8vw, 100px);
    margin-top: auto;
    margin-bottom: auto;
}

@media screen and (max-width: 425px) {
    .banner__content h3 {
        margin-bottom: 0px !important;
    }
}

/*---------------------------------------
    2.21 Table
-----------------------------------------*/
/* table css start */
.custom--table {
    margin-bottom: 0;
    border-radius: 10px;
    box-shadow: 0 5px 15px hsl(var(--black)/0.1);
    background: hsl(var(--white));
}

.custom--table tr {
    border-bottom: 1px solid #f3f3f3 !important;
}

.custom--table> :not(:first-child) {
    border-top: 0px;
}

.custom--table> :not(caption)>*>* {
    border-bottom-width: 0;
}

.custom--table thead {
    background-color: hsl(var(--accent));
}

.custom--table thead th {
    padding: 0.75rem 1.25rem;
    font-family: var(--heading-font);
    color: hsl(var(--white));
    text-align: center;
    font-weight: 600;
    vertical-align: middle;
    font-size: 14px;
}

.custom--table thead th:first-child {
    border-radius: 10px 0 0 0;
    text-align: left;
}

.custom--table thead th:last-child {
    border-radius: 0 10px 0 0;
    text-align: right;
}

.custom--table tbody td {
    border-top: none;
    border-bottom: 1px solid rgb(var(--base)/0.3);
    padding: 15px 20px;
    font-family: var(--heading-font);
    color: hsl(var(--heading));
    text-align: center;
    vertical-align: middle;
    font-size: 14px;
    word-break: break-word;
}

@media (max-width: 1399px) {
    .custom--table tbody td {
        padding: 15px 10px;
    }
}

@media (min-width: 1199px) {
    .custom--table tbody td {
        max-width: 140px;
        margin: 0 auto;
    }
}


.custom--table tbody td:first-child {
    text-align: left;
}

.custom--table tbody td:last-child {
    text-align: right;
}

.custom--table tbody tr:last-child td {
    border-bottom: none;
}


.custom--table [data-label] {
    position: relative;
}

.custom--table [data-label]::before {
    position: absolute;
    content: attr(data-label);
    font-weight: 500;
    left: 0;
    padding: 0rem 0.9375rem;
    display: none;
    color: hsl(var(--heading));
}

@media (max-width: 1199px) {
    .table-responsive--lg thead {
        display: none;
    }

    .table-responsive--lg tbody tr:last-child td {
        border-top: 1px solid rgb(var(--base)/0.25);
    }

    .table-responsive--lg tbody tr td {
        padding-right: 15px;
    }

    .table-responsive--lg tbody tr td:last-child {
        padding-right: 15px;
    }

    .table-responsive--lg tr th,
    .table-responsive--lg tr td {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-left: 45% !important;
        text-align: right !important;
    }

    .table-responsive--lg tr th:first-child,
    .table-responsive--lg tr td:first-child {
        border-top: none !important;
    }

    .table-responsive--lg [data-label]::before {
        display: block;
    }
}

@media (max-width: 992px) {
    .table-responsive--md thead {
        display: none;
    }

    .table-responsive--md tbody tr:last-child td {
        border-top: 1px solid rgb(var(--base)/0.25);
    }

    .table-responsive--md tbody tr td {
        padding-right: 15px;
    }

    .table-responsive--md tbody tr td:last-child {
        padding-right: 15px;
    }

    .table-responsive--md tr th,
    .table-responsive--md tr td {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-left: 45% !important;
        text-align: right !important;
    }

    .table-responsive--md tr th:first-child,
    .table-responsive--md tr td:first-child {
        border-top: none !important;
    }

    .table-responsive--md [data-label]::before {
        display: block;
    }
}

@media (max-width: 767px) {
    .table-responsive--sm thead {
        display: none;
    }

    .table-responsive--sm tbody tr:nth-child(odd) {
        background-color: hsl(var(--accent-400));
    }

    .table-responsive--sm tbody tr td {
        padding-right: 15px;
    }

    .table-responsive--sm tbody tr td:last-child {
        padding-right: 15px;
    }

    .table-responsive--sm tr th,
    .table-responsive--sm tr td {
        display: block;
        padding-left: 45% !important;
        text-align: right !important;
        border-bottom: 1px solid rgb(var(--base)/0.25);
    }

    .table-responsive--sm tr th:first-child,
    .table-responsive--sm tr td:first-child {
        border-top: none !important;
    }

    .table-responsive--sm [data-label]::before {
        display: block;
    }
}

/* table css end */
/*---------------------------------------
    2.22 Accordion
-----------------------------------------*/
.custom--accordion .accordion-header {
    margin-top: 0;
}

.custom--accordion .accordion-item {
    border-radius: 0 !important;
    margin-bottom: 15px;
    background: transparent;
    color: hsl(var(--text));
    border: 0;
}

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

.custom--accordion .accordion-button {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-inline: 0;
    border: none;
    border-bottom: 1px solid #e7e7e7;
    background: hsl(var(--white));
    color: hsl(var(--text));
    font-family: var(--body-font);
    font-size: 18px;
    font-weight: 500;
}

.custom--accordion .accordion-button:focus {
    border-color: #e7e7e7;
    box-shadow: none;
}

.custom--accordion .accordion-button[aria-expanded=true]::after {
    content: "\f068";
}

.custom--accordion .accordion-button[aria-expanded=false]::after {
    content: "\f067";
}

.custom--accordion .accordion-button::after {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 3px;
    text-align: center;
    background-image: initial !important;
    transform: rotate(0deg) !important;
    content: "\f067";
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 24px;
    color: hsl(var(--text));
    line-height: 1;
}

.custom--accordion .accordion-button:not(.collapsed) {
    border: none;
    border-bottom: 1px solid #e7e7e7;
    background-color: hsl(var(--white));
    background-image: initial !important;
    box-shadow: inset 0 0 0 transparent !important;
    color: hsl(var(--text));
}

.custom--accordion .accordion-button:not(.collapsed)::after {
    background: hsl(var(--white));
    color: hsl(var(--accent-300));
}

.custom--accordion .accordion-body {
    padding-inline: 0;
    padding-bottom: 0;
    background: hsl(var(--white));
    color: hsl(var(--text));
}

.custom--accordion .accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.custom--accordion .accordion-item:first-of-type .accordion-button {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

/*---------------------------------------
    2.23 Badge
-----------------------------------------*/
.badge {
    border-radius: 2px;
    line-height: unset;
}

.badge--primary {
    background: hsl(var(--primary)/0.15);
    border: 1px solid hsl(var(--primary));
    color: hsl(var(--primary));
}

.badge--secondary {
    background: hsl(var(--secondary)/0.15);
    border: 1px solid hsl(var(--secondary));
    color: hsl(var(--secondary));
}

.badge--danger {
    background: hsl(var(--danger)/0.15);
    border: 1px solid hsl(var(--danger));
    color: hsl(var(--danger));
}

.badge--success {
    background: hsl(var(--success)/0.15);
    border: 1px solid hsl(var(--success));
    color: hsl(var(--success));
}

.badge--warning {
    background: hsl(var(--warning)/0.15);
    border: 1px solid hsl(var(--warning));
    color: hsl(var(--warning));
}

.badge--info {
    background: hsl(var(--info)/0.15);
    border: 1px solid hsl(var(--info));
    color: hsl(var(--info));
}

.badge--dark {
    background: hsl(var(--dark)/0.15);
    border: 1px solid hsl(var(--dark));
    color: hsl(var(--dark));
}

/*---------------------------------------
    2.24 Form Select
-----------------------------------------*/
.form--select-light {
    position: relative;
    isolation: isolate;
    border: 1px solid hsl(var(--border)/0.5);
    border-radius: 3px;
    background: hsl(var(--light-400));
}

.form--select-transprant {
    position: relative;
}


.form--select-transprant .form-select {
    color: hsl(var(--white)) !important;
    border: 1px solid hsl(var(--white)/ 0.35) !important;
    border-radius: 3px;
}

@media (max-width: 375px) {
    .form--select-transprant .form-select {
        padding: 5px 10px;
        padding-right: 25px;
    }
}

.form--select-transprant .form-select option {
    background-color: hsl(var(--accent));

}

.form--select-transprant::after {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;
    color: #fff;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    z-index: 1;
    pointer-events: none;
}

.form--select-transprant .form-select:focus {
    border: 1px solid rgb(var(--base));
}

.form--select-light::after {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;

    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    z-index: 1;
    pointer-events: none;
}


.form--select-dark {
    position: relative;
    isolation: isolate;
    border-radius: 3px;
    border: 1px solid rgb(var(--base));
    background: rgb(var(--base));
}

.form--select-dark::after {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;
    color: hsl(var(--white));
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    z-index: 1;
    pointer-events: none;
}

.form--select-dark .form--select {
    color: hsl(var(--white));
    background: rgb(var(--base));
}

.form--select-dark .form--select-sm {
    color: hsl(var(--white));
    background: rgb(var(--base));
}

.form--select {
    height: 50px;
    border-radius: 3px;
    border-radius: 2px;
    background: transparent;
    border: none;
    position: relative;
    font-size: 0.875rem;
}

.form--select:focus {
    border: 1px solid hsl(var(--accent)/0.5);
    box-shadow: none;
    z-index: 1;
}

.form--select-sm {
    border-radius: 3px;
    border-radius: 2px;
    border: none;
    background: transparent;
    font-size: 0.875rem;
    position: relative;
}

.form--select-sm:focus {
    border: none;
    background: inherit;
    box-shadow: none;
    z-index: 1;
}

/*---------------------------------------
    2.25 Custom Check
-----------------------------------------*/
.custom--check {
    border-radius: 1px !important;
    border: 1px solid hsl(var(--border));
    background: hsl(var(--light));
}

.custom--check:checked {
    background-color: rgb(var(--base));
    border: 1px solid rgb(var(--base)/0.5);
}

.custom--check:focus {
    border: 1px solid rgb(var(--base)/0.5);
    box-shadow: none;
}

/*---------------------------------------
    2.26 Breadcrumbs
-----------------------------------------*/
.breadcrumbs {
    align-items: center;
}

.breadcrumbs__item {
    display: flex;
    align-items: center;
    position: relative;
}

.breadcrumbs__item::after {
    content: "";
    position: relative;
    display: inline-block;
    right: -1rem;
    height: 16px;
    width: 2px;
    background-color: hsl(var(--white));
    transform: skew(-25deg);
}

.breadcrumbs__item:last-child {
    margin-right: 0;
}

.breadcrumbs__item:last-child::after {
    display: none;
}

.breadcrumbs__link {
    color: hsl(var(--white));
}

.breadcrumbs__link:hover {
    color: rgb(var(--base));
}

/*---------------------------------------
    2.27 Custom Pagination
-----------------------------------------*/
.pagination {
    margin-bottom: 0;
    justify-content: center;
}

.pagination .page-item {
    margin-right: 1rem;
}

.pagination .page-item.active .page-link {
    background-color: rgb(var(--base));
    border: 1px solid rgb(var(--base));
    color: white;
}

.pagination .page-item.disabled .page-link {
    background: rgb(var(--base)/.7);
    border-color: hsl(var(--white));
    color: hsl(var(--white));
}

.pagination .page-item:last-child {
    margin-right: 0;
}

.pagination .page-item:first-child .page-link {
    border-radius: 50%;
    font-size: 18px;
    line-height: 1;
}

.pagination .page-item:last-child .page-link {
    border-radius: 50%;
    font-size: 18px;
    line-height: 1;
}

.pagination .page-link {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgb(var(--base));
    color: rgb(var(--base));
    text-align: center;
    font-size: 14px;
    background: transparent;
}

.pagination .page-link:hover {
    background-color: rgb(var(--base));
    border: 1px solid rgb(var(--base));
    color: hsl(var(--white));
}

/*---------------------------------------
    2.28 Custom Card
-----------------------------------------*/
.custom--card {
    border-radius: 3px;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--border)/.5);
}

.custom--card .card-header {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid hsl(var(--border)/.5);
}

.custom--card .card-title {
    margin-top: 0;
    margin-bottom: 0;
}

.custom--card .card-text {
    margin-top: 1rem;
}

.custom--card .card-body {
    padding: 2rem 1.5rem;
}

.custom--card .card-footer {
    padding: 1rem 1.5rem;
    background: hsl(var(--light));
    border-top: 1px solid hsl(var(--border)/.5);
}

.custom--card-dark {
    border-radius: 3px;
    background: hsl(var(--accent-200));
    border: 1px solid hsl(var(--accent-300));
}

.custom--card-dark .card-header {
    padding: 1rem 1.5rem;
    background: hsl(var(--accent)/0.5);
    border-bottom: 1px solid hsl(var(--accent-300));
    color: hsl(var(--white));
}

.custom--card-dark .card-title {
    margin-top: 0;
    margin-bottom: 0;
    color: hsl(var(--white));
}

.custom--card-dark .card-text {
    margin-top: 1rem;
    color: hsl(var(--white));
}

.custom--card-dark .card-body {
    padding: 2rem 1.5rem;
}

.custom--card-dark .card-footer {
    padding: 1rem 1.5rem;
    background: hsl(var(--accent)/0.5);
    border-top: 1px solid hsl(var(--accent-300));
}

/*---------------------------------------
    2.30 Fixed Header 
-----------------------------------------*/
.fixed-header .header-top {
    display: none;
    visibility: hidden;
    opacity: 0;
    height: 0;
    overflow: hidden;
}

.fixed-header .header-fixed {
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 15px 30px hsl(var(--black)/0.1);
}

.nav-toggler.fixed-header .navs {
    background: hsl(var(--accent));
}

.fixed-header .header--primary {
    background: hsl(var(--accent));
}

/*---------------------------------------
    2.31 User Group List
-----------------------------------------*/
.user-group-list li {
    margin-right: -25px;
}

.user-group-list li .user__img {
    box-shadow: 0 0 8px hsl(var(--black)/0.5);
}

/*---------------------------------------
    2.35 Service Card
-----------------------------------------*/
.service-card {
    padding: 30px;
    position: relative;
    isolation: isolate;
    background: hsl(var(--white));
    box-shadow: 0 -30px 100px hsl(var(--dark)/0.03);
    border-radius: 10px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.service-card:hover {
    transform: scale(1.05);
}


@media screen and (min-width: 1200px) {
    .service-card {
        padding-inline: 15px;
    }
}

.service-card::after {
    content: "";
    width: 80px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: hsl(var(--black-50)/0.1);
    outline: 30px solid hsl(var(--black-50)/0.05);
    box-shadow: 0 0 15px rgb(var(--base)/0.5);
    position: absolute;
    top: -15px;
    left: -15px;
    z-index: -1;
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.service-card__icon {
    border-radius: 37% 63% 75% 25%/56% 61% 39% 44%;
    background: rgb(var(--base));
    color: hsl(var(--white));
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.service-card__title {
    transition: all 0.3s ease;
}

/*---------------------------------------
    2.36 Testimonial Slider
-----------------------------------------*/
.testimonial-slider {
    padding: 30px 15px;
    border-radius: 10px;
    box-shadow: 0 0 15px hsl(var(--accent)/0.1);
}

@media screen and (min-width: 768px) {
    .testimonial-slider {
        box-shadow: 0 0 50px hsl(var(--accent)/0.1);
        padding: 60px 30px;
        border-radius: 25px;
    }
}

@media screen and (min-width: 992px) {
    .testimonial-slider {
        padding: 60px;
    }
}

.testimonial-slider__icon {
    font-size: var(--h1);
    color: rgb(var(--base));
}

.testimonial-slider__body-text {
    font-size: var(--h6);
    color: hsl(var(--black-50));
    max-width: 55ch;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 768px) {
    .testimonial-slider__body-text {
        font-size: var(--h5);
    }
}

@media screen and (min-width: 768px) {
    .testimonial-slider__btn {
        border: none;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        isolation: isolate;
        width: 74px;
        height: 74px;
        aspect-ratio: 1;
        border-radius: 50%;
        background: hsl(var(--white));
        box-shadow: 0 0 15px hsl(var(--black)/0.1);
    }

    .testimonial-slider__btn--prev {
        left: -20px;
    }

    .testimonial-slider__btn--next {
        right: -20px;
    }
}

@media screen and (min-width: 992px) {
    .testimonial-slider__btn--prev {
        left: -34px;
    }

    .testimonial-slider__btn--next {
        right: -34px;
    }
}

@media screen and (min-width: 768px) {
    .testimonial-slider__btn-content {
        position: absolute;
        inset: 10px;
        border-radius: 50%;
        font-size: 22px;
        line-height: 1;
        display: grid;
        place-items: center;
        color: rgb(var(--base));
        background: rgb(var(--base)/0.3);
        transition: all 0.3s ease;
    }

    .testimonial-slider__btn-content:hover {
        color: hsl(var(--heading));
    }
}

/*---------------------------------------
    2.37 Blog Post
-----------------------------------------*/
.blog-post {
    position: relative;
    isolation: isolate;
}

.blog-post__img {
    display: block;
    overflow: hidden;
    border-radius: 10px 10px 0 0;
}

.blog-post__img-is {
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.blog-post__body {
    padding: 30px 15px;
    background: hsl(var(--white));
    border-radius: 0 0 10px 10px;
    box-shadow: 0 25px 40px hsl(var(--black)/0.05);

}

.blog-post__body p {
    margin-bottom: 10px;


}

.read-more {
    text-decoration: none;
    color: rgb(var(--base));
    margin-bottom: 10px;
    display: block;
    font-weight: 500;
    transition: .5s;
}

.read-more:hover i {
    margin-left: 5px;
}

@media screen and (min-width: 1200px) {
    .blog-post__body {
        padding: 35px 30px;
    }
}

.blog-post__title {
    color: hsl(var(--heading));
}

.blog-post__title:hover {
    color: rgb(var(--base));
}

/*---------------------------------------
    2.38 Client Section
-----------------------------------------*/
.client-section {
    padding-top: 30px;
    padding-bottom: 30px;
    position: relative;
    z-index: 3;

}

@media screen and (max-width: 767px) {
    .client-section {
        border-radius: 10px !important;
    }
}

@media screen and (min-width: 768px) {
    .client-section {
        border-radius: 10px !important;
    }
}

@media screen and (min-width: 992px) {
    .client-section {
        border-radius: 10px;
    }
}

@media screen and (min-width: 768px) {
    .client-section__head {
        text-align: end;
        padding-right: 30px;
        position: relative;
    }

    .client-section__head::after {
        content: "";
        width: 3px;
        height: 100%;
        background-color: rgb(var(--base));
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
}

.client-section__sub-title {
    display: block;
    color: hsl(var(--accent));
    letter-spacing: 0.03em;
    font-size: var(--h5);
    font-family: var(--heading-font);
    font-weight: 600;
}

/*---------------------------------------
    2.39 Client Slider
-----------------------------------------*/
.client-slider__item {
    padding-left: 10px;
    padding-right: 10px;
}

.client-slider__item:focus {
    outline: none;
}

.client-slider__img {
    max-width: 100%;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}

/*---------------------------------------
    2.40 Social Icon
-----------------------------------------*/
.social-icon {
    background: hsl(var(--accent-300));
    color: hsl(var(--white));
}

.social-icon:hover {
    background: rgb(var(--base));
    color: hsl(var(--white));
}

/*---------------------------------------
    2.41 Contact Card
-----------------------------------------*/
.contact-card {
    display: flex;
    gap: 1rem;
}

.contact-card__icon {
    font-size: 24px;
    line-height: 1;
    color: rgb(var(--base));
}

/*---------------------------------------
    2.42 Blog Details
-----------------------------------------*/

.blog-details__img img {
    border-radius: 10px;
    max-width: 100%;
    height: auto;
}

.blog-sidebar {
    padding: 20px;
    border: 1px solid #f9f7f7;
    border-radius: 10px;
    box-shadow: 0 8px 15px hsl(var(--black)/0.05);
}

.blog-sidebar .title {
    margin-top: 0;
    padding-bottom: 1rem;
    font-size: 1.4rem;
}

.blog-sidebar .title hr {
    margin-top: .8rem;
    margin-bottom: 0;
    width: 40px;
    height: 3px !important;
    background: rgb(var(--base));
    opacity: 1;
}

/*---------------------------------------
    2.43 Sidebar
-----------------------------------------*/
.sidebar {
    top: 100px;
}

.sidebar-nav .list__item {
    border-bottom: 1px dashed rgb(var(--base));
}

.sidebar-nav__link {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    border-right: 3px solid transparent;
    color: hsl(var(--accent));
    font-weight: 500;
    transition: all 0.3s ease;
}

.sidebar-nav__link:hover {
    color: rgb(var(--base));
    border-right: 2px solid rgb(var(--base));
}

.sidebar-nav__link.active {
    border-right: 2px solid rgb(var(--base));
    color: rgb(var(--base));
}

/*---------------------------------------
    2.44 Contact Info
-----------------------------------------*/
.contact-info {
    display: flex;
    background: hsl(var(--white));
    margin-bottom: 30px;
    border-radius: 5px;
    gap: 1rem;
    align-items: flex-start;
}

.contact-social li {
    display: flex;
    align-items: center;
}

.contact-social li p {
    margin-bottom: 0px;
    font-size: 20px;
    font-weight: 500;

}

.contact-social li a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(var(--base));
    color: #fff;
    text-decoration: none;
}



.contact-info__icon {
    display: grid;
    place-items: center;
    padding-inline: 12px;
    aspect-ratio: 1;
    font-size: 18px;
    background: rgb(var(--base));
    border-radius: 50%;
    color: hsl(var(--white));
}

.contact-info__content h5 {
    font-size: 20px;
}

@media screen and (max-width: 575px) {
    ul.list.list--row.contact-social {
        gap: 0.4rem !important;
    }
}


.contact-info__icon-border {
    flex-shrink: 0;
    display: inline-block;
    padding: 8px;
    border: 1px dashed rgb(var(--base));
    background: hsl(var(--white));
    border-radius: 50%;
}

@media screen and (min-width: 992px) {
    .contact-info-nav {
        background: hsl(var(--white));
        border-radius: 15px;
        box-shadow: 0 0 30px hsl(var(--black)/0.01);
    }
}

/*---------------------------------------
    2.45 Map View
-----------------------------------------*/
.map-view__frame {
    width: 100%;
    height: 400px;
    margin-bottom: -6px;
}

@media screen and (min-width: 992px) {
    .map-view__frame {
        height: 500px;
    }
}

@media screen and (min-width: 1200px) {
    .map-view__frame {
        height: 600px;
    }
}

/*---------------------------------------
    2.46 Input Group
-----------------------------------------*/
.input--group {
    display: flex;
    flex-wrap: nowrap;
    border-bottom: 1px solid hsl(var(--black)/0.2);
}

.input--group .input-group-text {
    border: none;
    padding-left: 0;
    padding-right: 10px;
    background: transparent;
    border-radius: 0;
    color: rgb(var(--base));
}

.input--group .form--control {
    border: none;
    background: transparent;
}

.input--group .form--select-light {
    border: none;

}

.input--group .btn {
    box-shadow: none;
    outline: none;
    color: hsl(var(--accent));
    padding-inline: 0;
}

.input--group .btn:hover {
    box-shadow: none;
    outline: none;
    color: hsl(var(--accent));
}

.input--group .dropdown-menu {
    min-width: auto;
    padding: 0;
    font-size: 14px;
    border-radius: 0;
    max-height: 180px;
    overflow-y: scroll;
    color: hsl(var(--accent));
}

.input--group .dropdown-menu li {
    color: hsl(var(--accent));
}

.input--group .dropdown-menu.show {
    display: inline-block;
}

/*---------------------------------------
    2.47 Login Form
-----------------------------------------*/

.login-form {
    position: relative;
    padding: 50px 30px;
    top: clamp(30px, 4vw, 60px);
    background: hsl(var(--white));
    border-radius: 15px;
    box-shadow: 0 0 30px hsl(var(--accent)/0.1);
}

@media screen and (max-width: 767px) {
    .login-form {
        padding: 10px 20px 30px 20px;
    }
}

@media screen and (max-width:991px) {
    .login-form {
        top: unset;
    }
}

@media screen and (min-width: 992px) {
    .login-form {
        padding: 60px 40px;
    }
}

@media screen and (min-width: 1400px) {
    .login-form {
        padding: 60px 45px;
    }
}

/*---------------------------------------
    2.48 Dash Card
-----------------------------------------*/
.dash-card {
    flex-grow: 1;
    flex-basis: 250px;
    padding: 20px;
    border-left: 4px solid rgb(var(--base));
    box-shadow: 0 0 5px 10px hsl(var(--black)/.01);
    border-radius: 5px;
    background: hsl(var(--white));
    height: 100%;
    position: relative;
    isolation: isolate;
}

.dash-card__body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.dash-card__body a {
    font-size: 0.8rem;
    line-height: 0;
}

.dash-card__icon {
    display: inline-block;
    border-radius: 37% 63% 75% 25%/56% 61% 39% 44%;
    background: rgb(var(--base), 0.3);
    color: rgb(var(--base));
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.dash-card__btn {
    display: inline-block;
    padding: 5px 15px;
    font-size: 12px;
    font-weight: 700;
    font-family: var(--heading-font);
    color: hsl(var(--text));
    border: 1px solid hsl(var(--border));
    background: hsl(var(--white));
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.dash-card__btn:hover {
    background: rgb(var(--base));
    color: hsl(var(--white));
    border-color: rgb(var(--base));
}

.dash-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.dash-card__title {
    margin-bottom: 0;
    font-size: 14px;
    margin: 0;
    color: hsl(var(--text)/0.8) !important;
}

.dash-card__value {
    color: hsl(var(--text));
    font-size: 1.5rem;
    margin-bottom: 0;
}


/*---------------------------------------
    2.49 User Profile
-----------------------------------------*/
.user-profile {
    padding: 30px 15px;
    border: 1px solid hsl(var(--border));
    background: hsl(var(--white));
    border-radius: 5px;
    text-align: center;
    height: 100%;
}

@media screen and (min-width: 768px) {
    .user-profile {
        border-radius: 5px 0 0 5px;
        padding: 40px 20px;
    }
}

.user-profile__nav {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.user-profile__btn {
    color: rgb(var(--base));
    background: rgb(var(--base)/0.2);
}

.user-profile__btn:hover {
    color: hsl(var(--white));
    background: rgb(var(--base));
}

/*---------------------------------------
    2.50 User Balance
-----------------------------------------*/
.user-balance {
    padding: 30px 15px;
    background: rgb(var(--base));
    border-radius: 5px;
    text-align: center;
    height: 100%;
}

@media screen and (min-width: 768px) {
    .user-balance {
        border-radius: 0 5px 5px 0;
        padding: 40px 20px;
    }
}

.user-balance__icon {
    background: hsl(var(--black-50)/0.3);
    color: hsl(var(--white));
}

/*---------------------------------------
    0.3 Theme Style
-----------------------------------------*/
/*---------------------------------------
    3.1 Color
-----------------------------------------*/
.text--primary {
    color: hsl(var(--primary));
}

.text--secondary {
    color: hsl(var(--secondary));
}

.text--success {
    color: hsl(var(--success));
}

.text--danger {
    color: hsl(var(--danger));
}

.text--warning {
    color: hsl(var(--warning));
}

.text--info {
    color: hsl(var(--info));
}

.text--dark {
    color: hsl(var(--dark));
}

.text--white {
    color: hsl(var(--white));
}

.text-clr {
    color: hsl(var(--text));
}

.heading-clr {
    color: hsl(var(--heading));
}

.text--base {
    color: rgb(var(--base));
}

.text--base:hover {
    color: rgb(var(--base)/0.7) !important;

}

.text--accent {
    color: hsl(var(--accent));
}

/*---------------------------------------
    3.2 Background
-----------------------------------------*/
.bg--primary {
    background: hsl(var(--primary));
}

.bg--secondary {
    background: hsl(var(--secondary));
}

.bg--success {
    background: hsl(var(--success));
}

.bg--danger {
    background: hsl(var(--danger));
}

.bg--warning {
    background: hsl(var(--warning));
}

.bg--info {
    background: hsl(var(--info));
}

.bg--dark {
    background: hsl(var(--dark));
}

.bg--light {
    background-color: hsl(var(--light));
}

.bg--base {
    background-color: rgb(var(--base));
}

.bg--accent {
    background: hsl(var(--accent));
}


/*---------------------------------------
    3.5 Utility Classes
-----------------------------------------*/
.t-heading-font {
    font-family: var(--heading-font);
}

.t-body-font {
    font-family: var(--body-font);
}

.t-link {
    text-decoration: none;
    transition: all 0.3s ease;
}

.t-link:hover {
    text-decoration: none;
}

.t-link--primary:hover {
    color: hsl(var(--primary));
}

.t-link--danger:hover {
    color: hsl(var(--danger));
}

.t-link--info:hover {
    color: hsl(var(--info));
}

.t-link--light:hover {
    color: hsl(var(--white));
}

.t-link--base:hover {
    color: rgb(var(--base));
}


.t-short-para {
    max-width: 55ch;
}


/*---------------------------------------
    4.1 Footer
-----------------------------------------*/

.share--icon {
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
    background: rgb(var(--base));
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    color: #ffff;
}

.share--icon:hover {
    color: #fff;
    background: rgba(var(--base), 0.8);
}

.footer__copyright {
    background: hsl(var(--accent-400));
}

.footer-hr {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    width: 30px;
    height: 3px !important;
    background: rgb(var(--base));
    opacity: 1;
}

/*---------------------------------------
    4.4 Contact Section
-----------------------------------------*/
.contact-section {
    background: hsl(var(--light));
}

/*---------------------------------------
    4.5 Login Section
-----------------------------------------*/
.login-section {
    padding-bottom: 230px;
}

.login-section.twofa-verify {
    padding-bottom: 60px;
}

@media screen and (min-width: 768px) {
    .login-section {
        padding-bottom: 120px;
    }
}

@media screen and (min-width: 992px) {
    .login-section {
        padding-bottom: clamp(190px, 8vw, 280px);
    }
}

@media screen and (min-width: 992px) {
    .login-section__content {
        border-radius: 15px;
        background: rgb(var(--base));
        padding-inline: 30px;
        position: relative;
    }
}

@media screen and (min-width: 1200px) {
    .login-section__content {
        padding-inline: 40px;
    }
}

@media screen and (min-width: 1400px) {
    .login-section__content {
        padding-inline: 80px;
    }
}

@media screen and (min-width: 992px) {
    .login-section__image {
        isolation: isolate;
    }

    .login-section__image::after {
        content: "";
        width: 650px;
        height: 650px;
        border-radius: 50%;
        position: absolute;
        left: 0;
        bottom: 0;
        background: hsl(var(--white)/0.2);
        z-index: -1;
    }
}

@media screen and (min-width: 1200px) {
    .login-section__image::after {
        left: -40px;
    }
}

@media screen and (min-width: 1400px) {
    .login-section__image::after {
        left: -80px;
    }
}

/*---------------------------------------
    4.6 Dashboard Section
-----------------------------------------*/


.list-group-item {
    border-bottom: 1px solid hsl(var(--border)/.5);
}

.razorpay-payment-button {
    border: none;
    background: rgb(var(--base));
    color: hsl(var(--white));
    font-weight: 500;
    transition: all 0.3s ease;
    border-radius: 3px;
}

.razorpay-payment-button:hover {
    color: hsl(var(--white));
    background: rgb(var(--base));
    box-shadow: 0 8px 15px hsl(var(--dark)/0.4);
}

.razorpay-payment-button:focus {
    outline: none;
    box-shadow: none;
}

.stripe-button-el span {
    height: auto !important;
    line-height: 2 !important;
    padding: 8px 15px !important;
    border: none !important;
    background: rgb(var(--base)) !important;
    color: hsl(var(--white)) !important;
    font-weight: 500;
    transition: all 0.3s ease;
    border-radius: 3px;
}

.stripe-button-el span:hover {
    color: hsl(var(--white)) !important;
    background: rgb(var(--base)) !important;
    box-shadow: 0 8px 15px hsl(var(--dark)/0.4);
}

.stripe-button-el span:focus {
    outline: none;
    box-shadow: none;
}

.custom--list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: var(--gap, 1rem);
}

.mobile-code {
    display: grid;
    place-items: center;
}

/*# sourceMappingURL=main.css.map */


.cookie__wrapper {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    background: #002A47;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 10vh;
    font-size: 18px;
    z-index: 99999;
    border-top: 1px solid rgb(var(--base));
    animation: fadeInUp 2s;
    -webkit-animation: fadeInUp 2s;
}

.cookie__wrapper .title {
    color: rgb(var(--base))
}

.cookie__wrapper .txt * {
    margin-right: 20px;
    font-size: 14px;
    color: #FFFFFF !important;
}

.cookie__wrapper .txt span {
    font-size: 15px !important;
    color: #000000;
}

.cookie__wrapper .button-wrapper {
    margin-top: 15px;
}

.cookie__wrapper .cmn--btn {
    padding: 5px 20px !important;
    width: auto;
    height: auto;
    margin: 0;
}

.cookie__wrapper .read-policy {
    font-size: 15px;
    margin-right: 15px;
    border: 1px solid rgb(var(--base));
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.cookie__wrapper .btn--close {
    position: absolute;
    right: 20px;
    top: 20px;
    padding: 3px !important;
    font-size: 20px;
    color: rgb(var(--base));
}

@media only screen and (max-width: 991px) {
    .cookie__wrapper {
        padding: 20px;
    }

    .cookie__wrapper .txt {
        font-size: 12px;
    }
}

.custom--input-group .input-group-text {
    display: grid;
    place-items: center;
}

.comments {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 30px;
    border: 1px solid hsl(var(--border)/.5);
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    background: hsl(var(--white));
}

.comments--admin {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 30px;
    border: 1px solid rgb(var(--base)/.2);
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    background: rgb(var(--base)/.05);
}

.comments__title-is {
    margin-top: 0;
    margin-bottom: 0;
}

.comments__date {
    font-size: 14px;
}

.comments__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.comments__file {
    display: inline-block;
    border: 1px solid rgb(var(--base));
    color: rgb(var(--base));
    padding: 5px 15px;
    border-radius: 5rem;
    -webkit-border-radius: 5rem;
    -moz-border-radius: 5rem;
    -ms-border-radius: 5rem;
    -o-border-radius: 5rem;
}

.comments__file:hover {
    background: rgb(var(--base));
    color: hsl(var(--white));
}

.h-45 {
    height: 45px;
}

.h-50 {
    height: 50px !important;
}

.modal .close {
    background: transparent !important;
    border: none;
}

.form-group {
    margin-bottom: 15px !important;
}

.contact-form {
    background: #fff;
    border-radius: 15px;
    padding: 30px;
}

.banner-form .form-control.form--control,
.banner-form .form-select.form--control {
    border-top: 0;
    border-bottom: 0;
}

label.required:after {
    content: '*';
    color: #DC3545 !important;
    margin-left: 2px;
}

li.page-item.disabled {
    background: #eeeded;
    border-radius: 50%;
}


.ban-section h4 {
    margin: 0px;
    margin-bottom: 20px;
}

@media screen and (max-width: 991px) {
    .ban-section img {
        width: 100%;
    }
}

@media screen and (max-width: 575px) {
    .ban-section h4 {
        font-size: 24px;
    }
}


.verify-section {
    padding-bottom: 120px !important;
}

.nav-container {
    display: flex;
    justify-content: end;
}

@media screen and (max-width: 1199px) {
    .w-lg-50 {
        width: 50% !important;
    }
}


.modal-header .modal-title {
    margin: 0;
}

.section-subtitle {
    font-size: 18px;
    font-weight: 400 !important;
    color: hsl(var(--text)/.75);
}

@media (max-width: 575px) {
    .subscribe-title {
        font-size: 23px;
    }
}

@media (max-width: 575px) {
    .section-title {
        font-size: 25px;
    }
}

.features-title {
    margin-bottom: 10px;
}

@media (max-width: 575px) {
    .features-title {
        font-size: 18px;
    }
}

.features-item {
    margin-bottom: 20px;
}

.features-item:last-of-type {
    margin-bottom: 0;
}

.modal-footer .btn--primary {
    background-color: rgb(var(--base));
}

.process {
    padding: 15px;
    height: 100%;
    border-radius: 10px;

}

.process__icon {
    position: relative;
}

.process-count {
    position: absolute;
    left: -20px;
    top: -16px;
}

.process-count span {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-size: 14px;
    color: hsl(var(--white));
    background: rgb(var(--base), 0.9);
}


@media screen and (min-width: 1400px) {
    .process {
        padding-inline: 40px;
    }
}

.process__icon {
    margin: 10px;
    position: relative;
    isolation: isolate;
    box-shadow: 0 0 20px hsl(var(--black)/0.07);
    color: rgb(var(--base));
    background-color: hsl(var(--white));
}

.process__icon::before {
    content: "";
    position: absolute;
    inset: -15px;
    border-radius: 50%;
    outline: 1px dashed hsl(var(--black)/0.2);
}

@media screen and (min-width: 992px) {
    .process__icon-shape::after {
        content: "";
        position: absolute;
        top: 50%;
        left: calc(100% + 30px);
        transform: translateY(-50%);
        width: 100px;
        height: 30px;
        background-image: url(./process-arrow.png);
        background-position: center;
        background-size: contain;
        background-repeat: no-repeat;
    }
}

@media screen and (min-width: 1200px) {
    .process__icon-shape::after {
        width: 145px;
    }
}

@media screen and (min-width: 1400px) {
    .process__icon-shape::after {
        width: 150px;
        left: calc(100% + 50px);
    }
}