/*------------------------------------------------------------
    TABLE OF CONTENTS
--------------------------------------------------------------

    GENERAL
        ├─ VARIABLES
        ├─ HTML SEMANTICS
        ├─ TYPOGRAPHY
        ├─ CONTAINERS

    STYLES
        ├─ BACKGROUND & TEXT COLORS
        ├─ TEXT COLORS
        ├─ TRUNCATE

    TEMPLATE
        ├─ TEMPLATE PROMOTIONS
        ├─ 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
        ├─ COMMENTS
        ├─ PAYMENT METHODS
        ├─ TRUST LOGOS
        ├─ GOOGLE TRANSLATE

    PAGES
        ├─ 404 PAGE
        ├─ LOGIN
        ├─ MY ACCOUNT
        ├─ HOMEPAGE
        ├─ GALLERY / LIST
        ├─ GALLERY / PROJECT
        ├─ ABOUT
        ├─ BLOG LIST
        ├─ BLOG SINGLE POST
        ├─ TESTIMONIALS
        
------------------------------------------------------------*/


/*------------------------------------------------------------
    ── VARIABLES
------------------------------------------------------------*/

:root {

    /* Font families */

    --font-heading: 'Source Sans Pro', '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%);

    /* Custom Colors */

    --palette-1: hsl(88, 57%, 46%);
    --palette-1-lighter: hsl(88, 57%, 56%);
    --palette-1-lightest: hsl(88, 57%, 76%);
    --palette-1-darker: hsl(88, 57%, 36%);
    --palette-1-darkest: hsl(88, 57%, 26%);
    --palette-1-text: hsl(88, 57%, 46%);
    --palette-1-border-subtle: hsl(88, 57%, 66%);
    --palette-1-rgb: 122, 184, 50;

    --palette-2: hsl(212, 100%, 15%);
    --palette-2-lighter: hsl(217, 80%, 25%);
    --palette-2-lightest: hsl(217, 80%, 45%);
    --palette-2-darker: hsl(217, 80%, 10%);
    --palette-2-darkest: hsl(217, 80%, 0%);
    --palette-2-text: hsl(217, 80%, 15%);
    --palette-2-border-subtle: hsl(217, 80%, 35%);
    --palette-2-rgb: 0, 36, 77;

    --palette-3: hsl(224, 37%, 20%);
    --palette-3-lighter: hsl(224, 37%, 30%);
    --palette-3-lightest: hsl(224, 37%, 50%);
    --palette-3-darker: hsl(224, 37%, 10%);
    --palette-3-darkest: hsl(224, 37%, 5%);
    --palette-3-text: hsl(224, 37%, 20%);
    --palette-3-border-subtle: hsl(224, 37%, 40%);
    --palette-3-rgb: 32, 42, 70;

    /* Bootstrap Colors */
    --bs-body-color: hsl(210, 10%, 27%);

    --bs-primary: hsl(217, 80%, 58%);
    --bs-primary-lighter: hsl(217, 80%, 68%);
    --bs-primary-lightest: hsl(217, 80%, 88%);
    --bs-primary-darker: hsl(217, 80%, 48%);
    --bs-primary-darkest: hsl(217, 80%, 38%);
    --bs-primary-text: hsl(217, 80%, 58%);
    --bs-primary-border-subtle: hsl(217, 80%, 78%);
    --bs-primary-rgb: 62, 128, 234;

    --bs-secondary: hsl(208, 7%, 46%);
    --bs-secondary-lighter: hsl(208, 7%, 56%);
    --bs-secondary-lightest: hsl(208, 7%, 76%);
    --bs-secondary-darker: hsl(208, 7%, 36%);
    --bs-secondary-darkest: hsl(208, 7%, 26%);
    --bs-secondary-text: hsl(208, 7%, 46%);
    --bs-secondary-border-subtle: hsl(280, 7%, 66%);
    --bs-secondary-rgb: 109, 118, 126;

    --bs-success: hsl(141, 48%, 52%);
    --bs-success-lighter: hsl(141, 48%, 62%);
    --bs-success-lightest: hsl(141, 48%, 82%);
    --bs-success-darker: hsl(141, 48%, 42%);
    --bs-success-darkest: hsl(141, 48%, 32%);
    --bs-success-text: hsl(141, 48%, 52%);
    --bs-success-border-subtle: hsl(141, 48%, 72%);
    --bs-success-rgb: 74, 191, 115;

    --bs-info: hsl(200, 80%, 60%);
    --bs-info-lighter: hsl(200, 80%, 70%);
    --bs-info-lightest: hsl(200, 80%, 90%);
    --bs-info-darker: hsl(200, 80%, 50%);
    --bs-info-darkest: hsl(200, 80%, 40%);
    --bs-info-text: hsl(200, 80%, 60%);
    --bs-info-border-subtle: hsl(200, 80%, 80%);
    --bs-info-rgb: 71, 180, 235;

    --bs-warning: hsl(35, 70%, 55%);
    --bs-warning-lighter: hsl(35, 70%, 65%);
    --bs-warning-lightest: hsl(35, 70%, 85%);
    --bs-warning-darker: hsl(35, 70%, 45%);
    --bs-warning-darkest: hsl(35, 70%, 35%);
    --bs-warning-text: hsl(35, 70%, 55%);
    --bs-warning-border-subtle: hsl(35, 70%, 75%);
    --bs-warning-rgb: 218, 151, 58;

    --bs-danger: hsl(2, 64%, 58%);
    --bs-danger-lighter: hsl(2, 64%, 68%);
    --bs-danger-lightest: hsl(2, 64%, 88%);
    --bs-danger-darker: hsl(2, 64%, 48%);
    --bs-danger-darkest: hsl(2, 64%, 38%);
    --bs-danger-text: hsl(2, 64%, 58%);
    --bs-danger-border-subtle: hsl(2, 64%, 78%);
    --bs-danger-rgb: 216, 84, 79;

    --bs-dark: hsl(210, 11%, 15%);
    --bs-dark-lighter: hsl(210, 11%, 25%);
    --bs-dark-lightest: hsl(210, 11%, 35%);
    --bs-dark-darker: hsl(210, 11%, 10%);
    --bs-dark-darkest: hsl(210, 11%, 5%);
    --bs-dark-text: hsl(210, 11%, 15%);
    --bs-dark-border-subtle: hsl(210, 11%, 35%);
    --bs-dark-rgb: 34, 38, 42;

    --bs-light: hsl(210, 17%, 98%);
    --bs-light-lighter: hsl(210, 17%, 99%);
    --bs-light-lightest: hsl(210, 17%, 100%);
    --bs-light-darker: hsl(210, 17%, 88%);
    --bs-light-darkest: hsl(210, 17%, 78%);
    --bs-light-text: hsl(210, 17%, 98%);
    --bs-light-border-subtle: hsl(210, 17%, 99%);
    --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;
}


/*------------------------------------------------------------
    ── 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: #fff;
}

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 PROMOTIONS
------------------------------------------------------------*/

.promo-show #template-promotions {
    display: flex;
}

#template-promotions {
    /* position: absolute;
    top: 0;
    left: 0;
    z-index: 1033; */
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    color: #fff;
}

#template-promotions .carousel-item {
    height: 4rem;
    background-size: cover;
    background-position: 50%;
    background-color: var(--palette-1);
}

#template-promotions .carousel-content {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 1.2rem;
}

#template-promotions .carousel-content span {
    display: inline-block;
    padding-right: 1rem;
    font-weight: 600;
}

#template-promotions .btn-close {
    position: absolute;
    top: .75rem;
    right: 1rem;
}

#template-promotions .carousel-control>a:hover,
#template-promotions .carousel-control>a:active,
#template-promotions .carousel-control>a:focus {
    opacity: 1;
}

#template-promotions .carousel-control>a:first-of-type {
    left: 4rem;
}

#template-promotions .carousel-control>a:last-of-type {
    right: 4rem;
}


/* Make the carouel scroll vertically */

#template-promotions .carousel-item-next.carousel-item-start,
#template-promotions .carousel-item-prev.carousel-item-end {
    transform: translate3d(0, 0, 0);
}

#template-promotions .carousel-item-next,
#template-promotions .active.carousel-item-end {
    transform: translate3d(0, 100%, 0);
}

#template-promotions .carousel-item-prev,
#template-promotions .active.carousel-item-start {
    transform: translate3d(0, -100%, 0);
}


/*------------------------------------------------------------
    ── TEMPLATE HEADER
------------------------------------------------------------*/

#template-header .navbar {
    margin-bottom: 1rem;
    padding: 0;
}

#template-header .navbar .navbar-brand {
    margin: 0 2rem 0 0;
    padding: 0;
}

#template-header .navbar .navbar-brand>img {
    padding: .5rem 0;
    height: var(--height-header);
}

#template-header .navbar .navbar-nav .nav-link {
    padding: .5rem 1rem;
    font-weight: 600;
}


/*------------------------------------------------------------
    ── TEMPLATE SKIP-NAV
------------------------------------------------------------*/

#template-skip-nav {}


/*------------------------------------------------------------
    ── TEMPLATE MAIN
------------------------------------------------------------*/

#template-main {
    grid-area: main;
}


/*------------------------------------------------------------
    ── 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>.form-control,
.input-with-icon>.form-select {
    padding-left: 2.75rem;
}

.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-control {
    background-image: none !important;
}

.form-select {
    --bs-form-select-bg-icon: none !important;
}

.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::before {
    position: absolute;
    top: 0.5em;
    left: 1rem;
    color: #fff;
    font-family: var(--font-icons);
    font-size: 1.2rem;
    font-weight: 600;
}

.form-validation.bg-success::before {
    content: '\f058';
}

.form-validation.bg-info::before {
    content: '\f05a';
}

.form-validation.bg-danger::before {
    content: '\f06a';
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    box-shadow: 0 0 0 1px var(--bs-danger);
}

/* Basic Input Fields */

.form-cont:not(.form-control-sm),
.form-sel:not(.form-control-sm) {
    padding: var(--input-padding-y) 0.75rem;
    font-size: var(--input-font);
    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-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';
    display: none;
    width: 1rem;
    font-size: .6em;
    font-family: var(--font-icons);
    font-weight: 400;
    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-tabs-custom {
    background-color: var(--bs-light);
}

.nav-tabs-custom .nav-item .nav-link {
    margin-bottom: -2px;
    color: var(--bs-secondary);
    border-width: 0 0 3px;
    box-shadow: none;
}

.nav-tabs-custom .nav-item.show .nav-link,
.nav-tabs-custom .nav-link.active {
    color: var(--palette-1);
    font-weight: 600;
    background-color: transparent;
    border-color: var(--palette-1);
}


/*------------------------------------------------------------
    ── 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);
    --bs-table-striped-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 {
    width: 3rem;
    padding-top: 3rem;
    box-shadow: none;
    background-color: transparent;
}

.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::after,
.dataTables_wrapper th.sorting_asc::after,
.dataTables_wrapper th.sorting_desc::after {
    position: relative;
    margin: 0 0.25rem;
    width: .5rem;
    font-family: var(--font-icons);
    font-size: .8rem;
    font-weight: 900;
}

.dataTables_wrapper th.sorting_asc::after {
    content: '\f0de';
    top: .15rem;
}

.dataTables_wrapper th.sorting_desc::after {
    content: '\f0dd';
    top: -.15rem;
}

.dataTables_wrapper th.sorting_asc::after,
.dataTables_wrapper th.sorting_desc::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: 2;
    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;
}


/*------------------------------------------------------------
    ── COMMENTS
------------------------------------------------------------*/

/* Parent  comments */

.comment {
    position: relative;
    margin-top: 2rem;
    padding-left: 5rem;
}

.comment .comment-meta {
    display: flex;
    align-items: baseline;
    margin-bottom: .5rem;
    padding-top: .5rem;
}

.comment .comment-photo {
    position: absolute;
    top: 0;
    left: 0;
    width: 4rem;
    height: 4rem;
    background-color: var(--bs-light);
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
    border: .1rem solid var(--bs-border-color);
    border-radius: var(--border-radius-xxl);
}

.comment .comment-name {
    font-size: 1.2rem;
    font-weight: 600;
}

.comment .comment-date {
    margin-left: 1rem;
    font-size: .8rem;
}

.comment .comment-buttons {
    margin-top: 1rem;
}

/* Child comments */

.comment.reply {
    margin: 0 0 0 3rem;
    padding: 1rem 0 1rem 3rem;
    border-left: .1rem solid var(--bs-border-color);
}

.comment.reply .comment-photo {
    top: 1rem;
    left: -2rem;
}


/*------------------------------------------------------------
    ── PAYMENT METHODS
------------------------------------------------------------*/

.payment-methods {
    display: flex;
    margin: 0 -.2rem;
}

.payment-methods .method-icon {
    margin: 0 .2rem;
    height: 2rem;
}


/*------------------------------------------------------------
    ── TRUST LOGOS
------------------------------------------------------------*/

.trust-logos {
    margin-top: 1.5rem;
    text-align: center
}

.trust-logos .row {
    justify-content: space-around;
}

.trust-logos .seal:hover,
.trust-logos .seal:active,
.trust-logos .seal:focus {
    opacity: .7;
}

.trust-logos .seal img {
    width: 100%;
    max-width: 10rem;
}


/*------------------------------------------------------------
    ── GOOGLE TRANSLATE
------------------------------------------------------------*/

body>.skiptranslate,
#google-translate .goog-logo-link {
    display: none !important;
}

#google-translate .skiptranslate {
    margin: 1rem 0;
    color: var(--bs-dark-dark);
}

#google-translate .goog-te-gadget .goog-te-combo {
    margin-top: 1rem;
    padding: 0 1rem;
    width: 100%;
    height: 2.5rem;
    color: #fff;
    border: 0;
    background: var(--bs-dark);
    border-radius: .25em;
}

#google-translate .skiptranslate>span {
    display: none;
}




/*------------------------------------------------------------
── 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 #template-body {
    height: 100vh;
}

.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 {
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(../img/login.webp);
    background-size: cover;
    box-shadow: inset 0 10000px rgba(0, 47, 99, 0.75);
}

.login form .logo {
    display: block;
    margin: 0 auto 2rem;
    width: 50%;
}

.login form {
    width: 25rem;
    max-width: 100%;
    padding: 3rem 2rem 2rem;
    background-color: #fff;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .1);
    border-radius: var(--border-radius-sm);
}


/*------------------------------------------------------------
    ── 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
------------------------------------------------------------*/

/* Grid layout */

#dealer-form {
    display: grid;
    grid-template-columns: auto 30rem;
}

#dealer-form section {
    grid-column: 1;
    position: relative;
    padding: 5rem 10%;
    height: 100vh;
    overflow: auto;
}

#dealer-form aside {
    grid-column: 2;
    position: fixed;
    top: 0;
    right: 0;
    width: 30rem;
    height: 100vh;
    padding: 5rem 2vw;
    background-color: var(--bs-light);
}

/* Header */

#dealer-header {
    margin-bottom: 1.5rem;
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

#dealer-header>.dealer-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2rem;
    color: #fff;
    background-color: #084781;
    background-image: url(../img/swoosh-blue.webp);
    background-position: 50%;
}

#dealer-header>.dealer-info>.dealer-switch {
    text-align: center;
}

#dealer-header>.dealer-info>.dealer-switch>.btn {
    margin-top: .5rem;
}

/* Controls */

#dealer-header>.dealer-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    background-color: var(--bs-light);
}

#dealer-header>.dealer-controls .dealer-search {
    width: 20rem;
}

#dealer-header>.dealer-controls .dealer-buttons>.btn {
    margin-left: .5rem;
}

/* Monthly Special (image) */

#dealer-special {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 900px;
}

#dealer-special>img {
    width: 100%;
}

/* Products List */

#dealer-products {
    margin-top: 1.5rem;
}

#dealer-products [name="line-starting[]"] {
    margin-top: .5rem;
    max-width: 15rem;
}

/* Order details */

#dealer-details h2 {
    display: flex;
    align-items: end;
    margin-bottom: 1rem;
    /* height: var(--height-header); */
}

#dealer-details .btn {
    width: 100%;
    justify-content: center;
}

#dealer-details .form-floating {
    margin-bottom: 1rem;
}

#dealer-details .order-totals {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
    /* padding: .5rem 1rem; */
    font-size: 1.5rem;
    font-weight: 500;
    /* background-color: rgba(var(--bs-dark-rgb), .07); */
    /* border-radius: var(--border-radius-sm); */
}

/*------------------------------------------------------------
    ── GALLERY / LIST
------------------------------------------------------------*/

.gallery #work {
    padding: 0;
    color: #ffffff;
    background-color: var(--palette-3);
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
    border-color: var(--bs-border-color-25);
}

.gallery #work .container-fluid {
    padding: 1.5rem;
}

.gallery #work .thumb {
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
}

.gallery #work .thumb .thumb-zoom {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    transition: all .4s ease;
    opacity: .1;
}

.gallery #work .thumb:hover .thumb-zoom {
    transform: scale(1.1);
}

.gallery #work .thumb img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    max-width: 15rem;
    max-height: 10rem;
    filter: grayscale(100%);
    transition: all .4s ease;
}

.gallery #work .thumb:hover img {
    filter: grayscale(0%);
}


/*------------------------------------------------------------
    ── GALLERY / PROJECT
------------------------------------------------------------*/

.project #hero {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 40rem;
    text-align: center;
    background-color: var(--palette-3);
    background-position: 50%;
    background-size: cover;
    box-shadow: inset 0 0 0 100rem var(--palette-3-75);
}

.project #hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: 4rem;
    line-height: 1;
    text-transform: uppercase;
}

.project #hero .lead {
    margin: 0;
    font-size: 1.6rem;
}

.project #hero .lead span {
    padding: 0 .75rem;
    color: var(--palette-1);
}

.project .display-logo {
    display: flex;
    margin-top: 6%;
    width: 100%;
    border-radius: var(--border-radius-md);
    overflow: hidden;
}

.project .display-logo>div {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10% 5%;
    width: 100%;
}

.project .display-logo>div>img {
    max-width: 80%;
    max-height: 80%;
}


/*------------------------------------------------------------
    ── ABOUT
------------------------------------------------------------*/


/*------------------------------------------------------------
    ── BLOG LIST
------------------------------------------------------------*/

.blog-list .blog-post-date,
.blog-list .blog-post-author {
    margin-right: 1rem;
    font-size: .9rem;
}

.blog-list .thumb {
    position: relative;
}

.blog-list .blog-post-date {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .5rem 1rem;
    color: #fff;
    font-weight: 600;
    line-height: 1;
    background-color: var(--palette-1);
}

.blog-list .blog-post-date-m,
.blog-list .blog-post-date-y {
    font-size: .8rem;
}

.blog-list .blog-post-date-d {
    font-size: 1.6rem;
}

.blog-list .blog-post-author {
    display: flex;
    align-items: center;
    margin-top: auto;
    padding-top: 1.5rem;
    font-weight: 600;
}

.blog-list .blog-post-author .author-photo {
    display: block;
    margin-right: .5rem;
    width: 1.5rem;
    height: 1.5rem;
    background-size: cover;
    background-position: 50%;
    border-radius: 1000rem;
}


/*------------------------------------------------------------
    ── BLOG SINGLE POST
------------------------------------------------------------*/

.single-post .post-header {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 30rem;
    color: #fff;
    background-position: 50%;
    background-size: cover;
    box-shadow: inset 0 0 0 50rem rgb(16 16 16 / 50%);
}

.single-post .post-header h1 {
    color: inherit;
}

.single-post .post-content {
    background: #ffffff
}

.single-post .post-author {
    background-color: var(--bs-light);
}

.single-post .post-author .thumb {
    width: 7rem;
    border-radius: var(--border-radius-xxl);
}

.single-post .post-author .author-name {
    margin-bottom: 1.2rem;
    color: var(--bs-dark);
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1;
}

.single-post .post-comments {
    background-color: var(--bs-light);
}


/*------------------------------------------------------------
    ── TESTIMONIALS
------------------------------------------------------------*/

.testimonials-list {
    background-color: var(--bs-light);
}

.testimonials-list .card-header>.row {
    align-items: center;
}

.testimonials-list .thumb {
    width: 3.8rem;
}

.testimonials-list blockquote cite {
    margin: 0;
}

.testimonials-list blockquote cite span {
    display: block;
    font-size: 1.2rem;
    color: var(--palette-3);
    font-weight: 600;
    font-style: normal;
}

.testimonials-list blockquote cite small {
    display: block;
    color: #606060;
    font-size: .9rem;
    font-style: normal;
}

.testimonials-list blockquote p:last-of-type {
    margin: 0;
}

.testimonials-list .card-footer {
    justify-content: flex-start;
}