/*------------------------------------------------------------
    TABLE OF CONTENTS
--------------------------------------------------------------

    GENERAL
        ├─ VARIABLES
        ├─ HTML SEMANTICS
        ├─ TYPOGRAPHY
        ├─ CONTAINERS

    STYLES
        ├─ BACKGROUND & TEXT COLORS
        ├─ TEXT COLORS
        ├─ TRUNCATE

    TEMPLATE
        ├─ TEMPLATE HEADER
        ├─ TEMPLATE SKIP-NAV
        ├─ TEMPLATE MAIN
        ├─ TEMPLATE OFF-CANVAS
        ├─ TEMPLATE TOAST
        ├─ TEMPLATE FOOTER
        ├─ TEMPLATE FOOTER SUB
        ├─ TEMPLATE FOOTER MAIN
        ├─ TEMPLATE COPYRIGHT

    BOOTSTRAP COMPONENTS
        ├─ ALERTS
        ├─ TOASTS
        ├─ MODALS
        ├─ CARDS
        ├─ BUTTONS
        ├─ FORMS & INPUT
        ├─ DROPDOWNS
        ├─ THUMBNAILS
        ├─ TABS
        ├─ LISTS
        ├─ TABLES

    CUSTOM COMPONENTS
        ├─ MASONRY LAYOUT
        ├─ LOADER
        ├─ CHIPS
        ├─ ICON BLOCKS
        ├─ VIDEOS
        ├─ SOCIAL MEDIA ICONS
        ├─ SIDEBAR

    PAGES
        ├─ 404 PAGE
        ├─ LOGIN
        ├─ MY ACCOUNT
        ├─ HOMEPAGE
        ├─ ORDER PAGE


------------------------------------------------------------*/



/*------------------------------------------------------------
    ── VARIABLES
------------------------------------------------------------*/

:root {

    /* Font families */

    --font-heading: 'Poppins', 'Montserrat', 'Open Sans', 'Helvetica', 'Arial';
    --font-body: 'Source Sans Pro', 'Open Sans', 'Helvetica', 'Arial';
    --font-icons: 'Font Awesome 6 Free';
    --font-code: 'Source Code Pro', 'Courier New';

    /* Sizes */

    --height-header: 6rem;
    --width-pane: 25rem;
    --border-radius-sm: .25rem;
    --border-radius-md: .50rem;
    --border-radius-lg: 1rem;
    --border-radius-xl: 2rem;
    --border-radius-xxl: 10rem;
    --box-shadow: 0 0 1rem 0 rgb(41 48 66 / 5%);
    --sheet-width: calc(480px - 24px);

    /* Custom Colors */
    --palette-1: hsl(327, 100%, 20%);
    --palette-1-lighter: hsl(327, 100%, calc(20% + 10%));
    --palette-1-lightest: hsl(327, 100%, calc(20% + 20%));
    --palette-1-darker: hsl(327, 100%, calc(20% - 10%));
    --palette-1-darkest: hsl(327, 100%, calc(20% - 20%));
    --palette-1-text: hsl(327, 100%, 20%);
    --palette-1-border-subtle: hsl(327, 100%, calc(20% + 20%));
    --palette-1-rgb: 102, 0, 56;

    --palette-2: hsl(328, 25%, 68%);
    --palette-2-lighter: hsl(328, 25%, calc(68% + 10%));
    --palette-2-lightest: hsl(328, 25%, calc(68% + 20%));
    --palette-2-darker: hsl(328, 25%, calc(68% - 10%));
    --palette-2-darkest: hsl(328, 25%, calc(68% - 20%));
    --palette-2-text: hsl(328, 25%, 68%);
    --palette-2-border-subtle: hsl(328, 25%, calc(68% + 20%));
    --palette-2-rgb: 194, 153, 175;

    --palette-3: hsl(353, 11%, 15%);
    --palette-3-lighter: hsl(353, 11%, calc(15% + 10%));
    --palette-3-lightest: hsl(353, 11%, calc(15% + 20%));
    --palette-3-darker: hsl(353, 11%, calc(15% - 10%));
    --palette-3-darkest: hsl(353, 11%, calc(15% - 20%));
    --palette-3-text: hsl(353, 11%, 15%);
    --palette-3-border-subtle: hsl(353, 11%, calc(15% + 20%));
    --palette-3-rgb: 42, 34, 35;

    /* Bootstrap Colors */
    --bs-body-color: hsl(210, 10%, 27%);

    --bs-primary: hsl(217, 80%, 58%);
    --bs-primary-lighter: hsl(217, 80%, calc(58% + 10%));
    --bs-primary-lightest: hsl(217, 80%, calc(58% + 20%));
    --bs-primary-darker: hsl(217, 80%, calc(58% - 10%));
    --bs-primary-darkest: hsl(217, 80%, calc(58% - 20%));
    --bs-primary-text: hsl(217, 80%, 58%);
    --bs-primary-border-subtle: hsl(217, 80%, calc(58% + 20%));
    --bs-primary-rgb: 62, 128, 234;

    --bs-secondary: hsl(208, 7%, 46%);
    --bs-secondary-lighter: hsl(208, 7%, calc(46% + 10%));
    --bs-secondary-lightest: hsl(208, 7%, calc(46% + 20%));
    --bs-secondary-darker: hsl(208, 7%, calc(46% - 10%));
    --bs-secondary-darkest: hsl(208, 7%, calc(46% - 20%));
    --bs-secondary-text: hsl(208, 7%, 46%);
    --bs-secondary-border-subtle: hsl(280, 7%, calc(46% + 20%));
    --bs-secondary-rgb: 109, 118, 126;

    --bs-success: hsl(141, 48%, 52%);
    --bs-success-lighter: hsl(141, 48%, calc(52% + 10%));
    --bs-success-lightest: hsl(141, 48%, calc(52% + 20%));
    --bs-success-darker: hsl(141, 48%, calc(52% - 10%));
    --bs-success-darkest: hsl(141, 48%, calc(52% - 20%));
    --bs-success-text: hsl(141, 48%, 52%);
    --bs-success-border-subtle: hsl(141, 48%, calc(52% + 20%));
    --bs-success-rgb: 74, 191, 115;

    --bs-info: hsl(200, 80%, 60%);
    --bs-info-lighter: hsl(200, 80%, calc(60% + 10%));
    --bs-info-lightest: hsl(200, 80%, calc(60% + 20%));
    --bs-info-darker: hsl(200, 80%, calc(60% - 10%));
    --bs-info-darkest: hsl(200, 80%, calc(60% - 20%));
    --bs-info-text: hsl(200, 80%, 60%);
    --bs-info-border-subtle: hsl(200, 80%, calc(60% + 20%));
    --bs-info-rgb: 71, 180, 235;

    --bs-warning: hsl(35, 70%, 55%);
    --bs-warning-lighter: hsl(35, 70%, calc(55% + 10%));
    --bs-warning-lightest: hsl(35, 70%, calc(55% + 20%));
    --bs-warning-darker: hsl(35, 70%, calc(55% - 10%));
    --bs-warning-darkest: hsl(35, 70%, calc(55% - 20%));
    --bs-warning-text: hsl(35, 70%, 55%);
    --bs-warning-border-subtle: hsl(35, 70%, calc(55% + 20%));
    --bs-warning-rgb: 218, 151, 58;

    --bs-danger: hsl(2, 64%, 58%);
    --bs-danger-lighter: hsl(2, 64%, calc(58% + 10%));
    --bs-danger-lightest: hsl(2, 64%, calc(58% + 20%));
    --bs-danger-darker: hsl(2, 64%, calc(58% - 10%));
    --bs-danger-darkest: hsl(2, 64%, calc(58% - 20%));
    --bs-danger-text: hsl(2, 64%, 58%);
    --bs-danger-border-subtle: hsl(2, 64%, calc(58% + 20%));
    --bs-danger-rgb: 216, 84, 79;

    --bs-dark: hsl(210, 11%, 15%);
    --bs-dark-lighter: hsl(210, 11%, calc(15% + 10%));
    --bs-dark-lightest: hsl(210, 11%, calc(15% + 20%));
    --bs-dark-darker: hsl(210, 11%, calc(15% - 10%));
    --bs-dark-darkest: hsl(210, 11%, calc(15% - 20%));
    --bs-dark-text: hsl(210, 11%, 15%);
    --bs-dark-border-subtle: hsl(210, 11%, calc(15% + 20%));
    --bs-dark-rgb: 34, 38, 42;

    --bs-light: hsl(210, 17%, 98%);
    --bs-light-lighter: hsl(210, 17%, calc(98% + 10%));
    --bs-light-lightest: hsl(210, 17%, calc(98% + 20%));
    --bs-light-darker: hsl(210, 17%, calc(98% - 10%));
    --bs-light-darkest: hsl(210, 17%, calc(98% - 20%));
    --bs-light-text: hsl(210, 17%, 98%);
    --bs-light-border-subtle: hsl(210, 17%, calc(98% + 20%));
    --bs-light-rgb: 249, 250, 251;

    /* Input sizes */
    --general-padding-y: 2rem;
    --general-padding-x: 2rem;
    --bs-border-radius: var(--border-radius-sm);
    --input-width: 2px;

    --input-font-sm: 0.8rem;
    --input-padding-y-sm: 0.25rem;
    --input-padding-x-sm: 1.0rem;

    --input-font: 1rem;
    --input-padding-y: 0.5rem;
    --input-padding-x: 1.25rem;

    --input-font-lg: 1.2rem;
    --input-padding-y-lg: 0.75rem;
    --input-padding-x-lg: 1.5rem;

    --input-font-xl: 1.4rem;
    --input-padding-y-xl: 1.0rem;
    --input-padding-x-xl: 2.0rem;
}

@media(min-width: 768px) {
    :root {
        --sheet-width: calc(768px - 24px);
    }
}

@media(min-width: 998px) {
    :root {
        --sheet-width: calc(998px - 24px);
    }
}

@media(min-width: 1200px) {
    :root {
        --sheet-width: 70rem;
    }
}

.no-header {
    --height-header: 0;
}


/*------------------------------------------------------------
    ── HTML SEMANTICS
------------------------------------------------------------*/

* {
    outline: 0 !important;
    font-variant-ligatures: none !important;
}

html {
    font-size: 16px;
}

body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "header" "main" "footer";
    background-color: var(--bs-light);
}

code {
    font-family: var(--font-code);
}

section {
    padding-top: 3rem;
    padding-right: 0;
    padding-bottom: 3rem;
    padding-left: 0;
}

@media (min-width: 992px) {
    section {
        padding-top: 5rem;
        padding-right: 0;
        padding-bottom: 5rem;
        padding-left: 0;
    }
}



/*------------------------------------------------------------
    ── TYPOGRAPHY
------------------------------------------------------------*/

body {
    color: var(--bs-body-color);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.5;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    margin-bottom: .5em;
    font-family: var(--font-heading);
}

h1,
.h1 {
    font-size: 2.5rem;
}

h2,
.h2 {
    font-size: 2.0rem;
}

h3,
.h3,
.alert-title,
.card-body .card-title,
.modal-title {
    font-size: 1.4rem;
}

h4,
.h4,
.card-header .card-title span,
.card-header .card-title h2,
.card-header .card-title h3 {
    display: block;
    font-size: 1.2rem;
}

h5,
.h5 {
    font-size: 1.1rem;
    font-weight: 600;
}

h6,
.h6 {
    font-size: 1rem;
    font-weight: 600;
}

.lead {
    font-size: 1.4rem;
    font-weight: 400;
}

code {
    font-family: 'Source Code Pro';
    font-weight: 600;
}

a:not(.btn),
a:not(.btn):visited {
    color: var(--bs-primary);
    transition: all .2s ease-in-out;
}

a:not(.btn):hover,
a:not(.btn):active,
a:not(.btn):focus {
    color: var(--bs-primary-darker);
}

a:not(.btn):focus-visible {
    outline: 3px solid darkorange !important;
    transition: none !important;
}

.subheader {
    margin-bottom: .5rem;
    color: var(--palette-1);
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
}

.section-dark {
    color: #ffffff;
}

.section-dark * {
    color: inherit;
}

.section-dark p {
    color: rgb(255 255 255 / 70%);
}



/*------------------------------------------------------------
    ── CONTAINERS
------------------------------------------------------------*/

/* .container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.sticky-top {
    top: calc(var(--height-header) + 4rem);
} */



/*------------------------------------------------------------
    ── BACKGROUND & TEXT COLORS
------------------------------------------------------------*/

/* Background colors */

.bg-palette-1 {
    background-color: var(--palette-1) !important;
}

.bg-palette-1-lighter {
    background-color: var(--palette-1-lighter) !important;
}

.bg-palette-1-lightest {
    background-color: var(--palette-1-lightest) !important;
}

.bg-palette-1-darker {
    background-color: var(--palette-1-darker) !important;
}

.bg-palette-1-darkest {
    background-color: var(--palette-1-darkest) !important;
}

.bg-palette-2 {
    background-color: var(--palette-2) !important;
}

.bg-palette-2-lighter {
    background-color: var(--palette-2-lighter) !important;
}

.bg-palette-2-lightest {
    background-color: var(--palette-2-lightest) !important;
}

.bg-palette-2-darker {
    background-color: var(--palette-2-darker) !important;
}

.bg-palette-2-darkest {
    background-color: var(--palette-2-darkest) !important;
}

.bg-palette-3 {
    background-color: var(--palette-3) !important;
}

.bg-palette-3-lighter {
    background-color: var(--palette-3-lighter) !important;
}

.bg-palette-3-lightest {
    background-color: var(--palette-3-lightest) !important;
}

.bg-palette-3-darker {
    background-color: var(--palette-3-darker) !important;
}

.bg-palette-3-darkest {
    background-color: var(--palette-3-darkest) !important;
}

.bg-primary {
    background-color: var(--bs-primary) !important;
}

.bg-primary-lighter {
    background-color: var(--bs-primary-lighter) !important;
}

.bg-primary-lightest {
    background-color: var(--bs-primary-lightest) !important;
}

.bg-primary-darker {
    background-color: var(--bs-primary-darker) !important;
}

.bg-primary-darkest {
    background-color: var(--bs-primary-darkest) !important;
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

.bg-secondary-lighter {
    background-color: var(--bs-secondary-lighter) !important;
}

.bg-secondary-lightest {
    background-color: var(--bs-secondary-lightest) !important;
}

.bg-secondary-darker {
    background-color: var(--bs-secondary-darker) !important;
}

.bg-secondary-darkest {
    background-color: var(--bs-secondary-darkest) !important;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

.bg-success-lighter {
    background-color: var(--bs-success-lighter) !important;
}

.bg-success-lightest {
    background-color: var(--bs-success-lightest) !important;
}

.bg-success-darker {
    background-color: var(--bs-success-darker) !important;
}

.bg-success-darkest {
    background-color: var(--bs-success-darkest) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.bg-info-lighter {
    background-color: var(--bs-info-lighter) !important;
}

.bg-info-lightest {
    background-color: var(--bs-info-lightest) !important;
}

.bg-info-darker {
    background-color: var(--bs-info-darker) !important;
}

.bg-info-darkest {
    background-color: var(--bs-info-darkest) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.bg-warning-lighter {
    background-color: var(--bs-warning-lighter) !important;
}

.bg-warning-lightest {
    background-color: var(--bs-warning-lightest) !important;
}

.bg-warning-darker {
    background-color: var(--bs-warning-darker) !important;
}

.bg-warning-darkest {
    background-color: var(--bs-warning-darkest) !important;
}

.bg-danger {
    background-color: var(--bs-danger) !important;
}

.bg-danger-lighter {
    background-color: var(--bs-danger-lighter) !important;
}

.bg-danger-lightest {
    background-color: var(--bs-danger-lightest) !important;
}

.bg-danger-darker {
    background-color: var(--bs-danger-darker) !important;
}

.bg-danger-darkest {
    background-color: var(--bs-danger-darkest) !important;
}

.bg-dark {
    background-color: var(--bs-dark) !important;
}

.bg-dark-lighter {
    background-color: var(--bs-dark-lighter) !important;
}

.bg-dark-lightest {
    background-color: var(--bs-dark-lightest) !important;
}

.bg-dark-darker {
    background-color: var(--bs-dark-darker) !important;
}

.bg-dark-darkest {
    background-color: var(--bs-dark-darkest) !important;
}

.bg-light {
    background-color: var(--bs-light) !important;
}

.bg-light-lighter {
    background-color: var(--bs-light-lighter) !important;
}

.bg-light-lightest {
    background-color: var(--bs-light-lightest) !important;
}

.bg-light-darker {
    background-color: var(--bs-light-darker) !important;
}

.bg-light-darkest {
    background-color: var(--bs-light-darkest) !important;
}

/* Text Colors */

.text-palette-1 {
    color: var(--palette-1) !important;
}

.text-palette-1-lighter {
    color: var(--palette-1-lighter) !important;
}

.text-palette-1-lightest {
    color: var(--palette-1-lightest) !important;
}

.text-palette-1-darker {
    color: var(--palette-1-darker) !important;
}

.text-palette-1-darkest {
    color: var(--palette-1-darkest) !important;
}

.text-palette-2 {
    color: var(--palette-2) !important;
}

.text-palette-2-lighter {
    color: var(--palette-2-lighter) !important;
}

.text-palette-2-lightest {
    color: var(--palette-2-lightest) !important;
}

.text-palette-2-darker {
    color: var(--palette-2-darker) !important;
}

.text-palette-2-darkest {
    color: var(--palette-2-darkest) !important;
}

.text-palette-3 {
    color: var(--palette-3) !important;
}

.text-palette-3-lighter {
    color: var(--palette-3-lighter) !important;
}

.text-palette-3-lightest {
    color: var(--palette-3-lightest) !important;
}

.text-palette-3-darker {
    color: var(--palette-3-darker) !important;
}

.text-palette-3-darkest {
    color: var(--palette-3-darkest) !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.text-primary-lighter {
    color: var(--bs-primary-lighter) !important;
}

.text-primary-lightest {
    color: var(--bs-primary-lightest) !important;
}

.text-primary-darker {
    color: var(--bs-primary-darker) !important;
}

.text-primary-darkest {
    color: var(--bs-primary-darkest) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.text-secondary-lighter {
    color: var(--bs-secondary-lighter) !important;
}

.text-secondary-lightest {
    color: var(--bs-secondary-lightest) !important;
}

.text-secondary-darker {
    color: var(--bs-secondary-darker) !important;
}

.text-secondary-darkest {
    color: var(--bs-secondary-darkest) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

.text-success-lighter {
    color: var(--bs-success-lighter) !important;
}

.text-success-lightest {
    color: var(--bs-success-lightest) !important;
}

.text-success-darker {
    color: var(--bs-success-darker) !important;
}

.text-success-darkest {
    color: var(--bs-success-darkest) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-info-lighter {
    color: var(--bs-info-lighter) !important;
}

.text-info-lightest {
    color: var(--bs-info-lightest) !important;
}

.text-info-darker {
    color: var(--bs-info-darker) !important;
}

.text-info-darkest {
    color: var(--bs-info-darkest) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.text-warning-lighter {
    color: var(--bs-warning-lighter) !important;
}

.text-warning-lightest {
    color: var(--bs-warning-lightest) !important;
}

.text-warning-darker {
    color: var(--bs-warning-darker) !important;
}

.text-warning-darkest {
    color: var(--bs-warning-darkest) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

.text-danger-lighter {
    color: var(--bs-danger-lighter) !important;
}

.text-danger-lightest {
    color: var(--bs-danger-lightest) !important;
}

.text-danger-darker {
    color: var(--bs-danger-darker) !important;
}

.text-danger-darkest {
    color: var(--bs-danger-darkest) !important;
}

.text-dark {
    color: var(--bs-dark) !important;
}

.text-dark-lighter {
    color: var(--bs-dark-lighter) !important;
}

.text-dark-lightest {
    color: var(--bs-dark-lightest) !important;
}

.text-dark-darker {
    color: var(--bs-dark-darker) !important;
}

.text-dark-darkest {
    color: var(--bs-dark-darkest) !important;
}

.text-light {
    color: var(--bs-light) !important;
}

.text-light-lighter {
    color: var(--bs-light-lighter) !important;
}

.text-light-lightest {
    color: var(--bs-light-lightest) !important;
}

.text-light-darker {
    color: var(--bs-light-darker) !important;
}

.text-light-darkest {
    color: var(--bs-light-darkest) !important;
}

/* Text/Background colors */

.text-bg-palette-1 {
    color: #fff !important;
    background-color: var(--palette-1) !important;
    border: 0 !important;
}

.text-bg-palette-2 {
    color: #fff !important;
    background-color: var(--palette-2) !important;
    border: 0 !important;
}

.text-bg-palette-3 {
    color: #fff !important;
    background-color: var(--palette-3) !important;
    border: 0 !important;
}

.text-bg-primary {
    color: #fff !important;
    background-color: var(--bs-primary) !important;
    border: 0 !important;
}

.text-bg-secondary {
    color: #fff !important;
    background-color: var(--bs-secondary) !important;
    border: 0 !important;
}

.text-bg-success {
    color: #fff !important;
    background-color: var(--bs-success) !important;
    border: 0 !important;
}

.text-bg-info {
    color: #fff !important;
    background-color: var(--bs-info) !important;
    border: 0 !important;
}

.text-bg-warning {
    color: #fff !important;
    background-color: var(--bs-warning) !important;
    border: 0 !important;
}

.text-bg-danger {
    color: #fff !important;
    background-color: var(--bs-danger) !important;
    border: 0 !important;
}

.text-bg-dark {
    color: #fff !important;
    background-color: var(--bs-dark) !important;
    border: 0 !important;
}

.text-bg-light {
    color: var(--bs-body-color) !important;
    background-color: var(--bs-light) !important;
    border: 0 !important;
}



/*------------------------------------------------------------
    ── TRUNCATE
------------------------------------------------------------*/

.truncate {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.truncate-1 {
    -webkit-line-clamp: 1;
}

.truncate-2 {
    -webkit-line-clamp: 2;
}

.truncate-3 {
    -webkit-line-clamp: 3;
}



/*------------------------------------------------------------
    ── TEMPLATE HEADER
------------------------------------------------------------*/

#template-header {
    position: fixed;
    z-index: 1001;
    grid-area: header;
    display: grid;
    grid-template-columns: 10rem auto 10rem;
    grid-column-gap: 1rem;
    grid-template-areas: 'brand nav-primary nav-secondary';
    padding: 0 2vw;
    width: 100%;
    align-items: center;
    background-color: #ffffff;
    box-shadow: 0 0.25rem 0.5rem rgb(0 0 0 / 5%);
}

#template-header.header-trans {
    grid-area: header;
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
}

/* Brand */

#template-header .navbar-brand {
    grid-area: brand;
    display: block;
    margin: 0;
    padding: 1rem 0;
    height: var(--height-header);
}

#template-header .navbar-brand>img {
    height: 100%;
}

/* Navigation - Primary */

#template-header .navbar-primary {
    grid-area: nav-primary;
    margin: 0;
    padding: 0;
    text-align: center;
}

#template-header .navbar-primary .navbar-collapse {
    justify-content: center;
}

#template-header .navbar-primary .nav-link,
#template-header .navbar-primary .nav-link:visited {
    display: flex;
    align-items: center;
    padding: 1rem 2rem;
    height: var(--height-header);
    color: var(--bs-secondary);
    font-family: var(--font-heading);
    font-weight: 500;
    box-shadow: inset 0 0 0 var(--palette-1);
    transition: all .2s ease-in-out;
}

#template-header .navbar-primary .nav-link:hover,
#template-header .navbar-primary .nav-link:active,
#template-header .navbar-primary .nav-link:focus {
    color: var(--palette-1);
    box-shadow: inset 0 -.3rem 0 var(--palette-1);
}

/* Navigation - Secondary */

#template-header .navbar-secondary {
    grid-area: nav-secondary;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

#template-header .navbar-secondary .navbar-nav {
    margin-left: auto;
}

#template-header .navbar-secondary .nav-item {
    display: flex;
    align-items: center;
}

#template-header .navbar-secondary button,
#template-header .navbar-secondary .user-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
}

#template-header .navbar-secondary button {
    font-size: 1.4rem;
}

#template-header .navbar-secondary .user-photo {
    margin-left: 1rem;
    background-color: var(--bs-light);
    background-position: 50%;
    background-size: cover;
    border: 0;
    border-radius: var(--border-radius-xxl);
    box-shadow: inset 0 0 0 1px var(--bs-border-color);
    transition: all .2s ease-in-out;
}

#template-header .navbar-secondary .user-photo:hover,
#template-header .navbar-secondary .user-photo:active,
#template-header .navbar-secondary .user-photo:focus {
    box-shadow: inset 0 0 0 2px var(--palette-1);
}



/*------------------------------------------------------------
    ── TEMPLATE SKIP-NAV
------------------------------------------------------------*/

#template-skip-nav {}



/*------------------------------------------------------------
    ── TEMPLATE MAIN
------------------------------------------------------------*/

#template-main {
    grid-area: main;
    padding-top: var(--height-header);
}



/*------------------------------------------------------------
    ── TEMPLATE OFF-CANVAS
------------------------------------------------------------*/

.off-canvas {
    position: fixed;
    z-index: 1036;
    display: block;
    width: 100%;
    height: 100vh;
    color: #909090;
    transition: all .2s ease;
    background-color: var(--palette-3-darker);
    box-shadow: 0 0 0 rgb(0 0 0 / 30%);
}

.off-canvas.open {
    box-shadow: -1rem 0 5rem rgb(0 0 0 / 30%);
}

.off-canvas .loader {
    background-color: rgba(14, 16, 22, 0.75);
}

.off-canvas .btn-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.off-canvas a:not(.btn) {
    color: rgba(255, 255, 255, .7);
}

.off-canvas a:not(.btn):hover,
.off-canvas a:not(.btn):active,
.off-canvas a:not(.btn):focus {
    color: #fff;
}

.off-canvas .off-canvas-content {
    display: flex;
    flex-direction: column;
    padding: 3rem 0;
    height: 100%;
}

.off-canvas .off-canvas-header {
    padding-bottom: 1rem;
    color: #fff;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.2;
}

.off-canvas .off-canvas-header>.row {
    margin-bottom: 1rem;
    align-items: center;
}

.off-canvas .off-canvas-header .user-photo {
    border-radius: var(--border-radius-md);
}

.off-canvas .off-canvas-header {
    padding: 0 3rem 1rem;
    border-bottom: 1px solid rgba(125, 125, 125, .2);
}

.off-canvas .off-canvas-header small {
    font-size: .5em;
    text-transform: uppercase;
    letter-spacing: .2em;
    opacity: .6;
}

.off-canvas .off-canvas-content {
    display: flex;
    flex-direction: column;
    padding: 3rem 0;
    height: 100%;
}

.off-canvas .off-canvas-body {
    padding: 1rem 3rem;
    height: 100%;
    overflow-y: auto;
}

.off-canvas .off-canvas-footer {
    padding: 1rem 3rem 0;
    border-top: 1px solid rgba(125, 125, 125, .2);
}

/* Off canvas drawer */

#template-drawer {
    top: -100vh;
    right: 0;
}

#template-drawer.open {
    top: 0;
}

/* Off canvas pane */

#template-pane {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(var(--width-pane));
    width: var(--width-pane);
    transition: .2s ease-in-out;
}

@media (min-width: 992px) {
    #template-pane {
        transform: translateX(var(--width-pane));
    }
}

#template-pane.open {
    transform: translateX(0);
}

/* Scrollbar */

.off-canvas ::-webkit-scrollbar {
    width: 6px;
}

.off-canvas ::-webkit-scrollbar-track {
    background: transparent;
}

.off-canvas ::-webkit-scrollbar-thumb {
    background: var(--bs-dark-lighter);
    transition: all 2s ease;
}

.off-canvas ::-webkit-scrollbar-thumb:hover {
    background: var(--bs-dark-lightest);
}

/* Nav Links */

.off-canvas .nav-link {
    display: flex;
    align-items: center;
    padding: .8rem 0;
    font-size: 1.2rem;
}

.off-canvas .nav-link i,
.off-canvas .nav-link svg {
    position: relative;
    top: 1px;
    margin-right: 1rem;
    color: var(--palette-1);
}

/* Line items */

.off-canvas .line-item strong {
    color: #fff;
}

/* Search drawer */

.search-canvas .search-result {
    display: flex;
    align-items: center;
}

.search-canvas .nav-link {
    display: inline-block;
}



/*------------------------------------------------------------
    ── TEMPLATE TOAST
------------------------------------------------------------*/

#template-toast {}



/*------------------------------------------------------------
    ── TEMPLATE FOOTER
------------------------------------------------------------*/

#template-footer {
    grid-area: footer;
    background: green;
}



/*------------------------------------------------------------
    ── TEMPLATE FOOTER SUB
------------------------------------------------------------*/

#template-footer-sub {}



/*------------------------------------------------------------
    ── TEMPLATE FOOTER MAIN
------------------------------------------------------------*/

#template-footer-main {}



/*------------------------------------------------------------
    ── TEMPLATE COPYRIGHT
------------------------------------------------------------*/

#template-copyright {}



/*------------------------------------------------------------
    ── ALERTS
------------------------------------------------------------*/

.alert {
    display: flex;
    align-items: center;
    margin-top: 0;
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    box-shadow: 0 .2rem .5rem rgb(0 0 0 / 5%);
}

.alert .alert-icon {
    margin-right: 1rem;
    width: 1.5rem;
    height: 1.5rem;
}

.alert .alert-content>*:last-child {
    margin-bottom: 0;
}

.alert.alert-dismissible {
    padding-right: 4rem;
}

.alert-text.alert-dismissible .btn-close {
    padding: 0.8rem 1rem;
}

/* Normal alerts */

.alert {
    padding: calc(var(--general-padding-y) - 1rem) var(--general-padding-x);
    font-weight: 600;
    border: 1px solid var(--bs-border-color);
    border-left-width: .25rem;
}

.alert:not(.alert-lg).alert-secondary {
    --bs-alert-color: var(--bs-secondary-text);
    border-left-color: var(--bs-secondary);
}

.alert:not(.alert-lg).alert-primary {
    --bs-alert-color: var(--bs-primary-text);
    border-left-color: var(--bs-primary);
}

.alert:not(.alert-lg).alert-success {
    --bs-alert-color: var(--bs-success-text);
    border-left-color: var(--bs-success);
}

.alert:not(.alert-lg).alert-info {
    --bs-alert-color: var(--bs-info-text);
    border-left-color: var(--bs-info);
}

.alert:not(.alert-lg).alert-warning {
    --bs-alert-color: var(--bs-warning-text);
    border-left-color: var(--bs-warning);
}

.alert:not(.alert-lg).alert-danger {
    --bs-alert-color: var(--bs-danger-text);
    border-left-color: var(--bs-danger);
}

.alert:not(.alert-lg).alert-dark {
    --bs-alert-color: var(--bs-dark-text);
    border-left-color: var(--bs-dark);
}

/* Small alerts */

.alert-text {
    align-items: flex-start;
    padding: .5rem 0;
    border: 0;
    background: none;
    box-shadow: none;
}

/* Large alerts */

.alert-lg {
    align-items: flex-start;
    padding: var(--general-padding-y) var(--general-padding-x);
    border: 1px solid var(--bs-border-color);
    border-top-width: .25rem;
}

.alert-lg.alert-secondary {
    --bs-alert-color: var(--bs-secondary-text);
    --bs-alert-link-color: var(--bs-secondary-text);
    border-top-color: var(--bs-secondary);
}

.alert-lg.alert-primary {
    --bs-alert-color: var(--bs-primary-text);
    --bs-alert-link-color: var(--bs-primary-text);
    border-top-color: var(--bs-primary);
}

.alert-lg.alert-success {
    --bs-alert-color: var(--bs-success-text);
    --bs-alert-link-color: var(--bs-success-text);
    border-top-color: var(--bs-success);
}

.alert-lg.alert-info {
    --bs-alert-color: var(--bs-info-text);
    --bs-alert-link-color: var(--bs-info-text);
    border-top-color: var(--bs-info);
}

.alert-lg.alert-warning {
    --bs-alert-color: var(--bs-warning-text);
    --bs-alert-link-color: var(--bs-warning-text);
    border-top-color: var(--bs-warning);
}

.alert-lg.alert-danger {
    --bs-alert-color: var(--bs-danger-text);
    --bs-alert-link-color: var(--bs-danger-text);
    border-top-color: var(--bs-danger);
}

.alert-lg.alert-dark {
    --bs-alert-color: var(--bs-dark-text);
    --bs-alert-link-color: var(--bs-dark-text);
    border-top-color: var(--bs-dark);
}

.alert-lg .alert-icon {
    margin-right: 2rem;
    width: 2.5rem;
    height: 2.5rem;
}

.alert-lg .alert-content>*:last-child {
    margin-bottom: 0;
}

.alert-lg .alert-content p {
    color: var(--bs-body-color);
    font-weight: normal;
}



/*------------------------------------------------------------
    ── TOASTS
------------------------------------------------------------*/

.toast {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 5;
    color: #fff;
    font-size: 1rem;
    border-radius: var(--bs-border-radius);
}

.toast .toast-header {
    padding: .75rem var(--general-padding-x);
    color: inherit;
    background-color: transparent;
    border-bottom: 1px solid rgb(255 255 255 / 20%);
}

.toast .toast-body {
    padding: 1rem var(--general-padding-x);
}



/*------------------------------------------------------------
    ── MODALS
------------------------------------------------------------*/

.modal {
    /* --bs-modal-zindex: 1055;
    --bs-modal-width: 500px; */
    --bs-modal-padding: var(--general-padding-y) var(--general-padding-x);
    /* --bs-modal-margin: 0.5rem;
    --bs-modal-color: ;
    --bs-modal-bg: var(--bs-body-bg);
    --bs-modal-border-color: var(--bs-border-color-translucent);
    --bs-modal-border-width: var(--bs-border-width); */
    --bs-modal-border-radius: var(--bs-border-radius);
    /* --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(var(--bs-body-color-rgb), 0.075); */
    --bs-modal-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    /* --bs-modal-header-padding-x: var(--general-padding-x); */
    /* --bs-modal-header-padding-y: 1rem; */
    --bs-modal-header-padding: 1rem var(--general-padding-x);
    /* --bs-modal-header-border-color: var(--bs-border-color); */
    /* --bs-modal-header-border-width: var(--bs-border-width); */
    /* --bs-modal-title-line-height: 1.5; */
    --bs-modal-footer-gap: 0.5rem;
    /* --bs-modal-footer-bg: ; */
    /* --bs-modal-footer-border-color: var(--bs-border-color); */
    /* --bs-modal-footer-border-width: var(--bs-border-width); */
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--bs-modal-zindex);
    display: none;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}



/*------------------------------------------------------------
    ── CARDS
------------------------------------------------------------*/

.card {
    --bs-card-spacer-y: var(--general-padding-y);
    --bs-card-spacer-x: var(--general-padding-x);
    --bs-card-title-spacer-y: 0.5em;
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: var(--general-padding-x);
    --bs-card-cap-bg: #fff;
    --bs-card-group-margin: 0.75rem;
    overflow: hidden;
    box-shadow: 0 0.25rem 1rem rgb(0 0 0 / 5%);
}

.card .card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card .card-header.bordered {
    border-top: .2rem solid var(--palette-1);
}

.card-header .card-title {
    margin: 0;
}

.card-header .card-title>* {
    margin: .4rem 0;
}

.card-header .card-subtitle {
    font-size: .9rem;
}

.card .card-toolbar {
    display: flex;
    align-items: center;
}

.card .card-toolbar>* {
    margin-left: .5rem;
}

.card .card-toolbar .btn:not(:after)>i:not(data-fa-pseudo-element="::after"),
.card .card-toolbar .btn:not(:after)>svg:not(data-fa-pseudo-element="::after") {
    width: 1rem;
}


/*------------------------------------------------------------
    ── BUTTONS
------------------------------------------------------------*/

/* Buttons wrapper */

.buttons {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 2rem;
}

.buttons-center {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
}

.buttons .btn:not(:last-of-type) {
    margin-right: .5rem;
}

.buttons-center .btn {
    margin: 0 .5rem;
}

/* Button sizes */

.btn,
.btn-md {
    --bs-btn-font-family: ;
    --bs-btn-font-weight: 600;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-padding-y: var(--input-padding-y);
    --bs-btn-padding-x: var(--input-padding-x);
    --bs-btn-font-size: var(--input-font);
    --bs-btn-border-radius: var(--bs-border-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-sm {
    --bs-btn-padding-y: var(--input-padding-y-sm);
    --bs-btn-padding-x: var(--input-padding-x-sm);
    --bs-btn-font-size: var(--input-font-sm);
    --bs-btn-border-radius: var(--bs-border-radius);
}

.btn-lg {
    --bs-btn-padding-y: var(--input-padding-y-lg);
    --bs-btn-padding-x: var(--input-padding-x-lg);
    --bs-btn-font-size: var(--input-font-lg);
    --bs-btn-border-radius: var(--bs-border-radius);
}

.btn-xl {
    --bs-btn-padding-y: var(--input-padding-y-xl);
    --bs-btn-padding-x: var(--input-padding-x-xl);
    --bs-btn-font-size: var(--input-font-xl);
    --bs-btn-border-radius: var(--bs-border-radius);
}

/* Button colors - Solid */

.btn-palette-1 {
    color: #fff !important;
    --bs-btn-bg: var(--palette-1);
    --bs-btn-border-color: var(--palette-1);
    --bs-btn-hover-bg: var(--palette-1-darker);
    --bs-btn-hover-border-color: var(--palette-1-darker);
    --bs-btn-focus-shadow-rgb: var(--palette-1-rgb);
    --bs-btn-active-bg: var(--palette-1-darker);
    --bs-btn-active-border-color: var(--palette-1-darker);
    --bs-btn-disabled-bg: var(--palette-1);
    --bs-btn-disabled-border-color: var(--palette-1);
}

.btn-palette-2 {
    color: #fff !important;
    --bs-btn-bg: var(--palette-2);
    --bs-btn-border-color: var(--palette-2);
    --bs-btn-hover-bg: var(--palette-2-darker);
    --bs-btn-hover-border-color: var(--palette-2-darker);
    --bs-btn-focus-shadow-rgb: var(--palette-2-rgb);
    --bs-btn-active-bg: var(--palette-2-darker);
    --bs-btn-active-border-color: var(--palette-2-darker);
    --bs-btn-disabled-bg: var(--palette-2);
    --bs-btn-disabled-border-color: var(--palette-2);
}

.btn-palette-3 {
    color: #fff !important;
    --bs-btn-bg: var(--palette-3);
    --bs-btn-border-color: var(--palette-3);
    --bs-btn-hover-bg: var(--palette-3-darker);
    --bs-btn-hover-border-color: var(--palette-3-darker);
    --bs-btn-focus-shadow-rgb: var(--palette-3-rgb);
    --bs-btn-active-bg: var(--palette-3-darker);
    --bs-btn-active-border-color: var(--palette-3-darker);
    --bs-btn-disabled-bg: var(--palette-3);
    --bs-btn-disabled-border-color: var(--palette-3);
}

.btn-primary {
    color: #fff !important;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary-lighter);
    --bs-btn-hover-border-color: var(--bs-primary-lighter);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary-darker);
    --bs-btn-active-border-color: var(--bs-primary-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-secondary {
    color: #fff !important;
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-secondary-lighter);
    --bs-btn-hover-border-color: var(--bs-secondary-lighter);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-secondary-darker);
    --bs-btn-active-border-color: var(--bs-secondary-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-secondary);
    --bs-btn-disabled-border-color: var(--bs-secondary);
}

.btn-success {
    color: #fff !important;
    --bs-btn-bg: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-success-lighter);
    --bs-btn-hover-border-color: var(--bs-success-lighter);
    --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-success-darker);
    --bs-btn-active-border-color: var(--bs-success-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-success);
    --bs-btn-disabled-border-color: var(--bs-success);
}

.btn-info {
    color: #fff !important;
    --bs-btn-bg: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-info-lighter);
    --bs-btn-hover-border-color: var(--bs-info-lighter);
    --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-info-darker);
    --bs-btn-active-border-color: var(--bs-info-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-info);
    --bs-btn-disabled-border-color: var(--bs-info);
}

.btn-warning {
    color: #fff !important;
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-warning-lighter);
    --bs-btn-hover-border-color: var(--bs-warning-lighter);
    --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-warning-darker);
    --bs-btn-active-border-color: var(--bs-warning-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-warning);
    --bs-btn-disabled-border-color: var(--bs-warning);
}

.btn-danger {
    color: #fff !important;
    --bs-btn-bg: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-danger-lighter);
    --bs-btn-hover-border-color: var(--bs-danger-lighter);
    --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-danger-darker);
    --bs-btn-active-border-color: var(--bs-danger-darker);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-danger);
    --bs-btn-disabled-border-color: var(--bs-danger);
}

/* Button colors - Outlined */

.btn-outline-palette-1 {
    --bs-btn-color: var(--palette-1);
    --bs-btn-border-color: var(--palette-1);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--palette-1);
    --bs-btn-hover-border-color: var(--palette-1);
    --bs-btn-focus-shadow-rgb: var(--palette-1-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--palette-1);
    --bs-btn-active-border-color: var(--palette-1);
    --bs-btn-disabled-color: var(--palette-1);
    --bs-btn-disabled-border-color: var(--palette-1);
}

.btn-outline-palette-2 {
    --bs-btn-color: var(--palette-2);
    --bs-btn-border-color: var(--palette-2);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--palette-2);
    --bs-btn-hover-border-color: var(--palette-2);
    --bs-btn-focus-shadow-rgb: var(--palette-2-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--palette-2);
    --bs-btn-active-border-color: var(--palette-2);
    --bs-btn-disabled-color: var(--palette-2);
    --bs-btn-disabled-border-color: var(--palette-2);
}

.btn-outline-palette-3 {
    --bs-btn-color: var(--palette-3);
    --bs-btn-border-color: var(--palette-3);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--palette-3);
    --bs-btn-hover-border-color: var(--palette-3);
    --bs-btn-focus-shadow-rgb: var(--palette-3-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--palette-3);
    --bs-btn-active-border-color: var(--palette-3);
    --bs-btn-disabled-color: var(--palette-3);
    --bs-btn-disabled-border-color: var(--palette-3);
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
    --bs-btn-disabled-color: var(--bs-secondary);
    --bs-btn-disabled-border-color: var(--bs-secondary);
}

.btn-outline-success {
    --bs-btn-color: var(--bs-success);
    --bs-btn-border-color: var(--bs-success);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-success);
    --bs-btn-hover-border-color: var(--bs-success);
    --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-success);
    --bs-btn-active-border-color: var(--bs-success);
    --bs-btn-disabled-color: var(--bs-success);
    --bs-btn-disabled-border-color: var(--bs-success);
}

.btn-outline-info {
    --bs-btn-color: var(--bs-info);
    --bs-btn-border-color: var(--bs-info);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-info);
    --bs-btn-hover-border-color: var(--bs-info);
    --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-info);
    --bs-btn-active-border-color: var(--bs-info);
    --bs-btn-disabled-color: var(--bs-info);
    --bs-btn-disabled-border-color: var(--bs-info);
}

.btn-outline-warning {
    --bs-btn-color: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-warning);
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-warning);
    --bs-btn-active-border-color: var(--bs-warning);
    --bs-btn-disabled-color: var(--bs-warning);
    --bs-btn-disabled-border-color: var(--bs-warning);
}

.btn-outline-danger {
    --bs-btn-color: var(--bs-danger);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-danger);
    --bs-btn-hover-border-color: var(--bs-danger);
    --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-danger);
    --bs-btn-active-border-color: var(--bs-danger);
    --bs-btn-disabled-color: var(--bs-danger);
    --bs-btn-disabled-border-color: var(--bs-danger);
}

/* Close button */

.btn-close[data-bs-theme="dark"] {
    filter: var(--bs-btn-close-white-filter);
}



/*------------------------------------------------------------
    ── FORMS & INPUT
------------------------------------------------------------*/

/* Honeypot */

.honeypot {
    position: absolute;
    top: -9999px;
    left: -9999px;
    padding: 1px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Form Groups */

.form-group {
    margin-bottom: 1rem;
}

.form-floating {
    margin-bottom: .5rem;
}

/* Input with icon */

.input-with-icon {
    position: relative;
}

.input-with-icon>input:not(.btn),
.input-with-icon>select {
    padding-left: 3rem;
}

.input-with-icon>i,
.input-with-icon>svg {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: #a0a0a0;
    box-sizing: border-box !important;
}

.input-with-icon :focus+i,
.input-with-icon :focus+svg {
    color: var(--palette-1);
}

/* Labels */

.form-group label,
.form-label {
    margin: .55rem 0 .4rem;
    font-weight: 600;
}

.form-group label span,
.form-label span {
    color: var(--bs-danger);
}

/* Validation */

.form-validation {
    position: relative;
    display: none;
    margin: 0 0 .5rem;
    padding: .75rem 1rem .75rem 3rem;
    color: #ffffff;
    font-weight: 600;
    border-radius: var(--border-radius-sm);
}

.form-validation svg {
    position: absolute;
    top: 1rem;
    left: 1rem;
    color: #fff;
    font-size: 1.2rem;
}

.form-validation::before {
    position: absolute;
    top: 0.8rem;
    left: 1rem;
    font-family: var(--font-icons);
}

.form-validation.bg-success::before {
    content: '\f058';
}

.form-validation.bg-info::before {
    content: '\f05a';
}

.form-validation.bg-danger::before {
    content: '\f06a';
}

/* Basic Input Fields */

.form-control,
.form-control-md,
.form-select,
.form-select-md {
    padding: var(--input-padding-y) 0.75rem;
    font-size: var(--input-font);
    border-radius: var(--bs-border-radius);
}

.form-control-lg,
.form-select-lg {
    padding: var(--input-padding-y-lg) 0.75rem;
    font-size: var(--input-font-lg);
    border-radius: var(--bs-border-radius);
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(var(--palette-1-rgb), .5);
    box-shadow: 0 0 0 0.25rem rgba(var(--palette-1-rgb), .25);
    outline: 0;
}

/* Rage input */

.form-range {
    padding: .5rem;
    height: 37.33px;
    border-radius: var(--border-radius-sm);
}

/* Checkbox, Radio, & Switches */

.form-check-input:checked,
.form-radio-input:checked {
    background-color: var(--palette-1);
    border-color: var(--palette-1);
}

.form-check-input:focus {
    border-color: rgba(var(--palette-1-rgb), .5);
    box-shadow: 0 0 0 0.25rem rgba(var(--palette-1-rgb), .25);
    outline: 0;
}

.form-switch {
    display: flex;
    align-items: center;
}

.form-switch-lg .form-check-input {
    width: 3em;
    height: 1.5em;
}

/* Verification code */

.verification-code {
    display: flex;
    justify-content: center;
}

.verification-code input {
    margin: 0 .5rem;
    width: 5rem;
    height: 5rem;
    font-size: 2rem;
    font-weight: 300;
    text-align: center;
}

.verification-code .form-control.is-invalid,
.verification-code .form-control.is-valid,
.verification-code .was-validated .form-control:invalid,
.verification-code .was-validated .form-control:valid {
    padding: .375rem .75rem;
    background-image: none !important;
}

.verification-code input::-webkit-outer-spin-button,
.verification-code input::-webkit-inner-spin-button {
    margin: 0;
    text-align: center;
}

/* Select2 */

.select2.select2-container {
    width: 100% !important;
}

.select2 .select2-selection {
    padding: var(--input-padding-y) 0.75rem;
    height: 41.33px;
    color: var(--bs-body-color);
    font-size: var(--input-font);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    cursor: default;
    transition: all .2s ease-in-out;
}

.select2 .select2-selection[aria-expanded="true"] {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 25%);
}

.select2 .select2-selection .select2-selection__arrow {
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    width: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.select2 .select2-selection .select2-selection__arrow:before {
    content: '\f107';
    width: 1rem;
    font-size: .9rem;
    font-family: var(--font-icons);
    font-weight: 600;
    border: 0;
}

.select2 .select2-selection .select2-selection__arrow>b {
    display: none;
}

.select2 .select2-selection .select2-selection__rendered {
    padding: 0;
    line-height: 1.5;
}

.select2-dropdown {
    top: 1px;
    overflow: hidden;
    border: 1px solid #ababab !important;
    border-radius: var(--border-radius-sm) !important;
    box-shadow: 0 0.25rem 0.5rem rgb(0 0 0 / 10%);
}

.select2-dropdown .datepickers-container {
    position: absolute;
    left: 0;
    top: 0;
}

.select2-dropdown .select2-search--dropdown {
    display: block;
    padding: 0.75rem;
}

.select2-dropdown .select2-results__option {
    padding: 0.25rem 1rem;
}

.select2-dropdown .select2-results__option--selected {
    background-color: transparent !important;
}

.select2-dropdown .select2-results__option--highlighted.select2-results__option--selectable {
    color: #ffffff !important;
    background-color: #1e90ff !important;
    cursor: default;
}

/* File drop area */

.file-drop input {
    display: none;
}

.file-drop label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 20rem;
    text-align: center;
    background-color: var(--bs-form-control-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: all .2s ease-in-out;
}

.file-drop label:hover,
.file-drop label:active,
.file-drop label:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 25%);
}

.file-drop .progress {
    margin: 0.5rem 0;
    min-width: 40rem;
    height: 2rem;
}

.file-drop .progress-bar {
    height: 100%;
}

.file-list .thumb {
    position: relative;
    background-size: 93%;
}

.file-list input[type=checkbox] {
    position: absolute;
    top: .5rem;
    right: .5rem;
    z-index: 1;
    margin: 0;
}

.file-list input[type=checkbox]+label {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border: 2px solid transparent;
    border-radius: var(--bs-border-radius);
}

.file-list input[type=checkbox]:checked+label {
    border-color: var(--bs-primary);
}

.file-list input[type=checkbox]:checked+label:before {
    opacity: 1;
}

/* Image Upload */

.image-upload label {
    margin: 0;
}

.image-upload label .loader {
    display: none;
    background-color: var(--bs-light-75);
}

.image-upload canvas {
    width: 10rem;
    height: 10rem;
    background-color: var(--bs-form-control-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: all .2s ease-in-out;
}

.image-upload canvas:hover,
.image-upload canvas:active,
.image-upload canvas:focus {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(13 110 253 / 25%);
}


/*------------------------------------------------------------
    ── DROPDOWNS
------------------------------------------------------------*/

.dropdown-toggle::after {
    content: '\f107';
    display: none;
    font-family: var(--font-icons);
    font-weight: 400;
    border: 0;
}

.dropdown-toggle svg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: .25rem;
    width: 0.8em;
    height: 0.8em;
    transform: rotate(0deg);
    transition: .1s ease-in-out;
}

.dropdown-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
}



/*------------------------------------------------------------
    ── THUMBNAILS
------------------------------------------------------------*/

.thumb {
    position: relative;
    display: flex;
    width: 100%;
    height: 0;
    padding-top: 100%;
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    border-radius: var(--bs-border-radius);
}

a.thumb {
    border: 2px solid transparent;
    box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 10%);
    transition: all .2s ease;
}

a.thumb:hover,
a.thumb:active,
a.thumb:focus {
    border-color: var(--palette-1);
}

/* Thumbnail size */

.thumb.thumb-xs {
    padding-top: 25%;
}

.thumb.thumb-sm {
    padding-top: 50%;
}

.thumb.thumb-md {
    padding-top: 75%;
}

.thumb.thumb-lg {
    padding-top: 125%;
}

.thumb.thumb-circle {
    border-radius: 1000rem;
}

.thumb.thumb-fit {
    border-radius: 0;
    background-size: contain;
}

/* Thumbnail badges */

.thumb>.badge {
    position: absolute;
    top: .75rem;
    right: -0.5rem;
    z-index: 1;
    background-color: var(--bs-dark);
}

/* Thumbnail selector (checkbox) */

.thumb>.thumb-selector {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: flex;
    justify-content: end;
    padding: .5rem;
    width: 100%;
    height: 100%;
}

.thumb>.thumb-selector input {
    position: relative;
    z-index: 1;
    display: inline-table;
    margin: 0;
    width: 1.5rem;
    height: 1.5rem;
}

.thumb>.thumb-selector label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid transparent;
    border-radius: var(--bs-border-radius);
    box-shadow: inset 0 0 0 0 #fff;
    transition: all .2s ease;
    transition: border .2s ease;
}

.thumb>.thumb-selector input:checked~label {
    border: 3px solid var(--palette-1);
    box-shadow: inset 0 0 0 100rem rgba(255, 255, 255, 0.212);
}

/* Thumbnail clickable */

/* .thumb-click {
    
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} */
/* Thumbnail overlay */

.thumb>.thumb-click>.thumb-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0 1rem;
    width: 100%;
    height: 0;
    overflow: hidden;
    color: #fff;
    background: var(--palette-1-75);
    opacity: 0;
    transition: all .2s ease;
    transition: all .2s ease;
}

.thumb:hover>.thumb-click>.thumb-overlay {
    height: 4rem;
    opacity: 1;
}

.thumb>.thumb-click>.thumb-overlay>strong {
    color: inherit;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.thumb>.thumb-click>.thumb-overlay>span {
    font-size: .8rem;
}



/*------------------------------------------------------------
    ── TABS
------------------------------------------------------------*/

.nav .nav-link {
    color: rgb(255 255 255 / 75%);
    background-color: rgba(var(--palette-1-rgb), 50%);
}

.nav .nav-link:hover,
.nav .nav-link:active,
.nav .nav-link:focus {
    color: #fff;
    background-color: rgba(var(--palette-1-rgb), 75%);
}

.nav .nav-link.active {
    color: #fff;
    background-color: var(--palette-1);
}

.nav .nav-item:first-of-type .nav-link {
    border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
}

.nav .nav-item:last-of-type .nav-link {
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
}




/*------------------------------------------------------------
    ── LISTS
------------------------------------------------------------*/

.list-icon {
    padding-left: 2.2rem;
}

.list-icon i,
.list-icon svg {
    content: '\f00c';
    position: absolute;
    left: -2.2rem;
    color: var(--palette-1);
    font-family: var(--font-icons);
    font-size: 1.4em;
}

.list-icon li {
    position: relative;
    list-style: none;
}

.list-group-item {
    padding-left: 0;
    padding-right: 0;
    color: inherit;
}

.list-group-flush .list-group-item {
    border: 0;
}

.list-group-item .row>div:last-of-type {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}



/*------------------------------------------------------------
    ── TABLES
------------------------------------------------------------*/

.table-responsive {
    position: relative;
}

.table {
    --bs-table-hover-bg: var(--bs-light);
    margin: 0;
}

.table>thead>tr>th,
.table>tbody>tr>td {
    position: relative;
    padding: .5rem 1rem;
    vertical-align: middle;
}

.table>tbody>tr.row-selected>td,
.table>tbody>tr.row-selected:hover>td {
    --bs-table-accent-bg: rgba(var(--palette-1-rgb), 5%);
    color: var(--palette-1-darker);
    border-color: var(--palette-1-lighter);
}

.card .table>thead>tr>th:first-child,
.card .table>tbody>tr>td:first-child {
    padding-left: var(--general-padding-x);
}

.card .table>thead>tr>th:last-child,
.card .table>tbody>tr>td:last-child {
    padding-right: var(--general-padding-x);
}

.table>tbody>tr>td {
    transition: all .1s ease-in-out;
}

.card .table:not([datatable])>tbody>tr:last-child>td {
    border-width: 0;
}

/* Special table cells */

.table .thumbnail,
.table .avatar,
.table .logo {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
}

.table .thumbnail>.thumb {
    margin-right: 2rem;
    width: 3rem;
    padding-top: 3rem;
}

.table .thumbnail>.thumb {
    margin-right: 2rem;
    width: 3rem;
    padding-top: 3rem;
}

.table .avatar>.thumb {
    margin-right: 1rem;
    width: 3rem;
    padding-top: 3rem;
    border-radius: var(--border-radius-xxl);
}

.table .logo>.thumb {
    margin-right: 2rem;
    width: 6rem;
    padding-top: 3rem;
    background-color: transparent;
    background-size: contain;
}

.table .fixed {
    width: 9rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    text-align: center;
}

.table .fixed>.btn,
.table .fixed>.badge {
    width: 100%;
}

.table .actions {
    text-align: right;
}

.table .actions .btn {
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    font-size: .8rem;
    border: 0;
}

.table .actions .btn:not(:first-of-type) {
    margin-left: .5rem;
}

/* DataTables header */

.dataTables_length,
.dataTables_filter,
.dataTables_scrollBody>table>thead {
    display: none;
}

.dataTables_wrapper th {
    position: relative;
}

.dataTables_wrapper {
    box-shadow: inset 0 -2px 0 transparent;
    transition: all .1s ease-in-out;
    cursor: default;
}

.dataTables_wrapper th.sorting:hover,
.dataTables_wrapper th.sorting:active,
.dataTables_wrapper th.sorting:focus {
    box-shadow: inset 0 -2px 0 var(--bs-border-color);
}

.dataTables_wrapper th.sorting_asc,
.dataTables_wrapper th.sorting_desc {
    box-shadow: inset 0 -2px 0 var(--palette-1);
}

.dataTables_wrapper th.sorting::before,
.dataTables_wrapper th.sorting_asc::before,
.dataTables_wrapper th.sorting_desc::before,
.dataTables_wrapper th.sorting::after,
.dataTables_wrapper th.sorting_asc::after,
.dataTables_wrapper th.sorting_desc::after {
    font-family: var(--font-icons);
    font-size: .8rem;
    font-weight: 900;
}

.dataTables_wrapper th.sorting>svg,
.dataTables_wrapper th.sorting_asc>svg,
.dataTables_wrapper th.sorting_desc>svg,
.dataTables_wrapper th.sorting>svg,
.dataTables_wrapper th.sorting_asc>svg,
.dataTables_wrapper th.sorting_desc>svg {
    position: absolute;
    left: 0rem;
    margin-top: 4px;
    width: .5rem;
}

.dataTables_wrapper th.sorting:first-of-type>svg,
.dataTables_wrapper th.sorting_asc:first-of-type>svg,
.dataTables_wrapper th.sorting_desc:first-of-type>svg,
.dataTables_wrapper th.sorting:first-of-type>svg,
.dataTables_wrapper th.sorting_asc:first-of-type>svg,
.dataTables_wrapper th.sorting_desc:first-of-type>svg {
    left: .5rem;
}

.dataTables_wrapper th.sorting::before,
.dataTables_wrapper th.sorting_asc::before,
.dataTables_wrapper th.sorting_desc::before {
    content: '\f0de';
    display: none;
}

.dataTables_wrapper th.sorting::after,
.dataTables_wrapper th.sorting_asc::after,
.dataTables_wrapper th.sorting_desc::after {
    content: '\f0dd';
    display: none;
}

.dataTables_wrapper th.sorting svg,
.dataTables_wrapper th.sorting svg,
.dataTables_wrapper th.sorting_desc svg,
.dataTables_wrapper th.sorting_asc svg {
    color: var(--bs-border-color);
}

.dataTables_wrapper th.sorting_asc svg[data-fa-pseudo-element="::before"],
.dataTables_wrapper th.sorting_desc svg[data-fa-pseudo-element="::after"] {
    color: var(--palette-1);
}

/* DataTables, body */

.dataTables_wrapper .loader {
    display: flex;
}

/* DataTables, footer */

.dataTables_info,
.dataTables_paginate {
    display: inline-flex;
    padding: .75rem 1.5rem;
    float: left;
    width: 50%;
    height: 4rem;
    font-size: .9rem;
}

.dataTables_info {
    align-items: center;
    justify-content: flex-start;
}

.dataTables_paginate {
    align-items: center;
    justify-content: flex-end;
}

.dataTables_paginate>a,
.dataTables_paginate>span>a {
    padding: .5rem;
    color: var(--bs-secondary-lighter);
    text-decoration: none;
    cursor: pointer;
}

.dataTables_paginate>a:hover,
.dataTables_paginate>span>a:hover {
    color: var(--bs-dark);
}

.dataTables_paginate>a:hover,
.dataTables_paginate>span>a:hover {
    color: var(--bs-dark);
}

.dataTables_paginate>a.current,
.dataTables_paginate>span>a.current {
    color: var(--palette-1);
    font-weight: 900;
}

/* Data Tables, Grid View */

.dataTable.table-grid {
    margin-bottom: 2rem;
}

.dataTable.table-grid tr,
.dataTable.table-grid td {
    border: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    white-space: initial !important;
}

.dataTable.table-grid td.card {
    padding: .5rem;
    height: 100%;
    color: inherit;
    text-decoration: none !important;
    background-color: #ffffff;
    border: 2px solid transparent;
    box-shadow: 0 0.5rem 1rem rgb(0 0 0 / 3%);
    transition: all .1s ease-in-out;
}

.dataTable.table-grid td.card:hover,
.dataTable.table-grid td.card:active,
.dataTable.table-grid td.card:focus {
    color: inherit;
    border-color: var(--bs-info);
}

.dataTable.table-grid .card-body {
    padding: 1rem;
}

.dataTable.table-grid .check {
    position: absolute;
    top: 0;
    right: 0;
}



/*------------------------------------------------------------
    ── MASONRY LAYOUT
------------------------------------------------------------*/

.masonry-layout {
    column-count: 1;
    column-gap: 1;
}

@media (min-width: 992px) {
    .masonry-layout {
        column-count: 2;
    }
}

@media (min-width: 1400px) {
    .masonry-layout {
        column-count: 3;
    }
}

.masonry-layout>* {
    display: grid;
    grid-template-rows: 1fr auto;
    break-inside: avoid;
    margin-bottom: 1rem;
    font-size: 1rem;
}



/*------------------------------------------------------------
    ── LOADER
------------------------------------------------------------*/

.loader {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--bs-white-rgb), .75) !important;
}

.loader>i,
.loader>svg {
    font-size: 3rem;
    color: var(--palette-1);
}



/*------------------------------------------------------------
    ── CHIPS
------------------------------------------------------------*/

.chip {
    display: inline-flex;
    align-items: center;
    padding: .3rem .75rem .3rem .3rem;
    border-radius: var(--border-radius-xxl);
}

.chip .chip-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.5rem;
    width: 1.3rem;
    height: 1.3rem;
    font-size: .7rem;
    background-color: rgba(0, 0, 0, .1);
    background-position: 50%;
    background-size: cover;
    border-radius: var(--border-radius-xxl);
}

.chip .chip-text {
    margin-right: auto;
    font-size: .9rem;
    line-height: 1;
}

/* Colors */

.chip.chip-palette-1 {
    color: var(--palette-1-darker);
    background-color: rgba(var(--palette-1-rgb), .25);
}

.chip.chip-palette-2 {
    color: var(--palette-2-darker);
    background-color: rgba(var(--palette-2-rgb), .25);
}

.chip.chip-palette-3 {
    color: var(--palette-3-darker);
    background-color: rgba(var(--palette-3-rgb), .25);
}

.chip.chip-primary {
    color: var(--bs-primary-darker);
    background-color: rgba(var(--bs-primary-rgb), .25);
}

.chip.chip-secondary {
    color: var(--bs-secondary-darker);
    background-color: rgba(var(--bs-secondary-rgb), .25);
}

.chip.chip-success {
    color: var(--bs-success-darker);
    background-color: rgba(var(--bs-success-rgb), .25);
}

.chip.chip-info {
    color: var(--bs-info-darker);
    background-color: rgba(var(--bs-info-rgb), .25);
}

.chip.chip-warning {
    color: var(--bs-warning-darker);
    background-color: rgba(var(--bs-warning-rgb), .25);
}

.chip.chip-danger {
    color: var(--bs-danger-darker);
    background-color: rgba(var(--bs-danger-rgb), .25);
}

.chip.chip-dark {
    color: var(--bs-dark-darker);
    background-color: rgba(var(--bs-dark-rgb), .25);
}

.chip.chip-light {
    color: var(--bs-secondary-subtle);
    background-color: var(--bs-light);
}

.chip.chip-light .chip-circle {
    background-color: var(--bs-light-darker) !important;
}



/*------------------------------------------------------------
    ── ICON BLOCKS
------------------------------------------------------------*/

/* Style - Normal */

.icon-block[data-style="normal"] {
    display: grid;
    grid-template-columns: repeat(2, auto);
    grid-column-gap: 1.5rem;
    align-items: top;
}

.icon-block[data-style="normal"] .icon-block-icon {
    width: 3rem;
    height: 3rem;
}

/* Style - Data Blocks */

.icon-block[data-style="data"] {
    position: relative;
    display: grid;
    line-height: 1;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--box-shadow);
}

.icon-block[data-style="data"] .data-block-help {
    position: absolute;
    top: .8rem;
    right: .8rem;
}

.icon-block[data-style="data"] .data-block-icon {
    margin: auto;
    width: 3rem;
    height: 3rem;
}

.icon-block[data-style="data"] .data-block-label {
    margin-bottom: .5rem;
    font-family: var(--font-heading);
    font-size: .9rem;
    font-weight: 500;
    text-transform: uppercase;
}

.icon-block[data-style="data"] .data-block-value {
    font-size: 2.2rem;
}

.icon-block[data-style="data"] table,
.icon-block[data-style="data"] table * {
    margin: auto;
    padding: 0 !important;
    border: none;
    box-shadow: none !important;
}

/* Style - Data Blocks / Vertical */

.icon-block[data-style="data"][data-orientation="vertical"] {
    grid-template-rows: 3rem auto;
    grid-row-gap: 1.5rem;
    padding: 4rem 2rem;
    text-align: center;
    vertical-align: top;
}

/* Style - Data Blocks / Horizontal */

.icon-block[data-style="data"][data-orientation="horizontal"] {
    grid-template-columns: 3rem auto;
    grid-column-gap: 1.5rem;
    padding: var(--general-padding-y) var(--general-padding-x);
    text-align: left;
    vertical-align: center;
}



/*------------------------------------------------------------
    ─ VIDEOS
------------------------------------------------------------*/

.video-container {
    position: relative;
    padding: 56.25% 0 0 0;
    background-color: #000;
}

.video-container>video,
.video-container>iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/*------------------------------------------------------------
    ── SOCIAL MEDIA ICONS
------------------------------------------------------------*/

.social-media {
    display: inline-flex;
}

.social-media .social-icon {
    display: inline-flex;
    align-items: center;
    font-size: 1.5rem;
    border-radius: var(--border-radius-sm);
    text-decoration: none;
}

/* Icons style */

.style-icons .social-icon {
    color: #afafaf;
    background-color: transparent;
}

.style-icons .social-icon:not(:last-child) {
    margin: 0 1.5rem 0 0;
}

.style-icons .social-icon.instagram:hover {
    color: #e95950;
}

.style-icons .social-icon.facebook:hover {
    color: #3b5998;
}

.style-icons .social-icon.twitter:hover {
    color: #55acee;
}

.style-icons .social-icon.linkedin:hover {
    color: #0072b1;
}

.style-icons .social-icon.reddit:hover {
    color: #ff4500;
}

.style-icons .social-icon.pinterest:hover {
    color: #c8232c;
}

.style-icons .social-icon.tumblr:hover {
    color: #34526f;
}

.style-icons .social-icon.behance:hover {
    color: #053eff;
}

.style-icons .social-icon.deviantart:hover {
    color: #05CC46;
}

.style-icons .social-icon.youtube:hover {
    color: #ff0000;
}

.style-icons .social-icon.vimeo:hover {
    color: #1ab7ea;
}

.style-icons .social-icon.snapchat:hover {
    color: #FFFC00;
}

.style-icons .social-icon.tiktok:hover {
    color: #69c9d0;
}

.style-icons .social-icon.twitch:hover {
    color: #6441a5;
}

.style-icons .social-icon.weddingwire:hover {
    color: #17b6bc;
}

.style-icons .social-icon.the-knot:hover {
    color: #99cbea;
}

.style-icons .social-icon.paypal:hover {
    color: #00457C;
}

.style-icons .social-icon.venmo:hover {
    color: #008CFF;
}

.style-icons .social-icon.google-pay:hover {
    color: #4285f4;
}

.style-icons .social-icon.apple-pay:hover {
    color: #555555;
}

.style-icons .social-icon.sms:hover {
    color: #e5962a;
}

.style-icons .social-icon.messenger:hover {
    color: #0084ff;
}

.style-icons .social-icon.whatsapp:hover {
    color: #25D366;
}

.style-icons .social-icon.discord:hover {
    color: #7289da;
}

.style-icons .social-icon.slack:hover {
    color: #36C5F0;
}

.style-icons .social-icon.skype:hover {
    color: #00aff0;
}

.style-icons .social-icon.email:hover {
    color: #505050;
}

/* Squares style */

.style-squares {
    margin: 0 -0.2rem;
}

.style-squares .social-icon {
    justify-content: Center;
    width: 2.95rem;
    height: 2.95rem;
    color: #fff;
    font-size: 1.2rem;
    background-color: var(--palette-3-light);
}

.style-squares .social-icon:not(:last-child) {
    margin: 0 .5rem 0 0;
}

.style-squares .social-icon.instagram:hover {
    background-color: #e95950;
}

.style-squares .social-icon.facebook:hover {
    background-color: #3b5998;
}

.style-squares .social-icon.twitter:hover {
    background-color: #55acee;
}

.style-squares .social-icon.linkedin:hover {
    background-color: #0072b1;
}

.style-squares .social-icon.reddit:hover {
    background-color: #ff4500;
}

.style-squares .social-icon.pinterest:hover {
    background-color: #c8232c;
}

.style-squares .social-icon.tumblr:hover {
    background-color: #34526f;
}

.style-squares .social-icon.behance:hover {
    background-color: #053eff;
}

.style-squares .social-icon.deviantart:hover {
    background-color: #05CC46;
}

.style-squares .social-icon.youtube:hover {
    background-color: #ff0000;
}

.style-squares .social-icon.vimeo:hover {
    background-color: #1ab7ea;
}

.style-squares .social-icon.snapchat:hover {
    background-color: #FFFC00;
}

.style-squares .social-icon.tiktok:hover {
    background-color: #69c9d0;
}

.style-squares .social-icon.twitch:hover {
    background-color: #6441a5;
}

.style-squares .social-icon.weddingwire:hover {
    background-color: #17b6bc;
}

.style-squares .social-icon.the-knot:hover {
    background-color: #99cbea;
}

.style-squares .social-icon.paypal:hover {
    background-color: #00457C;
}

.style-squares .social-icon.venmo:hover {
    background-color: #008CFF;
}

.style-squares .social-icon.google-pay:hover {
    background-color: #4285f4;
}

.style-squares .social-icon.apple-pay:hover {
    background-color: #555555;
}

.style-squares .social-icon.sms:hover {
    background-color: #e5962a;
}

.style-squares .social-icon.messenger:hover {
    background-color: #0084ff;
}

.style-squares .social-icon.whatsapp:hover {
    background-color: #25D366;
}

.style-squares .social-icon.discord:hover {
    background-color: #7289da;
}

.style-squares .social-icon.slack:hover {
    background-color: #36C5F0;
}

.style-squares .social-icon.skype:hover {
    background-color: #00aff0;
}

.style-squares .social-icon.email:hover {
    background-color: #505050;
}



/*------------------------------------------------------------
    ─ SIDEBAR
------------------------------------------------------------*/

/* Navigation */

.sidebar {
    margin-bottom: 1.5rem;
    width: 22rem;
    max-width: 100%;
}

.sidebar .sidebar-navigation {
    display: flex;
    flex-direction: column;
    margin-top: 0;
    border: 0;
}

.sidebar .sidebar-group {
    margin: .7rem 0 0;
    padding: .7rem 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.sidebar .sidebar-group:last-of-type {
    border: 0 !important;
}

.sidebar .sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding: 0 .5rem;
    color: #606060;
    font-family: var(--font-family);
    font-size: .8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
}

/* Navigation links */

.sidebar .sidebar-item {
    /* display: flex;
    justify-content: space-between;
    align-items: center; */
}

.sidebar .sidebar-item .btn-edit-folder {
    /* color: inherit;
    margin-left: .5rem; */
}

.sidebar .sidebar-link {
    display: flex;
    align-items: center;
    margin: 0;
    padding: .5rem 1rem;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #606060;
    font-family: var(--font-heading);
    font-weight: 500;
    text-align: left;
    text-decoration: none;
    letter-spacing: .05em;
    background-color: transparent;
    border: 0;
    border-radius: var(--border-radius-sm);
    cursor: pointer;
}

.sidebar .sidebar-link:hover,
.sidebar .sidebar-link:active,
.sidebar .sidebar-link:active,
.sidebar .sidebar-link:focus,
.sidebar .sidebar-item .btn-edit-folder:hover,
.sidebar .sidebar-item .btn-edit-folder:active,
.sidebar .sidebar-item .btn-edit-folder:focus {
    color: var(--palette-1);
}

.sidebar .sidebar-link.active {
    color: #ffff !important;
    background-color: var(--palette-1);
}

.sidebar .sidebar-link>i,
.sidebar .sidebar-link>svg {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    width: 1.1rem;
    height: auto;
    text-align: center;
}

.sidebar .sidebar-link>.badge {
    position: absolute;
    right: 1rem;
    background-color: var(--palette-1);
}

.sidebar .sidebar-link.active>.badge {
    background-color: var(--bs-dark);
}

.sidebar .dropdown-toggle::after {
    margin-left: auto;
    font-size: 1rem;
}

/* Dropdown links */

.sidebar .dropdown li:first-of-type {
    margin-top: .5rem;
}

.sidebar .dropdown li:last-of-type {
    margin-bottom: 1rem;
}

.sidebar .dropdown li {
    margin-left: 2.7rem;
    font-size: .9rem;
}

.sidebar .dropdown li .sidebar-link.active {
    color: var(--palette-1);
    background-color: transparent;
}








/*------------------------------------------------------------
── 404 PAGE
------------------------------------------------------------*/

.error404 section {
    padding: 15vh;
}

.error404 .container>.row {
    justify-content: center;
    text-align: center;
}

.error404 h1 {
    margin: 0;
    font-size: 15rem;
    line-height: 1;
}

.error404 p {
    font-size: 1.4rem;
    line-height: 1.5;
}



/*------------------------------------------------------------
    ── LOGIN
------------------------------------------------------------*/

.logged-in-info {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    padding: 1rem;
    background-color: var(--bs-light);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}

.login section,
.login .container-fluid,
.login .container-fluid .row,
.login .container-fluid .row>div {
    height: 100vh;
}

.login section {
    padding: 0;
    background-color: #fff;
}

.login .row>div:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
}

.login .row>div:last-child {
    display: none;
    background-color: var(--bs-secondary);
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

.webp .login .row>div:last-child {
    background-image: url(../img/bg/login.webp);
}

.no-webp .login .row>div:last-child {
    background-image: url(../img/bg/login.jpg);
}

@media (min-width: 992px) {
    .login .row>div:last-child {
        display: flex;
    }
}

.login form .logo {
    display: block;
    margin: 0 auto 2rem;
    width: 80%;
}

.login form {
    max-width: 20rem;
}



/*------------------------------------------------------------
    ── MY ACCOUNT
------------------------------------------------------------*/

.my-account h1 {
    margin: 0;
    font-size: 1.75rem;
}

.my-account h1>i,
.my-account h1>svg {
    margin-right: 1rem;
    color: var(--palette-1);
}

.my-account .my-code {
    padding: 1rem 2rem;
    background-color: #ffffff;
    border-radius: var(--border-radius-md);
}



/*------------------------------------------------------------
    ── HOMEPAGE
------------------------------------------------------------*/

#hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50rem;
    text-align: center;
    background-color: var(--palette-3);
    background-image: url();
    background-position: 50%;
    background-size: cover;
}



/*------------------------------------------------------------
    ── PURCHASE ORDER
------------------------------------------------------------*/

.order #po-container {
    display: grid;
    grid-template-columns: auto 40rem;
    grid-template-areas: 'sheet' 'controls';
    grid-column-gap: 0;
    width: 100%;
    height: calc(100vh - var(--height-header));
}

#po-container table th {
    padding: .5rem 2rem;
}

#po-container table td {
    padding: 1rem 2rem;
    vertical-align: top;
}

#po-container table th {
    color: #ffffff;
    font-size: .9em;
    font-weight: 600;
    text-transform: uppercase;
    background-color: var(--palette-1);
}


/* Purchase Order Canvas */

#po-canvas {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--palette-3);
}

.order #po-canvas {
    background-color: #f5f5f5;
}

#po-canvas .sheet {
    position: relative;
    margin-top: var(--height-header);
    padding: 0 4rem;
    width: var(--sheet-width);
    min-height: calc(100vh - (var(--height-header) * 2));
    font-size: calc(var(--sheet-width) * .015);
    background-color: #ffffff;
    box-shadow: 0 1rem 2rem rgb(0 0 0 / 10%);
}

.my-account #po-canvas .sheet {
    margin-top: 0;
    width: 100%;
}

#po-canvas .sheet>* {
    margin: 3rem 0;
}

#po-canvas .sheet-info .po-total,
#po-canvas .sheet-item-price,
#po-canvas .sheet-line-price,
#po-canvas tfoot td {
    text-align: right;
}


/* Purchase Order Header */

#po-canvas .sheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#po-canvas .sheet-header img {
    width: calc(var(--sheet-width) * .2);
}

#po-canvas .sheet-header .title {
    color: var(--palette-3);
    font-family: var(--font-heading);
    font-size: calc(var(--sheet-width) * .016);
    text-transform: uppercase;
    line-height: 1.2;
}

#po-canvas .sheet-header .po-number {
    font-size: calc(var(--sheet-width) * .03);
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.2;
}

/* Purchase Order Info */

#po-canvas .sheet-info th,
#po-canvas .sheet-info td {
    width: 50%;
}

#po-canvas .sheet-info .po-total div {
    color: var(--palette-1);
    font-family: var(--font-heading);
    font-size: calc(var(--sheet-width) * .018);
}


/* Purchase Order Line Items */

#po-canvas .sheet-line-item>* {
    display: block;
}

#po-canvas .sheet-line-remove {
    width: 5.5rem;
    font-size: .7em;
    text-align: right;
}

#po-canvas .sheet-line-qty {
    width: calc(var(--sheet-width) * .2);
}

#po-canvas .sheet-total,
#po-canvas .sheet-total-val {
    color: var(--palette-1);
}

#po-canvas .sheet-line-remove .btn-remove {
    margin-top: .5rem;
}


/* Purchase Order Controls */

#po-controls {
    position: fixed;
    top: var(--height-header);
    right: 0;
    display: flex;
    justify-content: center;
    padding: 4rem;
    width: 40rem;
    height: calc(100% - var(--height-header));
    color: #ffffff;
    background-color: var(--palette-3-darker);
}

#po-controls .loader {
    background-color: rgba(var(--palette-3-rgb), .75) !important;
}

#po-controls .loader>i,
#po-controls .loader>svg {
    font-size: 3rem;
    color: #fff;
}

#po-controls form {
    width: 100%;
}

#po-controls .nav {
    margin: 0 0 2rem
}

#po-controls .po-controls-block {
    padding: 1.5rem;
    border: 1px solid rgb(255 255 255 / 15%);
}

#po-controls .po-controls-block {
    margin-bottom: 1.5rem;
}

#po-controls input::-webkit-outer-spin-button,
#po-controls input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#po-controls input[type=number] {
    text-align: center;
    -moz-appearance: textfield;
}