/*---------------------------------------
    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=Open+Sans:wght@400;500&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");

:root {
    --heading-font: "Plus Jakarta Sans", sans-serif;
    --body-font: "Open Sans", sans-serif;
    --h1: clamp(2.1rem, 4vw + 1rem, 3.052rem);
    --h2: clamp(1.69775rem, 3vw + 1rem, 2.441rem);
    --h3: clamp(1.367rem, 2.7vw + 1rem, 1.953rem);
    --h4: clamp(1.2504rem, 2vw + 1rem, 1.563rem);
    --h5: 1.25rem;
    --h6: 1rem;
    --base-h: 24;
    --base-s: 97%;
    --base-l: 54%;
    --base: var(--base-h) var(--base-s) var(--base-l);
    --base-light: calc(var(--base-h) - 3) calc(var(--base-s) - 5%) calc(var(--base-l) + 5%);
    --base-dark: calc(var(--base-h) - 3) calc(var(--base-s) - 5%) calc(var(--base-l) - 16%);
    --accent-h: 227;
    --accent-s: 60%;
    --accent-l: 40%;
    --accent: var(--accent-h) var(--accent-s) var(--accent-l);
    --accent-light: calc(var(--accent-h) - 3) calc(var(--accent-s) - 5%) calc(var(--accent-l) + 5%);
    --accent-dark: var(--accent-h) var(--accent-s) calc(var(--accent-l) - 8%);
    --light-h: 240;
    --light-s: 100%;
    --light-l: 98%;
    --light: var(--light-h) var(--light-s) var(--light-l);
    --light-dark: var(--light-h) var(--light-s) calc(var(--light-l) - 2%);
    --dark-h: 237;
    --dark-s: 57%;
    --dark-l: 15%;
    --dark: var(--dark-h) var(--dark-s) var(--dark-l);
    --dark-100: var(--dark-h) calc(var(--dark-s) - 7%) calc(var(--dark-l) + 15%);
    --dark-200: var(--dark-h) calc(var(--dark-s) - 7%) calc(var(--dark-l) + 10%);
    --dark-300: var(--dark-h) calc(var(--dark-s) - 7%) calc(var(--dark-l) + 8%);
    --dark-400: var(--dark-h) calc(var(--dark-s) - 7%) calc(var(--dark-l) + 5%);
    --dark-500: var(--dark-h) var(--dark-s) calc(var(--dark-l) - 2%);
    --dark-600: var(--dark-h) var(--dark-s) calc(var(--dark-l) - 4%);
    --dark-700: var(--dark-h) var(--dark-s) calc(var(--dark-l) - 6%);
    --dark-800: var(--dark-h) var(--dark-s) calc(var(--dark-l) - 8%);
    --black-h: 0;
    --black-s: 0%;
    --black-l: 0%;
    --black: var(--black-h) var(--black-s) var(--black-l);
    --white: 0 0% 100%;
    --primary: 204 88% 44%;
    --secondary: 208 23% 55%;
    --success: 161 74% 48%;
    --danger: 5 76% 55%;
    --warning: 40 99% 57%;
    --info: 190 76% 40%;
    --text-h: 207;
    --text-s: 22%;
    --text-l: 48%;
    --text: var(--text-h) var(--text-s) var(--text-l);
    --heading-h: 206;
    --heading-s: 23%;
    --heading-l: 28%;
    --heading: var(--heading-h) var(--heading-s) var(--heading-l);
    --border: 205 22% 85%;
}

html {
    font-size: 100%;
}

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

p {
    margin-bottom: 1rem;
}

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

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);
    letter-spacing: 0.05em;
}

.xsm-text {
    font-size: 0.75rem;
}

small,
.sm-text {
    font-size: 0.875rem;
}

.lg-text {
    font-size: 1.125rem;
}

.xl-text {
    font-size: 1.25rem;
}

.xxl-text {
    font-size: 1.5rem;
}

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

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

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

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

button:focus {
    outline: none !important;
}

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

input:focus {
    outline: none;
}

.form-label {
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 600;
    color: hsl(var(--heading));
}

@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
-----------------------------------------*/
/*---------------------------------------
    Hero
-----------------------------------------*/
.hero {
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
    background-image: url(../images/hero-bg.png), linear-gradient(45deg, hsl(var(--accent-dark)), hsl(var(--accent)));
    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__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-title {
    color: hsl(var(--white));
}

.hero__content-para {
    max-width: 55ch;
    font-size: 18px;
    color: hsl(var(--white));
}

.hero__btn-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

/*---------------------------------------
    Header Priamry
-----------------------------------------*/
.header-primary {
    width: 100%;
    z-index: 19;
}

.header-primary--sticky {
    position: sticky;
    top: 0;
    background: hsl(var(--accent));
}

.header-primary--fixed {
    position: absolute;
    transition: all 0.3s ease;
}

@media screen and (min-width: 992px) {
    .header-primary__content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
    }
}

/*---------------------------------------
    Logo
-----------------------------------------*/
.logo {
    display: flex;
    align-items: center;
    max-width: 140px;
    height: 40px;
    font-size: 24px;
    text-transform: capitalize;
    font-family: var(--heading-font);
    font-weight: 700;
    color: hsl(var(--white));
    letter-spacing: 0.03em;
}

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

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

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

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

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

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

.list--base>li::before {
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    line-height: 10px;
    border-radius: 50%;
    margin-right: 15px;
    background: hsl(var(--base));
    box-shadow: 0 0 0 5px hsl(var(--base)/0.2);
}

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

.list--check>li::before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: hsl(var(--success));
    display: inline-block;
    flex-shrink: 0;
    margin-right: 8px;
}

/*---------------------------------------
    Nav
-----------------------------------------*/
.nav-container {
    position: relative;
    background: hsl(var(--white));
    border-radius: 5px;
}

@media screen and (min-width: 992px) {
    .nav-container {
        width: 100%;
        border-radius: 0;
        background: transparent;
    }
}

/*---------------------------------------
    Primary Menu
-----------------------------------------*/
.primary-menu {
    gap: 0;
}

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

.primary-menu>li {
    border-bottom: 1px solid hsl(var(--dark)/0.1);
}

@media screen and (min-width: 992px) {
    .primary-menu>li {
        border-bottom: none;
    }
}

.primary-menu>li:last-child {
    border-bottom: none;
}

@media screen and (min-width: 992px) {
    .primary-menu>li.has-sub {
        position: relative;
    }

    .primary-menu>li.has-sub:hover .primary-menu__sub {
        visibility: visible;
        opacity: 1;
        top: 100%;
    }
}

.primary-menu>li.has-sub .primary-menu__link {
    position: relative;
}

.primary-menu>li.has-sub .primary-menu__link::after {
    content: "\f107";
    position: absolute;
    font-family: "Line Awesome Free";
    font-weight: 900;
    line-height: 1;
    top: 50%;
    right: -6px;
    transform: translateY(-50%);
    font-size: 12px;
    transition: all 0.3s ease;
}

.primary-menu>li.has-sub .primary-menu__link.active::after {
    content: "\f106";
}

.primary-menu__link {
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
    margin-left: 15px;
    margin-right: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 14px;
    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: 15px;
    }
}

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

.primary-menu__link.active {
    color: hsl(var(--base));
}

.primary-menu__sub {
    list-style: none;
    padding: 0;
    margin-left: 15px;
    margin-right: 15px;
    display: none;
}

@media screen and (min-width: 992px) {
    .primary-menu__sub {
        display: block !important;
        height: max-content !important;
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s ease;
        min-width: 220px;
        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(--white));
        position: absolute;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
    }
}

.primary-menu__sub>li:first-child .primary-menu__sub-link {
    padding-top: 0;
}

@media screen and (min-width: 992px) {
    .primary-menu__sub>li:first-child .primary-menu__sub-link {
        padding-top: 8px;
    }
}

.primary-menu__sub>li:last-child .primary-menu__sub-link {
    padding-bottom: 5px;
}

@media screen and (min-width: 992px) {
    .primary-menu__sub>li:last-child .primary-menu__sub-link {
        padding-bottom: 8px;
    }
}

.primary-menu__sub-link {
    display: block;
    padding-top: 5px;
    padding-left: 15px;
    padding-right: 15px;
    color: hsl(var(--dark));
    transition: all 0.3s ease;
    position: relative;
    font-size: 13px;
}

@media screen and (min-width: 992px) {
    .primary-menu__sub-link {
        padding-top: 8px;
        padding-bottom: 8px;
        border-radius: 3px !important;
        background-color: hsl(var(--white));
        color: hsl(var(--dark));
        text-align: center;
        font-size: 14px;
    }
}

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

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

@media screen and (min-width: 992px) {
    .primary-menu__auth {
        margin-left: auto;
    }
}

/*---------------------------------------
    Nav Toggler
-----------------------------------------*/
.navbar-toggler {
    padding: 0;
    border: none;
}

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

.navbar-toggler[aria-expanded=true] .menu-toggle {
    border-color: transparent;
}

.navbar-toggler[aria-expanded=true] .menu-toggle::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.navbar-toggler[aria-expanded=true] .menu-toggle::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/*---------------------------------------
    Form Control
-----------------------------------------*/
.form--control {
    height: 45px;
    line-height: 32px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid hsl(var(--border)/0.5);
    background: hsl(var(--light)/0.3);
    color: hsl(var(--heading));
    transition: all 0.3s ease;
}

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

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

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

.form--control[readonly] {
    background: hsl(var(--dark)/0.1);
    border: 1px solid hsl(var(--dark)/0.05);
    color: hsl(var(--dark-400));
}

.form--control[readonly]::placeholder {
    color: hsl(var(--dark-400)/0.5);
}

.form--control[disabled] {
    background: hsl(var(--dark)/0.1);
    border: 1px solid hsl(var(--dark)/0.05);
    color: hsl(var(--dark-400));
}

.form--control[disabled]::placeholder {
    color: hsl(var(--dark-400)/0.5);
}

.form--control[type=file]::-webkit-file-upload-button {
    background: hsl(var(--light)/0.5) !important;
    color: hsl(var(--dark)) !important;
}

textarea.form--control {
    height: auto;
    line-height: normal;
    padding-top: 15px;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid hsl(var(--border)/0.5);
    background: hsl(var(--light)/0.3);
    color: hsl(var(--heading));
    transition: all 0.3s ease;
}

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

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

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

.preloader__img {
    width: 80px;
    height: 80px;
    animation: imageBeat 2s infinite ease;
}

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

/*---------------------------------------
    Back To Top
-----------------------------------------*/
.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    background-color: hsl(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;
}

/*---------------------------------------
    Button Style
-----------------------------------------*/
.btn {
    font-size: 14px;
    font-family: var(--heading-font);
    font-weight: 500;
    transition: all 0.3s ease;
    flex-shrink: 0;


}

.btn:hover {
    box-shadow: 0 5px 10px hsl(var(--dark)/0.1);
}

.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(--base));
}

.btn--light:hover {
    border: 1px solid transparent;
    background: hsl(var(--light));
    color: hsl(var(--accent));
}

.btn--base {
    overflow: hidden;
    position: relative;
    isolation: isolate;
    background: hsl(var(--base));
    font-size: 14px;
    color: hsl(var(--white));
}

.btn--base:hover {
    border: 1px solid transparent;
    background: hsl(var(--base-dark));
    color: hsl(var(--white));
}

.btn--base:focus {
    border: 1px solid transparent;
    background: hsl(var(--base-dark));
    color: hsl(var(--white));
}

.btn--base:action {
    border: 1px solid transparent;
    background: hsl(var(--base-dark));
    color: hsl(var(--white));
}

.btn--accent {
    overflow: hidden;
    position: relative;
    isolation: isolate;
    background: hsl(var(--accent));
    color: hsl(var(--white));
}

.btn--accent:hover {
    border: 1px solid transparent;
    background: hsl(var(--accent-dark));
    color: hsl(var(--white));
}

.btn--accent:focus {
    border: 1px solid transparent;
    background: hsl(var(--accent-dark));
    color: hsl(var(--white));
}

.btn--accent:action {
    border: 1px solid transparent;
    background: hsl(var(--accent-dark));
    color: hsl(var(--white));
}

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

.btn--circle {
    display: grid;
    place-content: center;
    width: 47px;
    height: 47px;
    padding: 0;
    border-radius: 50%;
    line-height: 1;
}

.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--view {
    padding: 0;
    display: inline-grid;
    place-content: center;
    width: 30px;
    height: 30px;
    background: hsl(var(--base));
    font-size: 14px;
    line-height: 1;
    color: hsl(var(--light));
}

.btn--view:hover {
    box-shadow: none;
    color: hsl(var(--light));
    background: hsl(var(--base));
}

.btn--view:focus {
    box-shadow: none;
    color: hsl(var(--light));
    background: hsl(var(--base));
}

.btn--view:active {
    box-shadow: none;
    color: hsl(var(--light));
    background: hsl(var(--base));
}

.btn--add-more {
    min-width: 91px;
    height: 100%;
    border: none;
    font-size: 14px;
    line-height: 1;
}

.btn--add-more:hover {
    box-shadow: none;
}

/*---------------------------------------
    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__title span {
    display: inline-block;
    position: relative;
    isolation: isolate;
}

.section__title span img {
    position: absolute;
    width: 105%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    opacity: 0.8;
}

.section__subtitle {
    display: inline-block;
    position: relative;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: var(--heading-font);
    color: hsl(var(--accent));
}

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

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

/*---------------------------------------
    Icon
-----------------------------------------*/
.icon {
    position: relative;
    display: grid;
    place-items: center;
}

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

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

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

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

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

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

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

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

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

.search--toggler {
    font-size: 23px;
    line-height: 1;
}

.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: hsl(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;
}

/*---------------------------------------
    Widget
-----------------------------------------*/
.widget {
    padding: 30px 15px;
    border-radius: 15px;
    border-top: 4px solid hsl(var(--base));
    border-bottom: 4px solid hsl(var(--base));
    background-color: hsl(var(--accent));
    box-shadow: 0 15px 30px hsl(var(--black)/0.2);
}

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

.widget__title {
    margin-top: 0;
}

.widget__link {
    color: hsl(var(--base));
}

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

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

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

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

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

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

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

/*---------------------------------------
    Banner
-----------------------------------------*/
.banner {
    display: flex;
    flex-direction: column;
    position: relative;
    isolation: isolate;
    background: hsl(var(--accent-dark)) url(../images/banner-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

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

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

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

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

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

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

.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 hsl(var(--base)/0.2);
    padding: 15px;
    font-family: var(--heading-font);
    color: hsl(var(--heading));
    text-align: center;
    vertical-align: middle;
}

.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: 0.8125rem 0.9375rem;
    display: none;
    color: hsl(var(--heading));
}

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

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

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

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

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

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

    .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 hsl(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 */
/*---------------------------------------
    Accordion
-----------------------------------------*/
.custom--accordion .accordion-header {
    margin-top: 0;
}

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

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

.custom--accordion .accordion-button {
    padding: 15px 20px;
    border-radius: 3px;
    border: 1px solid hsl(var(--base)/0.15);
    background: hsl(var(--white)/0.8);
    color: hsl(var(--heading));
    font-family: var(--heading-font);
    font-size: 16px;
    font-weight: 500;
}

.custom--accordion .accordion-button:focus {
    border: 1px solid hsl(var(--base)/0.15);
    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;
    text-align: center;
    background-image: initial !important;
    transform: rotate(0deg) !important;
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 24px;
    color: hsl(var(--base));
    line-height: 1;
}

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

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

.custom--accordion .accordion-body {
    margin-top: 15px;
    border: 1px solid hsl(var(--base)/0.15);
    border-radius: 5px;
    background: hsl(var(--white));
    font-size: 14px;
    color: hsl(var(--heading));
}

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

/*---------------------------------------
    Form Select
-----------------------------------------*/
.form--select {
    position: relative;
    isolation: isolate;
}

.form--select::before {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    color: hsl(var(--dark));
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 100%;
    display: grid;
    place-items: center;
    padding-inline: 15px;
    border-radius: 0 0.25rem 0.25rem 0;
    pointer-events: none;
    z-index: 1;
}

.form--select .form-select {
    height: 45px;
    border-radius: 3px;
    padding-right: 46px;
    font-size: 0.875rem;
    font-weight: 500;
    border: 1px solid hsl(var(--border)/0.3);
    background: hsl(var(--light)/0.3);
    color: hsl(var(--heading));
}

.form--select .form-select:focus {
    outline: none;
    border: 1px solid hsl(var(--border)/0.3);
    background: hsl(var(--light)/0.3);
    color: hsl(var(--heading));
    box-shadow: none;
}

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

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

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

/*---------------------------------------
    Breadcrumbs
-----------------------------------------*/
.breadcrumbs {
    justify-content: center;
    align-items: center;
    --gap: 2rem;
}

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

.breadcrumbs__item::after {
    content: "";
    position: relative;
    display: inline-block;
    right: -1rem;
    height: 8px;
    width: 8px;
    border-radius: 50%;
    background-color: hsl(var(--base));
}

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

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

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

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

/*---------------------------------------
    Custom Pagination
-----------------------------------------*/
.pagination {
    margin-bottom: 0;
}

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

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

.pagination .page-item.disabled .page-link {
    background: hsl(var(--accent));
    border-color: hsl(var(--accent));
}

.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 hsl(var(--base));
    color: hsl(var(--base));
    text-align: center;
    font-size: 14px;
    background: transparent;
}

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

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

.custom--card .card-header {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 0;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid hsl(var(--border)/0.5);
    border-radius: 3px 3px 0 0;
    background: hsl(var(--light));
    font-family: var(--heading-font);
    font-size: 1rem;
    color: hsl(var(--heading));
}

.custom--card .card-header__icon {
    display: inline-block;
    font-size: 22px;
    line-height: 1;
}

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

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

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

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

/*---------------------------------------
    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(--base));
    opacity: 1;
    transition: all 0.3s ease;
}

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

.custom--modal .btn-close:focus {
    outline: none;
    box-shadow: none;
    color: hsl(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: 24px;
}

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

/*---------------------------------------
    Fixed Header 
-----------------------------------------*/
.fixed-header .header-primary--fixed {
    position: fixed;
    top: 0;
    background: hsl(var(--accent-dark));
}

.fixed-header .nav-container {
    border-radius: 5px;
}

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

/*---------------------------------------
    Input Group
-----------------------------------------*/
.input--group .input-group-text {
    display: grid;
    place-items: center;
    padding-inline: 15px;
    position: relative;
    border: 1px solid hsl(var(--border)/0.5);
    border-radius: 3px;
    background: hsl(var(--light-dark));
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--dark));
}

/*---------------------------------------
    Menu Toggle
-----------------------------------------*/
.menu-toggle {
    margin: 10px 0;
    position: relative;
    display: block;
    width: 1.5rem;
    height: 1.25rem;
    cursor: pointer;
    background: transparent;
    border-top: 2px solid;
    border-bottom: 2px solid;
    color: hsl(var(--base));
    font-size: 0;
    transition: all 0.25s ease-in-out;
    cursor: pointer;
}

.menu-toggle::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease-in-out;
    background-color: hsl(var(--base));
}

.menu-toggle::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease-in-out;
    background-color: hsl(var(--base));
}

/*---------------------------------------
    Navbar collapse
-----------------------------------------*/
@media screen and (min-width: 992px) {
    .navbar-collapse {
        display: block !important;
    }
}

.navbar-collapse.show {
    padding-bottom: 15px;
}

@media screen and (min-width: 992px) {
    .navbar-collapse.show {
        padding-bottom: 0;
    }
}

/*---------------------------------------
    Navbar
-----------------------------------------*/
@media screen and (min-width: 992px) {
    .navbar {
        padding-top: 0;
        padding-bottom: 0;
    }
}

/*---------------------------------------
    Custom Dropdown
-----------------------------------------*/
.custom-dropdown-open .custom-dropdown__content.is-open {
    visibility: visible;
    opacity: 1;
    top: calc(100% + 20px);
}

.custom-dropdown {
    position: relative;
    isolation: isolate;
}

.custom-dropdown__user {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
}

.custom-dropdown__user:hover {
    cursor: pointer;
}

.custom-dropdown__user:hover::after {
    inset: 0;
}

.custom-dropdown__user::after {
    content: "";
    position: absolute;
    inset: -3px;
    outline: 2px solid hsl(var(--base));
    border-radius: 50%;
    transition: all 0.3s ease;
}

.custom-dropdown__user-img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: cover;
    outline: 1px solid hsl(var(--base)/0.3);
}

.custom-dropdown__content {
    min-width: 250px;
    position: absolute;
    top: calc(100% + 30px);
    background: hsl(var(--white));
    border-radius: 5px;
    box-shadow: 0 0 20px hsl(var(--dark)/0.2);
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    border: 1px solid hsl(var(--base)/0.3);
}

.custom-dropdown__content-start {
    left: 0;
}

.custom-dropdown__content-start::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid hsl(var(--white));
    position: absolute;
    bottom: 100%;
    left: 5px;
    filter: drop-shadow(1px 0 0 hsl(var(--base)/0.3)) drop-shadow(-1px 0 0 hsl(var(--base)/0.3));
}

.custom-dropdown__content-end {
    right: 0;
}

.custom-dropdown__content-end::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid hsl(var(--white));
    position: absolute;
    bottom: 100%;
    right: 5px;
    filter: drop-shadow(1px 0 0 hsl(var(--base)/0.3)) drop-shadow(-1px 0 0 hsl(var(--base)/0.3));
}

.custom-dropdown__content-center {
    left: 50%;
    transform: translateX(-50%);
}

.custom-dropdown__content-center::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid hsl(var(--white));
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    filter: drop-shadow(1px 0 0 hsl(var(--base)/0.3)) drop-shadow(-1px 0 0 hsl(var(--base)/0.3));
}

.custom-dropdown__list {
    --gap: 0;
}

.custom-dropdown__list li {
    line-height: 1;
    border-bottom: 1px solid hsl(var(--base)/0.2);
}

.custom-dropdown__list li:last-child {
    border-bottom: none;
}

.custom-dropdown__body {
    max-height: 275px;
}

.custom-dropdown__body-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 15px;
}

.custom-dropdown__body-link:hover {
    background: hsl(var(--base)/0.05);
}

.custom-dropdown__body-icon {
    display: inline-block;
    font-size: 24px;
    color: hsl(var(--base));
}

.custom-dropdown__body-text {
    display: inline-block;
    font-size: 14px;
    color: hsl(var(--dark));
}

/*---------------------------------------
    Header Top
-----------------------------------------*/
.header-top {
    padding-top: 3px;
    padding-bottom: 3px;
    background: hsl(var(--accent-dark));
}

/*---------------------------------------
    Login Button
-----------------------------------------*/
.login-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 3px 15px;
    background: hsl(var(--base));
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.login-btn:hover {
    color: #fff;
}

/*---------------------------------------
    Select Language
-----------------------------------------*/
.select-lang {
    position: relative;
    isolation: isolate;
    display: flex;
    gap: 5px;
    margin-left: 15px;
}

.select-lang::before {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    color: hsl(var(--light));
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 100%;
    display: grid;
    place-items: center;
    border-radius: 0 0.25rem 0.25rem 0;
    pointer-events: none;
    z-index: 1;
    font-size: 12px;
}

@media screen and (min-width: 992px) {
    .select-lang::before {
        padding-right: 0;
    }
}

.select-lang--container {
    padding-top: 3px;
    padding-bottom: 3px;
}

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

.select-lang .form-select {
    border: none;
    padding: 0;
    font-family: var(--body-font);
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--light));
    background: transparent;
}

@media screen and (min-width: 992px) {
    .select-lang .form-select {
        padding-right: 12px;
    }
}

@media screen and (max-width: 992px) {
    .select-lang .form-select {
        padding-right: 10px;
    }
}

.select-lang .form-select:focus {
    box-shadow: none;
}

.select-lang option {
    padding-left: 10px;
    padding-right: 10px;
    background-color: hsl(var(--accent-dark));
}

/*---------------------------------------
    Header Menu
-----------------------------------------*/
.header-menu {
    gap: 0.5rem;
    align-items: center;
}

.header-menu__end {
    margin-left: auto;
}

.header-menu__link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 5px 10px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.header-menu__icon {
    display: inline-block;
    color: hsl(var(--base));
}

.header-menu__text {
    display: none;
    font-size: 14px;
    color: hsl(var(--light));
}

@media screen and (min-width: 768px) {
    .header-menu__text {
        display: block;
    }
}

/*---------------------------------------
    Client Slider
-----------------------------------------*/
.client-slider:hover .client-slider__arrow {
    visibility: visible;
    opacity: 1;
}

.client-slider__item {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    height: 60px;
}

.client-slider__item:hover .client-slider__img {
    filter: none;
}

.client-slider__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(1);
    transition: all 0.3s ease;
    cursor: pointer;
}

.client-slider__arrow {
    display: grid;
    place-content: center;
    visibility: hidden;
    opacity: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid hsl(var(--accent));
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: hsl(var(--light));
    color: hsl(var(--accent));
    line-height: 1;
    transition: all 0.3s ease;
    z-index: 1;
}

.client-slider__arrow:hover {
    background: hsl(var(--accent));
    color: hsl(var(--light));
}

.client-slider__arrow-prev {
    left: 0;
}

.client-slider__arrow-next {
    right: 0;
}

/*---------------------------------------
    Service Card
-----------------------------------------*/
.service-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 15px;
    position: relative;
    isolation: isolate;
    border-bottom: 3px solid hsl(var(--base)/0.7);
    background-color: hsl(var(--dark-700));
    transition: all 0.3s ease;
}

@media screen and (min-width: 576px) {
    .service-card {
        padding: 30px;
    }
}

.service-card:hover {
    border-color: hsl(var(--base));
}

.service-card:hover::after {
    opacity: 0.4;
}

.service-card::after {
    content: "";
    width: 100px;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: linear-gradient(45deg, hsl(var(--base)), hsl(var(--base-dark)));
    filter: blur(50px);
    z-index: -1;
    opacity: 0;
    transition: all 0.3s ease;
}

.service-card__icon {
    font-size: 48px;
    line-height: 1;
    background: -webkit-linear-gradient(hsl(var(--base-dark)), hsl(var(--base)));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service-card__title {
    margin-top: 0;
    color: hsl(var(--light));
}

.service-card__para {
    margin-bottom: 0;
    font-size: 14px;
    color: hsl(var(--light)/0.8);
}

/*---------------------------------------
    Pricing Plan
-----------------------------------------*/
.pricing {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    height: 100%;
    padding: 20px 15px;
    border-radius: 10px;
    border: 1px solid hsl(var(--border)/0.5);
    background: hsl(var(--white));
    transition: all 0.3s ease;
}

@media screen and (min-width: 992px) {
    .pricing {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}

.pricing:hover {
    border-color: hsl(var(--accent)/0.4);
}

.pricing--popular {
    position: relative;
    border: 1px solid hsl(var(--base));
}

.pricing--popular:hover {
    border-color: hsl(var(--base));
}

.pricing__title {
    margin-top: 0;
    margin-bottom: 5px;
    color: hsl(var(--dark));
}

.pricing__sub-title {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--dark));
}

.pricing__amount {
    margin: 0;
    line-height: 1;
    color: hsl(var(--dark));
}

.pricing__price {
    display: flex;
    align-items: center;
}

.pricing__currency {
    display: inline-block;
    color: hsl(var(--dark));
    font-size: 18px;
}

.pricing__plan-container {
    display: flex;
    align-items: flex-end;
    gap: 5px;
    margin-bottom: 1rem;
}

.pricing__text {
    display: inline-block;
    font-family: var(--heading-font);
    font-size: 14px;
    font-weight: 600;
    color: hsl(var(--dark));
}

.pricing__btn {
    width: 100%;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-family: var(--heading-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.03em;
    transition: all 0.3s ease;
}

.pricing__btn-regular {
    color: hsl(var(--dark));
    background: hsl(var(--light-dark));
}

.pricing__btn-regular:hover {
    color: hsl(var(--white));
    background: hsl(var(--accent));
}

.pricing__btn-popular {
    color: hsl(var(--base-dark));
    background: hsl(var(--base)/0.3);
}

.pricing__btn-popular:hover {
    color: hsl(var(--white));
    background: hsl(var(--base));
}

.pricing__notification {
    margin-top: 5px;
    display: block;
    font-family: var(--heading-font);
    font-size: 12px;
    font-weight: 600;
    color: hsl(var(--dark));
    text-align: center;
}

.pricing__list {
    --gap: .8rem;
}

.pricing__item {
    display: flex;
    align-items: center;
    font-family: var(--heading-font);
    font-size: 14px;
    line-height: 1.2;
    color: hsl(var(--dark));
}

.pricing__item::before {
    display: grid;
    place-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-right: 8px;
    border-radius: 50%;
    font-family: "Line Awesome Free";
    font-weight: 900;
    font-size: 12px;
    line-height: 1;
}

.pricing__item-success::before {
    content: "\f00c";
    background: hsl(var(--success)/0.15);
    color: hsl(var(--info));
}

.pricing__item-danger::before {
    content: "\f00d";
    background: hsl(var(--danger)/0.15);
    color: hsl(var(--danger));
}

.pricing__tag {
    display: inline-block;
    padding: 5px 15px;
    position: absolute;
    top: -11px;
    right: 15px;
    border-radius: 1rem;
    background: hsl(var(--base));
    font-family: var(--heading-font);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    color: hsl(var(--white));
}

/*---------------------------------------
    Facts
-----------------------------------------*/
@media screen and (min-width: 768px) {
    .facts {
        flex-direction: row;
        justify-content: space-between;
    }
}

.facts-content__title {
    display: block;
    font-family: var(--heading-font);
    font-size: 48px;
    font-weight: 700;
    line-height: 1.1;
    color: hsl(var(--heading));
}

@media screen and (min-width: 992px) {
    .facts-content__title {
        font-size: 30px;
    }
}

@media screen and (min-width: 1200px) {
    .facts-content__title {
        font-size: 48px;
    }
}

@media screen and (min-width: 1400px) {
    .facts-content__title {
        font-size: 60px;
    }
}

.facts-content__title-tail {
    display: inline-block;
    font-size: 20px;
}

.facts-content__sub-title {
    display: inline-block;
    font-family: var(--heading-font);
    font-size: 18px;
    font-weight: 700;
    color: hsl(var(--heading));
}

/*---------------------------------------
    Testimonial
-----------------------------------------*/
.testimonial {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 20px 15px;
    box-shadow: 0 0 8px hsl(var(--dark)/0.1);
    border-radius: 10px 10px 0 0;
    transition: all 0.3s ease;
    border-bottom: 6px solid;
    border-image-slice: 1;
    border-bottom-width: 3px;
    border-image-source: linear-gradient(45deg, hsl(var(--base-dark)), hsl(var(--base)/0.5));
}

@media screen and (min-width: 400px) {
    .testimonial {
        padding: 30px 20px;
    }
}

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

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

.testimonial__subject {
    margin: 0;
    flex-grow: 1;
}

.testimonial__user {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    flex-grow: 1;
}

.testimonial__quote {
    flex-shrink: 0;
    font-size: 34px;
    line-height: 1;
    background: -webkit-linear-gradient(45deg, hsl(var(--base-dark)), hsl(var(--base)/0.8));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.testimonial__img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    flex-shrink: 0;
    overflow: hidden;
}

.testimonial__img-is {
    width: 100%;
    height: 100%;
}

.testimonial__title {
    margin-top: 0;
    margin-bottom: 5px;
    color: hsl(var(--dark));
}

.testimonial__sub-title {
    display: block;
    font-family: var(--heading-font);
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
}

.testimonial__text {
    margin-bottom: 0;
    font-size: 14px;
}

/*---------------------------------------
    Testimonial Slider
-----------------------------------------*/
.testimonial-slider:hover .testimonial-slider__arrow {
    visibility: visible;
    opacity: 1;
}

.testimonial-slider__item {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
}

.testimonial-slider__arrow {
    display: grid;
    place-content: center;
    visibility: hidden;
    opacity: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid hsl(var(--base));
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: hsl(var(--white));
    color: hsl(var(--base));
    line-height: 1;
    transition: all 0.3s ease;
    z-index: 1;
}

.testimonial-slider__arrow:hover {
    border-color: transparent;
    background: linear-gradient(45deg, hsl(var(--base-dark)), hsl(var(--base)));
    color: hsl(var(--white));
}

.testimonial-slider__arrow-prev {
    left: 0;
}

.testimonial-slider__arrow-next {
    right: 0;
}

/*---------------------------------------
    Blog Post
-----------------------------------------*/
.blog-post {
    height: 100%;
    border: 1px solid hsl(var(--border)/0.5);
    border-radius: 10px;
}

.blog-post__img {
    display: block;
    width: 100%;
    height: 250px;
    border-radius: 10px 10px 0 0;
    text-decoration: none;
    overflow: hidden;
}

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

.blog-post__body {
    padding: 30px 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    border-radius: 0 0 10px 10px;
    background: hsl(var(--white));
}

@media screen and (min-width: 400px) {
    .blog-post__body {
        padding-left: 20px;
        padding-right: 20px;
    }
}

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

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

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

.blog-post__title {
    margin: 0;
}

.blog-post__description {
    margin: 0;
    font-size: 14px;
}

.blog-post__info {
    display: flex;
    align-items: center;
    font-family: var(--heading-font);
    font-size: 13px;
    font-weight: 600;
}

.blog-post__info-icon {
    font-size: 16px;
    line-height: 1;
}

.blog-post__link {
    display: block;
    text-decoration: none;
    color: hsl(var(--heading));
    transition: all 0.3s ease;
}

.blog-post__link:hover {
    color: hsl(var(--base));
}

.blog-post__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: 2rem;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    border: 1px solid hsl(var(--base)/0.15);
    background: hsl(var(--base)/0.08);
    font-family: var(--heading-font);
    color: hsl(var(--base));
    font-weight: 600;
    transition: all 0.3s ease;
}

.blog-post__btn:hover {
    background: hsl(var(--base));
    color: hsl(var(--light));
}

.blog-post__arrow {
    margin-left: 5px;
    font-size: 16px;
    line-height: 1;
}

/*---------------------------------------
    Social List
-----------------------------------------*/
.social-list {
    --gap: .5rem;
}

.social-list__icon {
    display: inline-block;
    text-decoration: none;
}

.social-list__icon i,
.social-list__icon span {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    font-size: 18px;
    transition: all 0.3s ease;
    background: hsl(var(--base));
    color: hsl(var(--white));
}

.social-list__icon i:hover,
.social-list__icon span:hover {
    box-shadow: 0 5px 15px 0 hsl(var(--dark)/0.3);
}

.social-list__icon [class*=facebook] {
    background: #1877f2;
    color: #fff;
}

.social-list__icon [class*=linkedin] {
    background: #0077b5;
    color: #fff;
}

.social-list__icon [class*=instagram] {
    background: #d6249f;
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
    color: #fff;
}

.social-list__icon [class*=twitter] {
    background: #1da1f2;
    color: #fff;
}

/*---------------------------------------
    Blockquote
-----------------------------------------*/
.custom--blockquote {
    padding: 20px 15px;
    border-left: 5px solid hsl(var(--base));
    background: hsl(var(--light));
}

@media screen and (min-width: 375px) {
    .custom--blockquote {
        padding: 30px 20px;
    }
}

@media screen and (min-width: 768px) {
    .custom--blockquote {
        padding: 35px 30px;
    }
}

.custom--blockquote__icon {
    display: block;
    margin-bottom: 0.5rem;
}

@media screen and (min-width: 375px) {
    .custom--blockquote__icon {
        margin-bottom: 1rem;
    }
}

.custom--blockquote__text {
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
}

@media screen and (min-width: 992px) {
    .custom--blockquote__text {
        font-size: 16px;
    }
}

@media screen and (min-width: 1200px) {
    .custom--blockquote__text {
        font-size: 18px;
    }
}

/*---------------------------------------
    Sidebar
-----------------------------------------*/
.sidebar {
    box-shadow: 0 0 5px hsl(var(--black)/0.1);
    border: 1px solid hsl(var(--border)/0.5);
    border-radius: 5px;
}

.sidebar__head {
    padding: 15px;
    background: hsl(var(--base));
    border-radius: 5px 5px 0 0;
}

@media screen and (min-width: 768px) {
    .sidebar__head {
        padding: 20px 30px;
    }
}

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

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

.sidebar__head-title {
    margin: 0;
    color: hsl(var(--white));
}

.sidebar__body {
    padding: 15px;
}

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

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

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

/*---------------------------------------
    Sidebar Nav
-----------------------------------------*/
.sidebar-nav li:first-child .sidebar-nav__link {
    padding-top: 15px;
}

.sidebar-nav li:last-child .sidebar-nav__link {
    padding-bottom: 15px;
}

.sidebar-nav__head {
    padding: 30px 15px 10px;
}

.sidebar-nav__title {
    margin: 0;
}

.sidebar-nav__link {
    display: block;
    padding: 5px 15px;
    border-right: 3px solid transparent;
    font-size: 14px;
    color: hsl(var(--text));
    font-weight: 500;
    transition: all 0.3s ease;
}

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

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

/*---------------------------------------
    Recent Post
-----------------------------------------*/
.recent-post {
    display: flex;
    gap: 1rem;
}

.recent-post__img {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 5px;
    overflow: hidden;
}

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

.recent-post__title {
    margin-top: 0;
    margin-bottom: 5px;
}

.recent-post__title-link {
    color: hsl(var(--heading));
    text-decoration: none;
    transition: all 0.3s ease;
}

.recent-post__title-link:hover {
    color: hsl(var(--base));
}

.recent-post__date {
    display: block;
    font-size: 14px;
}

/*---------------------------------------
    Contact Info
-----------------------------------------*/
.contact-info {
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 58px;
    border: 1px solid hsl(var(--border)/0.3);
    border-radius: 10px;
    box-shadow: 0 0 10px hsl(var(--accent)/0.05);
    background: hsl(var(--white));
}

@media screen and (min-width: 768px) {
    .contact-info {
        padding: 30px;
        margin-top: 45px;
    }
}

@media screen and (min-width: 1200px) {
    .contact-info {
        padding: 40px;
        margin-top: 35px;
    }
}

.contact-info__icon {
    width: 92px;
    height: 92px;
    display: grid;
    place-content: center;
    flex-shrink: 0;
    position: relative;
    isolation: isolate;
    margin-top: -65px;
    outline: 8px solid hsl(var(--white));
    border-radius: 50%;
    box-shadow: 0 0 25px hsl(var(--accent-dark)/0.3);
    background: hsl(var(--white));
    color: hsl(var(--base)/0.7);
    font-size: 40px;
    line-height: 1;
}

.contact-info__icon::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: hsl(var(--base)/0.2);
    z-index: -2;
}

/*---------------------------------------
    Map
-----------------------------------------*/
.map {
    width: 100%;
    height: 300px;
    margin-bottom: -7px;
    mix-blend-mode: luminosity;
}

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

/*---------------------------------------
    Form Check
-----------------------------------------*/
.form--check {
    display: flex;
    gap: 0.5rem;
}

.form--check .form-label {
    margin-bottom: 0;
}

/*---------------------------------------
    Login Form
-----------------------------------------*/
.login-form {
    padding: 20px 15px;
    border-radius: 5px;
    background: hsl(var(--white));
    box-shadow: 0 0 15px hsl(var(--dark)/0.05);
}

@media screen and (min-width: 576px) {
    .login-form {
        padding: 30px 20px;
    }
}

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

@media screen and (min-width: 1200px) {
    .login-form {
        border-radius: 10px;
    }
}

.login-form__title {
    margin-top: 0;
    display: inline-block;
    position: relative;
    isolation: isolate;
}

.login-form__title::after {
    content: "";
    position: absolute;
    inset: auto -3px 0 -3px;
    height: 25%;
    background: hsl(var(--base)/0.3);
    z-index: -1;
}

/*---------------------------------------
    Dashboard Sidebar
-----------------------------------------*/
@media screen and (min-width: 992px) {
    .dashboard-sidebar {
        position: sticky;
        top: 90px;
    }
}

.dashboard-sidebar__nav-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    margin-bottom: 15px;
    border-radius: 5px;
    background: hsl(var(--base)/0.2);
}

@media screen and (min-width: 992px) {
    .dashboard-sidebar__nav-toggle {
        display: none;
    }
}

.dashboard-sidebar__nav-toggle-text {
    display: block;
    font-size: 14px;
    line-height: 1.2;
    color: hsl(var(--dark));
    font-weight: 500;
}

.dashboard-sidebar__nav-toggle-btn {
    padding: 0;
    border: none;
    line-height: 1;
    font-size: 24px;
    background: transparent;
    color: hsl(var(--base-dark));
}

.dashboard-sidebar__nav-toggle-btn:hover {
    border: none;
    color: hsl(var(--base-dark));
    box-shadow: none;
}

.dashboard-sidebar__nav-toggle-btn:focus {
    border: none;
    box-shadow: none;
    color: hsl(var(--base-dark));
}

/*---------------------------------------
    Dashboard Menu
-----------------------------------------*/
.dashboard-menu {
    position: fixed;
    inset: 0;
    background: hsl(var(--dark));
    z-index: 1021;
    visibility: hidden;
    opacity: 0;
    transform: translateX(-100%);
    transition: all 0.3s ease;
}

@media screen and (min-width: 992px) {
    .dashboard-menu {
        position: unset;
        inset: unset;
        visibility: visible;
        opacity: 1;
        transform: translateX(0);
        background: transparent;
    }
}

.dashboard-menu__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid hsl(var(--light)/0.3);
    background: hsl(var(--dark-600));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__head {
        display: none;
    }
}

.dashboard-menu__head-text {
    display: block;
    padding-left: 15px;
    font-size: 14px;
    line-height: 1.2;
    color: hsl(var(--light));
}

.dashboard-menu__head-close {
    padding: 0;
    width: 40px;
    height: 40px;
    display: grid;
    place-content: center;
    font-size: 24px;
    color: hsl(var(--light));
    border: 0;
    border-left: 1px solid hsl(var(--light)/0.3);
    border-radius: 0;
}

.dashboard-menu__head-close:hover {
    color: hsl(var(--light));
    border-left: 1px solid hsl(var(--light)/0.3);
}

.dashboard-menu__head-close:focus {
    color: hsl(var(--light));
    border-left: 1px solid hsl(var(--light)/0.3);
}

.dashboard-menu__body {
    max-height: calc(100vh - 41px);
    background: hsl(var(--dark-500));
}

@media all and (orientation: landscape) {
    .dashboard-menu__body {
        min-height: 320px;
    }
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body {
        min-height: auto;
        max-height: calc(100vh - 346px);
        background: transparent;
        border: 1px solid hsl(var(--border)/0.5);
        border-radius: 10px;
    }
}

@media screen and (min-width: 1200px) {
    .dashboard-menu__body {
        max-height: unset;
    }
}

.dashboard-menu__body .accordion-header {
    margin-top: 0;
}

.dashboard-menu__body .accordion-item:first-of-type .accordion-button {
    border-radius: 0;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-item:first-of-type .accordion-button {
        border-radius: 3px;
    }
}

.dashboard-menu__body .accordion-button:not(.collapsed) {
    background: hsl(var(--dark));
    color: hsl(var(--light));
    box-shadow: none;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-button:not(.collapsed) {
        background: hsl(var(--white));
        box-shadow: none;
        color: hsl(var(--dark));
    }
}

.dashboard-menu__body .accordion-button:not(.collapsed)::after {
    content: "\f106";
    transform: rotate(0);
}

.dashboard-menu__body .accordion-button:not(.collapsed)[aria-expanded=false]::after {
    content: "\f107";
}

.dashboard-menu__body .accordion-item:last-of-type {
    border-radius: 0;
}

.dashboard-menu__body .accordion-item {
    border: none;
    background: hsl(var(--dark-300));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-item {
        background: transparent;
    }
}

.dashboard-menu__body .accordion-button {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: hsl(var(--dark));
    font-family: var(--body-font);
    color: hsl(var(--light));
    font-size: 14px;
    line-height: 1.2;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-button {
        background: hsl(var(--white));
        color: hsl(var(--dark));
    }
}

.dashboard-menu__body .accordion-button:focus {
    box-shadow: none;
}

.dashboard-menu__body .accordion-button:hover {
    color: hsl(var(--light));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-button:hover {
        color: hsl(var(--white));
        background: hsl(var(--base));
    }

    .dashboard-menu__body .accordion-button:hover .accordion-button__icon {
        color: hsl(var(--white));
    }
}

.dashboard-menu__body .accordion-button::after {
    content: "\f107";
    font-family: "Line Awesome Free";
    font-weight: 900;
    background-image: unset;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-button[aria-expanded=true] {
        background: hsl(var(--base));
        color: hsl(var(--white));
    }

    .dashboard-menu__body .accordion-button[aria-expanded=true] .accordion-button__icon {
        color: hsl(var(--white));
    }
}

.dashboard-menu__body .accordion-button__icon {
    display: inline-block;
    flex-shrink: 0;
    font-size: 24px;
    line-height: 1;
    color: hsl(var(--base));
}

.dashboard-menu__body .accordion-body {
    padding: 0;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion-body {
        background: hsl(var(--light-100)/0.5);
    }
}

.dashboard-menu__body .accordion.has-sub .accordion-button {
    padding-left: 48px;
    padding-right: 15px;
    background: hsl(var(--dark-300));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion.has-sub .accordion-button {
        background: hsl(var(--light));
        color: hsl(var(--dark));
    }
}

.dashboard-menu__body .accordion.has-sub .accordion-button:hover {
    box-shadow: none;
    color: hsl(var(--light));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion.has-sub .accordion-button:hover {
        color: hsl(var(--base));
    }
}

.dashboard-menu__body .accordion.has-sub .accordion-button:focus {
    box-shadow: none;
    color: hsl(var(--light));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__body .accordion.has-sub .accordion-button:focus {
        color: hsl(var(--base));
    }
}

.dashboard-menu__list {
    --gap: 1px;
    background: hsl(var(--dark-100));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__list {
        background: transparent;
        --gap: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        margin-left: 15px;
        margin-right: 15px;
    }
}

.dashboard-menu__list li {
    background: hsl(var(--dark-600));
}

@media screen and (min-width: 992px) {
    .dashboard-menu__list li {
        background: transparent;
    }

    .dashboard-menu__list li:last-child {
        border-bottom: none;
    }
}

.dashboard-menu__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: hsl(var(--dark));
    font-size: 14px;
    line-height: 1.2;
    color: hsl(var(--light));
    text-decoration: none;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__link {
        background: hsl(var(--white));
        color: hsl(var(--dark));
        border-radius: 3px;
    }
}

.dashboard-menu__link.active,
.dashboard-menu__link:hover {
    background: hsl(var(--base));
    color: hsl(var(--white));
}

.dashboard-menu__link.active .dashboard-menu__icon,
.dashboard-menu__link:hover .dashboard-menu__icon {
    color: hsl(var(--white));
}

.dashboard-menu__icon {
    display: inline-block;
    flex-shrink: 0;
    font-size: 24px;
    line-height: 1;
    color: hsl(var(--base));
}

.dashboard-menu__text {
    display: block;
    flex-grow: 1;
}

.dashboard-menu__inner {
    --gap: 0;
}

.dashboard-menu__inner>li {
    background: hsl(var(--dark-300));
    border-bottom: 1px solid hsl(var(--light)/0.1);
}

@media screen and (min-width: 992px) {
    .dashboard-menu__inner>li {
        background: hsl(var(--dark)/0.1);
        border-bottom: 1px solid hsl(var(--base)/0.1);
    }
}

.dashboard-menu__inner>li:last-child {
    border-bottom: none;
}

.dashboard-menu__inner-link {
    display: block;
    padding: 10px 10px 10px 48px;
    font-size: 14px;
    line-height: 1.2;
    color: hsl(var(--light));
    text-decoration: none;
}

@media screen and (min-width: 992px) {
    .dashboard-menu__inner-link {
        color: hsl(var(--dark));
        background: hsl(var(--light));
    }
}

.dashboard-menu__inner-link.active,
.dashboard-menu__inner-link:hover {
    color: hsl(var(--base));
}

/*---------------------------------------
    Dashboard Menu Open
-----------------------------------------*/
.dashboard-menu-open .dashboard-menu {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
}

/*---------------------------------------
    Dashboard Submenu
-----------------------------------------*/
.dashboard-submenu {
    --gap: 0;
}

.dashboard-submenu>li {
    border-bottom: 1px solid hsl(var(--light)/0.1);
}

.dashboard-submenu>li:last-child {
    border-bottom: none;
}

.dashboard-submenu__link {
    display: flex;
    padding: 8px 10px 8px 48px;
    font-size: 13px;
    color: hsl(var(--light));
    transition: all 0.3s ease;
    text-decoration: none;
}

@media screen and (min-width: 992px) {
    .dashboard-submenu__link {
        background: hsl(var(--light-100));
        color: hsl(var(--dark));
    }
}

.dashboard-submenu__link:hover {
    color: hsl(var(--base));
}

/*---------------------------------------
    Profile
-----------------------------------------*/
.profile {
    display: none;
    position: relative;
}

@media screen and (min-width: 992px) {
    .profile {
        display: block;
    }
}

.profile__bg {
    width: 100%;
    height: 100px;
    border-radius: 10px 10px 0 0;
    background-color: hsl(var(--base));
    background-image: url(../images/profile-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.profile__user {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid hsl(var(--white));
    position: absolute;
    left: 50%;
    bottom: -40px;
    transform: translateX(-50%);
    z-index: 1;
}

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

/*---------------------------------------
    Dashboard Widget
-----------------------------------------*/
.dashboard-widget {
    padding: 20px 15px;
    display: flex;
    align-items: center;
    position: relative;
    isolation: isolate;
}

.dashboard-widget__icon {
    width: 45px;
    height: 45px;
    display: grid;
    place-content: center;
    flex-shrink: 0;
    border-radius: 3px;
    background: hsl(var(--base));
    font-size: 20px;
    color: hsl(var(--white));
}

.dashboard-widget__title {
    font-size: 14px;
    line-height: 1;
}

.dashboard-widget__amount {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 22px;
}

.dashboard-widget__content {
    padding-left: 15px;
}

.dashboard-widget__overlay-icon {
    position: absolute;
    right: 15px;
    bottom: 15px;
    font-size: 50px;
    line-height: 1;
    z-index: -1;
    color: hsl(var(--base)/0.1);
}

/*---------------------------------------
    Custom Progress
-----------------------------------------*/
.custom--progress {
    width: 100%;
    height: 5px;
}

.custom--progress .progress-bar {
    background: hsl(var(--base));
}

.custom--progress-text {
    display: block;
    font-size: 13px;
    color: hsl(var(--text));
}

/*---------------------------------------
    Button
-----------------------------------------*/
.button {
    display: inline-block;
    text-decoration: none;
    transition: all 0.3s ease;
}

.button--login {
    padding: 8px 15px;
    border-radius: 2rem;
    background: hsl(var(--base));
    color: hsl(var(--white));
    font-size: 12px;
    line-height: 1;
}

.button--login:hover {
    background: hsl(var(--base-dark));
    color: hsl(var(--white));
}

.button--login:focus {
    background: hsl(var(--base-dark));
    color: hsl(var(--white));
}

.button--light {
    padding: 6px 15px;
    background: hsl(var(--light));
    color: hsl(var(--base));
    font-size: 12px;
}

.button--light:hover {
    background: hsl(var(--light));
    color: hsl(var(--base));
}

.button--light:focus {
    background: hsl(var(--light));
    color: hsl(var(--base));
}

.button--link-accent {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-inline: 15px;
    color: hsl(var(--white));
}

.button--link-accent:hover {
    color: hsl(var(--accent));
}

.button--link-accent:focus {
    color: hsl(var(--accent));
}

.button--link-accent__icon {
    font-size: 20px;
    line-height: 1;
}

.button--link-accent__text {
    font-size: 14px;
    line-height: 1;
}

/*---------------------------------------
    QR Code
-----------------------------------------*/
.qr-code-wrapper {
    background: hsl(var(--white));
}

.qr-code {
    padding: 5px 10px;
    border: 1px solid hsl(var(--base)/0.15);
    border-radius: 5px;
    background: hsl(var(--base)/0.05);
    color: hsl(var(--dark));
}

.qr-code-copy-form {
    display: flex;
}

.qr-code-copy-form input[type=text] {
    background-color: transparent;
    border: none;
    font-size: 14px;
    width: calc(100% - 75px);
    height: 40px;
}

@media screen and (min-width: 400px) {
    .qr-code-copy-form input[type=text] {
        font-size: 1rem;
    }
}

.qr-code-copy-form .text-copy-btn {
    width: 75px;
    background-color: hsl(var(--base));
    border: none;
    border-radius: 5px;
    font-size: 14px;
}

.qr-code-form {
    position: relative;
}

.qr-code-form .form--control {
    height: 65px;
    padding-right: 95px;
}

.qr-code-form__btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 75px;
    height: calc(100% - 20px);
    font-size: 14px;
}

/*---------------------------------------
    Deposit Card
-----------------------------------------*/
.deposit-card {
    padding: 15px;
    border-radius: 5px;
    background: hsl(var(--base)/0.1);
}

.deposit-card__list {
    --gap: 0;
}

.deposit-card__list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
    font-size: 14px;
    line-height: 1;
    border-bottom: 1px dashed hsl(var(--base)/0.5);
}

.deposit-card__list li:first-child {
    padding-top: 0;
}

.deposit-card__list li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

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

.deposit-card__amount {
    font-weight: 500;
    color: hsl(var(--heading));
}

/*---------------------------------------
    Support List
-----------------------------------------*/
.support-list {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/*---------------------------------------
    Support Card
-----------------------------------------*/
.support-card {
    border: 1px solid hsl(var(--base)/0.2);
    border-radius: 5px;
    background: hsl(var(--white));
}

.support-card__title {
    margin-top: 0;
    margin-bottom: 0.5rem;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .support-card__title {
        margin-bottom: 0;
    }
}

.support-card__head {
    padding: 12px 15px;
    border-bottom: 1px solid hsl(var(--base)/0.2);
}

@media screen and (min-width: 768px) {
    .support-card__head {
        display: flex;
        justify-content: space-between;
    }
}

.support-card__date {
    display: block;
    line-height: 1;
    text-align: center;
}

.support-card__body {
    padding: 12px 15px;
}

.support-card__body-text {
    font-size: 14px;
    color: hsl(var(--dark)/0.8);
}

.support-card__list {
    --gap: .5rem;
}

@media screen and (min-width: 768px) {
    .support-card__list {
        margin-top: 1rem;
    }
}

.support-card__file {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 10px;
    border: 1px solid hsl(var(--base)/0.2);
    border-radius: 5rem;
    background: hsl(var(--base)/0.1);
    font-size: 14px;
    line-height: 1;
    color: hsl(var(--base));
    text-decoration: none;
    transition: all 0.3s ease;
}

.support-card__file:hover {
    background: hsl(var(--base));
    color: hsl(var(--white));
}

/*---------------------------------------
    Support Ticket
-----------------------------------------*/
.support-ticket {
    border: 1px solid hsl(var(--base)/0.15);
}

.support-ticket .card-header {
    background: hsl(var(--base)/0.05);
    border-bottom: 1px solid hsl(var(--base)/0.15);
}

.support-ticket .card-footer {
    background: hsl(var(--base)/0.05);
    border-top: 1px solid hsl(var(--base)/0.15);
}

/*---------------------------------------
    File Upload Container
-----------------------------------------*/
#fileUploadsContainer .input--group:first-child {
    margin-top: 1rem;
}

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

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

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

.t-link--base:hover {
    color: hsl(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 hsl(var(--base)/0.5);
    }

    25% {
        outline: 5px solid hsl(var(--base)/0.5);
    }

    50% {
        outline: 10px solid hsl(var(--base)/0.5);
    }

    75% {
        outline: 5px solid hsl(var(--base)/0.5);
    }

    100% {
        outline: 0 solid hsl(var(--base)/0.5);
    }
}

@keyframes imageBeat {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(0.7);
    }

    100% {
        transform: scale(1);
    }
}

/*---------------------------------------
    0.4 Layouts Style
-----------------------------------------*/
/*---------------------------------------
    Footer
-----------------------------------------*/
.footer {
    position: relative;
    isolation: isolate;
    background: hsl(var(--dark-600)) url(../images/footer-bg.png);
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
}

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

.footer__description {
    max-width: 50ch;
}

.footer__title {
    display: inline-block;
    position: relative;
    isolation: isolate;
    color: hsl(var(--white));
}

.footer__title::after {
    content: "";
    position: absolute;
    inset: auto -5px 0 -5px;
    height: 40%;
    background: hsl(var(--accent)/0.5);
    z-index: -1;
}

/*---------------------------------------
    Client Section
-----------------------------------------*/
.client-section {
    padding-top: 18px;
    padding-bottom: 18px;
    background: hsl(var(--light));
}

/*---------------------------------------
    About Section
-----------------------------------------*/
.about-section {
    background-image: url(../images/about-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*---------------------------------------
    Service Section
-----------------------------------------*/
.service-section {
    position: relative;
    isolation: isolate;
    background: hsl(var(--dark));
}

.service-section::before {
    content: "";
    width: 150px;
    height: 150px;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
    filter: blur(50px);
    background: hsl(var(--base)/0.2);
    z-index: -1;
}

.service-section::after {
    content: "";
    width: 400px;
    height: 400px;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    filter: blur(80px);
    background: hsl(var(--base)/0.2);
    background: linear-gradient(45deg, hsl(var(--base)/0.2), hsl(var(--base-dark)/0.2));
    z-index: -1;
}

.service-section .section__title {
    color: hsl(var(--light));
}

.service-section .section__subtitle {
    color: hsl(var(--base-light));
}

.service-section .section__subtitle::before {
    background-color: hsl(var(--base-light));
}

.service-section .section__subtitle::after {
    background-color: hsl(var(--base-light)/0.5);
}

/*---------------------------------------
    Pricing Section
-----------------------------------------*/
.pricing-section {
    background-image: url(../images/pricing-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/*---------------------------------------
    FAQ Section
-----------------------------------------*/
.faq-section {
    --bd-pink-rgb: 214, 51, 132;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-primary-rgb: 13, 110, 253;
    --bd-accent-rgb: 255, 228, 132;
    --bd-violet-rgb: 112.520718, 44.062154, 249.437846;
    background-image: linear-gradient(220deg, rgba(var(--bs-body-bg-rgb), 0.01), rgba(var(--bs-body-bg-rgb), 1) 85%), radial-gradient(ellipse at top left, rgba(var(--bs-primary-rgb), 0.5), transparent 50%), radial-gradient(ellipse at top right, rgba(var(--bd-accent-rgb), 0.5), transparent 50%), radial-gradient(ellipse at center right, rgba(var(--bd-violet-rgb), 0.5), transparent 50%), radial-gradient(ellipse at center left, rgba(var(--bd-pink-rgb), 0.5), transparent 50%);
}

/*---------------------------------------
    Fact Section
-----------------------------------------*/
.fact-section {
    position: relative;
    isolation: isolate;
    background-color: hsl(var(--light));
    background-image: url(../images/fact-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.fact-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background: hsl(var(--dark));
    z-index: -1;
    mix-blend-mode: color;
}

/*---------------------------------------
    Map Section
-----------------------------------------*/
.map-section {
    position: relative;
    isolation: isolate;
    margin-bottom: clamp(-30px, -4vw, -60px);
}

@media screen and (min-width: 992px) {
    .map-section {
        margin-bottom: clamp(-60px, -4vw, -90px);
    }
}

.map-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: hsl(var(--light));
}

/*---------------------------------------
    Login Section
-----------------------------------------*/
.login-section {
    --bd-pink-rgb: 214, 51, 132;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-primary-rgb: 13, 110, 253;
    --bd-accent-rgb: 255, 228, 132;
    --bd-violet-rgb: 112.520718, 44.062154, 249.437846;
    background-image: linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), 0.01), rgba(var(--bs-body-bg-rgb), 1) 85%), radial-gradient(ellipse at top left, rgba(var(--bs-primary-rgb), 0.5), transparent 50%), radial-gradient(ellipse at top right, rgba(var(--bd-accent-rgb), 0.5), transparent 50%), radial-gradient(ellipse at center right, rgba(var(--bd-violet-rgb), 0.5), transparent 50%), radial-gradient(ellipse at center left, rgba(var(--bd-pink-rgb), 0.5), transparent 50%);
}

.ptc-card {
    border-radius: 8px;

}

.ptc-card {
    border: 1px solid hsl(var(--base)/.1);
    background: hsl(var(--base-light)/.1);
}

.primary-widget {
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 10px;
    background: hsl(var(--dark));
}

@media screen and (min-width: 576px) {
    .primary-widget {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
@media screen and (min-width: 992px) {
    .primary-widget {
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

.primary-widget__subtitle {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--light));
    text-align: center;
}

.primary-widget__title {
    margin-top: .5rem;
    margin-bottom: 1rem;
    color: hsl(var(--base));
    text-align: center;
}
.widget-container {
    box-shadow: 0 0 18px hsl(var(--dark)/0.03);
    border: 1px solid hsl(var(--border)/0.3);
    border-radius: 8px;
    background: hsl(var(--base-light)/.1);
}
.widget-container__head {
    padding: 5px 15px;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    color: hsl(var(--light));
    background: hsl(var(--base));
}