/*---------------------------------------
    Theme Name: 
    Description: 
    Author Name: 
    Author URI:  
    Theme URI: 
    Version: 1.0
-----------------------------------------
    Table of contents
-----------------------------------------
    1 Base Style
        1.1 Functions
        1.2 Variables
        1.3 Mixins
        1.4 Global
    2 Modules Style
        2.1 Hero
        2.2 Header
        2.3 Logo
        2.4 List
        2.5 Nav
        2.6 Primary Nav
        2.7 Nav Toggler
        2.8 Nice Select
        2.9 Form Control
        2.10 Primary Submenu Toggler
        2.11 Preloader
        2.12 Back To Top
        2.13 Button Style
        2.15 Section 
    3 Theme Style
        3.1 Color
        3.2 Background
        3.3 Padding
        3.4 Margin
        3.5 Utility Classes
        3.6 Animation
    4. Layouts Style
        4.1 Course Section
        4.2 Feedback Section
        4.3 CTA Section
        4.4 Footer 1
        4.5 Service Section

/*---------------------------------------
    0.1 Base Style
-----------------------------------------*/
/*---------------------------------------
    1. Global
-----------------------------------------*/
@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, 3vw + 1rem, 3rem);
    --h3: clamp(1.875rem, 2.7vw + 1rem, 2.369rem);
    --h4: 1.777rem;
    --h5: 1.333rem;
    --h6: 1rem;
    --base: 74 245 119;
    --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;
}

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;
}

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

.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: 100px;
    padding-bottom: 80px;
    margin-top: auto;
    margin-bottom: auto;
    overflow: hidden;
}

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

/*---------------------------------------
    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;
}

/*---------------------------------------
    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
-----------------------------------------*/
.nav-container {
    position: relative;
}

.navs {
    min-width: 200px;
    position: absolute;
    top: calc(100% + 20px);
    right: 0;
    border-radius: 5px;
    background-color: hsl(var(--white));
    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: 992px) {
    .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;
}

.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;
}

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

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

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

.primary-menu__list {
    position: relative;
}

@media screen and (min-width: 992px) {
    .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: 1200px) {
    .primary-menu__list {
        margin-right: 1.5rem;
    }
}

.primary-menu__list.has-sub:hover .primary-menu__link {
    border-bottom: 1px solid transparent;
}

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

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

@media screen and (min-width: 992px) {
    .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: 16px;
}

@media screen and (min-width: 992px) {
    .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: 15px;
    margin-right: 15px;
    border-bottom: 1px solid hsl(var(--dark)/0.1);
    text-decoration: none;
    transition: all 0.3s ease;
    color: hsl(var(--dark));
}

@media screen and (min-width: 992px) {
    .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: 992px) {
    .primary-menu--alt {
        padding-top: 0;
        padding-bottom: 0;
    }
}

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

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

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

.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;
    margin-left: 15px;
    margin-right: 15px;
    z-index: -9999;
    visibility: hidden;
    opacity: 0;
    height: 0;
    transition: all 0.3s ease;
}

@media screen and (min-width: 992px) {
    .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 rgb(var(--base)/0.5);
}

@media screen and (min-width: 992px) {
    .primary-menu__sub-list {
        border-bottom: 1px solid hsl(var(--border));
    }

    .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 {
    border-bottom: none;
}

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

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

@media screen and (min-width: 992px) {
    .primary-menu__sub-link {
        background-color: hsl(var(--white));
        color: hsl(var(--heading));
        border-radius: 3px !important;
        text-align: center;
    }
}

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

@media screen and (min-width: 992px) {
    .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: calc(100% + 10px);
}

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

.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;
    line-height: 40px;
    border-radius: 3px;
    font-size: 14px;
    border: 1px solid hsl(var(--border)/0.5);
    background: hsl(var(--light-400));
    color: hsl(var(--accent));
    transition: all 0.3s ease;
}

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

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

.form--control:-webkit-autofill {
    -webkit-text-fill-color: hsl(var(--accent)) !important;
    -webkit-box-shadow: 0 0 0px 1000px hsl(var(--light-400)) inset;
}

.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));
    color: hsl(var(--accent));
    transition: all 0.3s ease;
}

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

.form--control-textarea:focus {
    outline: none;
    border: 1px solid hsl(var(--border)/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: 20px;
}

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

.primary-submenu-toggler .primary-menu__list.has-sub.active {
    padding-bottom: 15px;
    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: 992px) {
    .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: 992px) {
    .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--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: clamp(60px, 8vw, 120px);
    padding-bottom: clamp(60px, 8vw, 120px);
}

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

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

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

.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 0 30px rgb(var(--base)/0.1);
}

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

.widget__title {
    margin-top: 0;
}

.widget-alt__head {
    padding: 15px 30px;
    border-radius: 5px 5px 0 0;
    background: hsl(var(--primary));
}

.widget-alt__body {
    background: hsl(var(--light));
    padding: 15px 30px;
}

/*---------------------------------------
    2.18 Widget Category
-----------------------------------------*/
.widget-category__item {
    border-bottom: 1px dashed rgb(var(--base)/0.5);
}

.widget-category__item:last-child {
    border-bottom: none;
}

.widget-category__item:last-child .vh-widget-category__link {
    padding-bottom: 0;
}

.widget-category__link {
    display: inline-block;
    padding-bottom: 1rem;
    color: hsl(var(--text));
    transition: all 0.3s ease;
}

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

/*---------------------------------------
    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;
}

/*---------------------------------------
    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 > :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;
}

.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 tbody tr:nth-child(odd) td {
    background: hsl(var(--light));
}

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

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

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

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

    .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 hsl(var(--accent-300));
    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: hsl(var(--accent-300));
    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 hsl(var(--accent-300));
    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;
}

.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-light::after {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;
    color: hsl(var(--accent));
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    z-index: 1;
    pointer-events: none;
}

.form--select-light .form--select {
    color: hsl(var(--accent));
}

.form--select-light .form--select-sm {
    color: hsl(var(--accent));
}

.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: none;
    background: transparent;
    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));
}

.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;
    /* background: hsl(var(--light)); */
    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.29 Custom Modal
-----------------------------------------*/
.custom--modal .modal-content {
    border-radius: 5px;
    background-color: hsl(var(--white));
    border: 1px solid hsl(var(--border));
}

.custom--modal .modal-title {
    margin-top: 0;
    color: hsl(var(--heading));
}

.custom--modal .btn-close {
    position: relative;
    background: transparent;
    color: hsl(var(--accent));
    opacity: 1;
    transition: all 0.3s ease;
}

.custom--modal .btn-close:hover {
    outline: none;
    box-shadow: none;
    color: rgb(var(--base));
}

.custom--modal .btn-close::after {
    content: "\f00d";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 34px;
}

.custom--modal .modal-body p {
    margin-bottom: 0;
}

.custom--modal .modal-header {
    border-bottom: 1px solid hsl(var(--border));
    background: hsl(var(--light));
}

.custom--modal .modal-footer {
    border-top: 1px solid hsl(var(--border));
    background: hsl(var(--light));
}

.custom--modal-dark .modal-content {
    border-radius: 5px;
    background: hsl(var(--accent-300));
    border: 1px solid hsl(var(--accent-50));
}

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

.custom--modal-dark .btn-close {
    position: relative;
    background: transparent;
    color: hsl(var(--white));
    opacity: 1;
    transition: all 0.3s ease;
}

.custom--modal-dark .btn-close:hover {
    outline: none;
    box-shadow: none;
    color: rgb(var(--base));
}

.custom--modal-dark .btn-close::after {
    content: "\f00d";
    font-family: "Line Awesome Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 34px;
}

.custom--modal-dark .modal-body {
    color: hsl(var(--white));
}

.custom--modal-dark .modal-header {
    border-bottom: 1px solid hsl(var(--accent-50));
    background: hsl(var(--accent-300));
}

.custom--modal-dark .modal-footer {
    border-top: 1px solid hsl(var(--accent-50));
    background: 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);
}

.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.32 Newsletter
-----------------------------------------*/
.newsletter {
    border: 2px solid rgb(var(--base));
    padding: 5px;
    max-width: 550px;
}

.newsletter__container {
    display: flex;
    padding: 5px;
    background-color: hsl(var(--white));
}

.newsletter__input {
    background: transparent;
    border: none;
    color: hsl(var(--heading));
    font-size: 14px;
}

.newsletter__input:focus {
    color: hsl(var(--heading));
    outline: none;
    box-shadow: none;
    border-color: transparent;
    background-color: transparent;
    border-width: 0;
}

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

/*---------------------------------------
    2.33 Search Toggler
-----------------------------------------*/
.search--toggler {
    font-size: 18px;
    line-height: 1;
    padding: 10px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: rgb(var(--base));
    color: hsl(var(--white));
}

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

/*---------------------------------------
    2.34 Process Icon
-----------------------------------------*/
.process {
    padding: 15px;
    height: 100%;
    border-radius: 10px;
}

@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);
}

.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);
    }
}
/*---------------------------------------
    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 {
    background: rgb(var(--base));
    color: hsl(var(--white));
}

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

.service-card:hover .service-card__title {
    color: hsl(var(--white));
}

.service-card:hover::after {
    opacity: 1;
    visibility: visible;
}

@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);
}

@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;
    margin-top: -217px;
    position: relative;
    z-index: 3;
}

@media screen and (min-width: 768px) {
    .client-section {
        margin-top: -137px;
    }
}

@media screen and (min-width: 992px) {
    .client-section {
        margin-top: -70px;
        border-radius: 10px;
        box-shadow: 0 0 30px hsl(var(--dark)/0.1);
        background: hsl(var(--white));
    }
}

@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 {
    width: 100%;
}

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

@media screen and (min-width: 768px) {
    .blog-details__img-is {
        width: 100%;
        height: 350px;
        object-fit: cover;
    }
}

@media screen and (min-width: 1200px) {
    .blog-details__img-is {
        height: 500px;
    }
}

@media screen and (min-width: 1400px) {
    .blog-details__img-is {
        height: 600px;
    }
}
/*---------------------------------------
    2.43 Sidebar
-----------------------------------------*/
.sidebar {
    position: sticky;
    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));
    padding: 30px 15px;
    border-radius: 5px;
    gap: 1rem;
    align-items: flex-start;
}

@media screen and (min-width: 1200px) {
    .contact-info {
        padding: 60px 30px;
    }
}

@media screen and (min-width: 1400px) {
    .contact-info {
        padding: 60px 40px;
    }
}

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

.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
-----------------------------------------*/
@media screen and (min-width: 992px) {
    .login-form {
        position: relative;
        top: clamp(30px, 4vw, 60px);
        padding: 50px 30px;
        background: hsl(var(--white));
        border-radius: 15px;
        box-shadow: 0 0 30px hsl(var(--accent)/0.1);
    }
}

@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 {
    padding: 15px;
    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::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgb(var(--base)/0.05);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 39% 100%);
    z-index: -1;
}

.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__title {
    margin-top: 15px;
    margin-bottom: 0;
    font-size: 18px;
}

/*---------------------------------------
    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--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.3 Padding
-----------------------------------------*/
.t-pt-5 {
    padding-top: 5px;
}

.t-pt-10 {
    padding-top: 10px;
}

.t-pt-15 {
    padding-top: 15px;
}

.t-pt-20 {
    padding-top: 20px;
}

.t-pt-25 {
    padding-top: 25px;
}

.t-pt-30 {
    padding-top: 30px;
}

.t-pt-35 {
    padding-top: 35px;
}

.t-pt-40 {
    padding-top: 40px;
}

.t-pt-45 {
    padding-top: 45px;
}

.t-pt-50 {
    padding-top: 50px;
}

.t-pt-55 {
    padding-top: 55px;
}

.t-pt-60 {
    padding-top: 60px;
}

.t-pt-65 {
    padding-top: 65px;
}

.t-pt-70 {
    padding-top: 70px;
}

.t-pt-75 {
    padding-top: 75px;
}

.t-pt-80 {
    padding-top: 80px;
}

.t-pt-85 {
    padding-top: 85px;
}

.t-pt-90 {
    padding-top: 90px;
}

.t-pt-95 {
    padding-top: 95px;
}

.t-pt-100 {
    padding-top: 100px;
}

.t-pt-105 {
    padding-top: 105px;
}

.t-pt-110 {
    padding-top: 110px;
}

.t-pt-115 {
    padding-top: 115px;
}

.t-pt-120 {
    padding-top: 120px;
}

.t-pb-5 {
    padding-bottom: 5px;
}

.t-pb-10 {
    padding-bottom: 10px;
}

.t-pb-15 {
    padding-bottom: 15px;
}

.t-pb-20 {
    padding-bottom: 20px;
}

.t-pb-25 {
    padding-bottom: 25px;
}

.t-pb-30 {
    padding-bottom: 30px;
}

.t-pb-35 {
    padding-bottom: 35px;
}

.t-pb-40 {
    padding-bottom: 40px;
}

.t-pb-45 {
    padding-bottom: 45px;
}

.t-pb-50 {
    padding-bottom: 50px;
}

.t-pb-55 {
    padding-bottom: 55px;
}

.t-pb-60 {
    padding-bottom: 60px;
}

.t-pb-65 {
    padding-bottom: 65px;
}

.t-pb-70 {
    padding-bottom: 70px;
}

.t-pb-75 {
    padding-bottom: 75px;
}

.t-pb-80 {
    padding-bottom: 80px;
}

.t-pb-85 {
    padding-bottom: 85px;
}

.t-pb-90 {
    padding-bottom: 90px;
}

.t-pb-95 {
    padding-bottom: 95px;
}

.t-pb-100 {
    padding-bottom: 100px;
}

.t-pb-105 {
    padding-bottom: 105px;
}

.t-pb-110 {
    padding-bottom: 110px;
}

.t-pb-115 {
    padding-bottom: 115px;
}

.t-pb-120 {
    padding-bottom: 120px;
}

.t-pr-5 {
    padding-right: 5px;
}

.t-pr-10 {
    padding-right: 10px;
}

.t-pr-15 {
    padding-right: 15px;
}

.t-pr-20 {
    padding-right: 20px;
}

.t-pr-25 {
    padding-right: 25px;
}

.t-pr-30 {
    padding-right: 30px;
}

.t-pr-35 {
    padding-right: 35px;
}

.t-pr-40 {
    padding-right: 40px;
}

.t-pr-45 {
    padding-right: 45px;
}

.t-pr-50 {
    padding-right: 50px;
}

.t-pr-55 {
    padding-right: 55px;
}

.t-pr-60 {
    padding-right: 60px;
}

.t-pr-65 {
    padding-right: 65px;
}

.t-pr-70 {
    padding-right: 70px;
}

.t-pr-75 {
    padding-right: 75px;
}

.t-pr-80 {
    padding-right: 80px;
}

.t-pr-85 {
    padding-right: 85px;
}

.t-pr-90 {
    padding-right: 90px;
}

.t-pr-95 {
    padding-right: 95px;
}

.t-pr-100 {
    padding-right: 100px;
}

.t-pr-105 {
    padding-right: 105px;
}

.t-pr-110 {
    padding-right: 110px;
}

.t-pr-115 {
    padding-right: 115px;
}

.t-pr-120 {
    padding-right: 120px;
}

.t-pl-5 {
    padding-left: 5px;
}

.t-pl-10 {
    padding-left: 10px;
}

.t-pl-15 {
    padding-left: 15px;
}

.t-pl-20 {
    padding-left: 20px;
}

.t-pl-25 {
    padding-left: 25px;
}

.t-pl-30 {
    padding-left: 30px;
}

.t-pl-35 {
    padding-left: 35px;
}

.t-pl-40 {
    padding-left: 40px;
}

.t-pl-45 {
    padding-left: 45px;
}

.t-pl-50 {
    padding-left: 50px;
}

.t-pl-55 {
    padding-left: 55px;
}

.t-pl-60 {
    padding-left: 60px;
}

.t-pl-65 {
    padding-left: 65px;
}

.t-pl-70 {
    padding-left: 70px;
}

.t-pl-75 {
    padding-left: 75px;
}

.t-pl-80 {
    padding-left: 80px;
}

.t-pl-85 {
    padding-left: 85px;
}

.t-pl-90 {
    padding-left: 90px;
}

.t-pl-95 {
    padding-left: 95px;
}

.t-pl-100 {
    padding-left: 100px;
}

.t-pl-105 {
    padding-left: 105px;
}

.t-pl-110 {
    padding-left: 110px;
}

.t-pl-115 {
    padding-left: 115px;
}

.t-pl-120 {
    padding-left: 120px;
}

/*---------------------------------------
    3.4 Margin
-----------------------------------------*/
.t-mt-5 {
    margin-top: 5px;
}

.t-mt-10 {
    margin-top: 10px;
}

.t-mt-15 {
    margin-top: 15px;
}

.t-mt-20 {
    margin-top: 20px;
}

.t-mt-25 {
    margin-top: 25px;
}

.t-mt-30 {
    margin-top: 30px;
}

.t-mt-35 {
    margin-top: 35px;
}

.t-mt-40 {
    margin-top: 40px;
}

.t-mt-45 {
    margin-top: 45px;
}

.t-mt-50 {
    margin-top: 50px;
}

.t-mt-55 {
    margin-top: 55px;
}

.t-mt-60 {
    margin-top: 60px;
}

.t-mt-65 {
    margin-top: 65px;
}

.t-mt-70 {
    margin-top: 70px;
}

.t-mt-75 {
    margin-top: 75px;
}

.t-mt-80 {
    margin-top: 80px;
}

.t-mt-85 {
    margin-top: 85px;
}

.t-mt-90 {
    margin-top: 90px;
}

.t-mt-95 {
    margin-top: 95px;
}

.t-mt-100 {
    margin-top: 100px;
}

.t-mt-105 {
    margin-top: 105px;
}

.t-mt-110 {
    margin-top: 110px;
}

.t-mt-115 {
    margin-top: 115px;
}

.t-mt-120 {
    margin-top: 120px;
}

.t-mb-5 {
    margin-bottom: 5px;
}

.t-mb-10 {
    margin-bottom: 10px;
}

.t-mb-15 {
    margin-bottom: 15px;
}

.t-mb-20 {
    margin-bottom: 20px;
}

.t-mb-25 {
    margin-bottom: 25px;
}

.t-mb-30 {
    margin-bottom: 30px;
}

.t-mb-35 {
    margin-bottom: 35px;
}

.t-mb-40 {
    margin-bottom: 40px;
}

.t-mb-45 {
    margin-bottom: 45px;
}

.t-mb-50 {
    margin-bottom: 50px;
}

.t-mb-55 {
    margin-bottom: 55px;
}

.t-mb-60 {
    margin-bottom: 60px;
}

.t-mb-65 {
    margin-bottom: 65px;
}

.t-mb-70 {
    margin-bottom: 70px;
}

.t-mb-75 {
    margin-bottom: 75px;
}

.t-mb-80 {
    margin-bottom: 80px;
}

.t-mb-85 {
    margin-bottom: 85px;
}

.t-mb-90 {
    margin-bottom: 90px;
}

.t-mb-95 {
    margin-bottom: 95px;
}

.t-mb-100 {
    margin-bottom: 100px;
}

.t-mb-105 {
    margin-bottom: 105px;
}

.t-mb-110 {
    margin-bottom: 110px;
}

.t-mb-115 {
    margin-bottom: 115px;
}

.t-mb-120 {
    margin-bottom: 120px;
}

.t-mr-5 {
    margin-right: 5px;
}

.t-mr-10 {
    margin-right: 10px;
}

.t-mr-15 {
    margin-right: 15px;
}

.t-mr-20 {
    margin-right: 20px;
}

.t-mr-25 {
    margin-right: 25px;
}

.t-mr-30 {
    margin-right: 30px;
}

.t-mr-35 {
    margin-right: 35px;
}

.t-mr-40 {
    margin-right: 40px;
}

.t-mr-45 {
    margin-right: 45px;
}

.t-mr-50 {
    margin-right: 50px;
}

.t-mr-55 {
    margin-right: 55px;
}

.t-mr-60 {
    margin-right: 60px;
}

.t-mr-65 {
    margin-right: 65px;
}

.t-mr-70 {
    margin-right: 70px;
}

.t-mr-75 {
    margin-right: 75px;
}

.t-mr-80 {
    margin-right: 80px;
}

.t-mr-85 {
    margin-right: 85px;
}

.t-mr-90 {
    margin-right: 90px;
}

.t-mr-95 {
    margin-right: 95px;
}

.t-mr-100 {
    margin-right: 100px;
}

.t-mr-105 {
    margin-right: 105px;
}

.t-mr-110 {
    margin-right: 110px;
}

.t-mr-115 {
    margin-right: 115px;
}

.t-mr-120 {
    margin-right: 120px;
}

.t-ml-5 {
    margin-left: 5px;
}

.t-ml-10 {
    margin-left: 10px;
}

.t-ml-15 {
    margin-left: 15px;
}

.t-ml-20 {
    margin-left: 20px;
}

.t-ml-25 {
    margin-left: 25px;
}

.t-ml-30 {
    margin-left: 30px;
}

.t-ml-35 {
    margin-left: 35px;
}

.t-ml-40 {
    margin-left: 40px;
}

.t-ml-45 {
    margin-left: 45px;
}

.t-ml-50 {
    margin-left: 50px;
}

.t-ml-55 {
    margin-left: 55px;
}

.t-ml-60 {
    margin-left: 60px;
}

.t-ml-65 {
    margin-left: 65px;
}

.t-ml-70 {
    margin-left: 70px;
}

.t-ml-75 {
    margin-left: 75px;
}

.t-ml-80 {
    margin-left: 80px;
}

.t-ml-85 {
    margin-left: 85px;
}

.t-ml-90 {
    margin-left: 90px;
}

.t-ml-95 {
    margin-left: 95px;
}

.t-ml-100 {
    margin-left: 100px;
}

.t-ml-105 {
    margin-left: 105px;
}

.t-ml-110 {
    margin-left: 110px;
}

.t-ml-115 {
    margin-left: 115px;
}

.t-ml-120 {
    margin-left: 120px;
}

/*---------------------------------------
    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-link--accent:hover {
    color: hsl(var(--accent));
}

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

/*---------------------------------------
    3.6 Animation
-----------------------------------------*/
@keyframes btnVideo {
    0% {
        box-shadow: 0 0 0 0 hsl(var(--warning));
    }

    50% {
        box-shadow: 0 0 0 10px hsl(var(--warning)/0.3);
    }

    100% {
        box-shadow: 0 0 0 20px hsl(var(--warning)/0.04);
    }
}

@keyframes circle {
    0% {
        transform: rotate(0deg) translate(-60px) rotate(0deg);
    }

    100% {
        transform: rotate(360deg) translate(-60px) rotate(-360deg);
    }
}

@keyframes goright {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(80px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes goleft {
    0% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(-80px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes topRight {
    0% {
        transform: translate(0);
    }

    50% {
        transform: translate(80px, -80px);
    }

    100% {
        transform: translate(0);
    }
}

@keyframes topLeft {
    0% {
        transform: translate(0);
    }

    50% {
        transform: translate(80px, 80px);
    }

    100% {
        transform: translate(0);
    }
}

@keyframes circlerotate {
    0% {
        transform: rotate(0deg) translate(-60px);
    }

    100% {
        transform: rotate(360deg) translate(-60px);
    }
}

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

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

@keyframes goTop {
    0% {
        transform: translateY(0) translateX(-50%);
    }

    50% {
        transform: translateY(-20px) translateX(-50%);
    }

    100% {
        transform: translateY(0) translateX(-50%);
    }
}

@keyframes heartBeat {
    0% {
        outline: 0 solid rgba(var(--r), var(--g), var(--b), 0.5);
    }

    25% {
        outline: 5px solid rgba(var(--r), var(--g), var(--b), 0.5);
    }

    50% {
        outline: 10px solid rgba(var(--r), var(--g), var(--b), 0.5);
    }

    75% {
        outline: 5px solid rgba(var(--r), var(--g), var(--b), 0.5);
    }

    100% {
        outline: 0 solid rgba(var(--r), var(--g), var(--b), 0.5);
    }
}
/*---------------------------------------
    0.4 Layouts Style
-----------------------------------------*/
/*---------------------------------------
    4.1 Footer
-----------------------------------------*/
.footer {
    background: hsl(var(--accent));
}

.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.2 Service Section
-----------------------------------------*/
.service-section {
    background: hsl(var(--light));
}

/*---------------------------------------
    4.3 Blog Section
-----------------------------------------*/
.blog-section {
    padding-bottom: clamp(277px, 8vw, 337px);
}

@media screen and (min-width: 768px) {
    .blog-section {
        padding-bottom: clamp(197px, 8vw, 257px);
    }
}

@media screen and (min-width: 992px) {
    .blog-section {
        padding-bottom: clamp(130px, 8vw, 190px);
    }
}
/*---------------------------------------
    4.4 Contact Section
-----------------------------------------*/
.contact-section {
    background: hsl(var(--light));
}

/*---------------------------------------
    4.5 Login Section
-----------------------------------------*/
.login-section {
    padding-bottom: clamp(307px, 8vw, 397px);
}

@media screen and (min-width: 768px) {
    .login-section {
        padding-bottom: clamp(227px, 8vw, 317px);
    }
}

@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;
        padding-top: clamp(30px, 4vw, 60px);
        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 {
        position: sticky;
        top: 100px;
        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
-----------------------------------------*/
.dashboard-section {
    background: hsl(var(--light));
    padding-bottom: clamp(277px, 8vw, 337px);
}

@media screen and (min-width: 768px) {
    .dashboard-section {
        padding-bottom: clamp(197px, 8vw, 257px);
    }
}

@media screen and (min-width: 992px) {
    .dashboard-section {
        padding-bottom: clamp(130px, 8vw, 190px);
    }
}
.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));
}