



/* Font Weights */

.font-thin {
    font-weight: 100;
}

.font-lighter {
    font-weight: 200;
}

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

.font-normal {
    font-weight: 400;
}

.font-semibold {
    font-weight: 500;
}

.font-bold {
    font-weight: 600;
}






/* Z-Index */

.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-30 { z-index: 30; }
.z-40 { z-index: 40; }
.z-50 { z-index: 50; }
.z-60 { z-index: 60; }
.z-70 { z-index: 70; }
.z-80 { z-index: 80; }
.z-90 { z-index: 90; }
.z-100 { z-index: 100; }

.-z-10 { z-index: 10 !important; }
.-z-20 { z-index: 20 !important; }
.-z-30 { z-index: 30 !important; }
.-z-40 { z-index: 40 !important; }
.-z-50 { z-index: 50 !important; }
.-z-60 { z-index: 60 !important; }
.-z-70 { z-index: 70 !important; }
.-z-80 { z-index: 80 !important; }
.-z-90 { z-index: 90 !important; }
.-z-100 { z-index: 100 !important; }





/* Flex */

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.flex-col {
    display: flex;
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}






/* Truncate */

[data-text-ellipsis] {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    text-overflow: ellipsis;
    white-space: normal;
    overflow: hidden;
}

[data-text-ellipsis="2"] { -webkit-line-clamp: 2; }
[data-text-ellipsis="3"] { -webkit-line-clamp: 3; }
[data-text-ellipsis="4"] { -webkit-line-clamp: 4; }
[data-text-ellipsis="5"] { -webkit-line-clamp: 5; }





/* Tables */

.table-overview {
    display: block;
    position: relative;
    overflow: visible;
    padding-bottom: 3px;
    margin-bottom: -3px;
}

.table-overview.has-overflow {
    max-width: 100%;
    overflow: auto;
}







/* Others */


.relative {
    position: relative;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.sr-hidden {
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
}

.filter-invert {
    filter: invert(1);
}




/* Shadow */

.shadow-box {
    box-shadow: 0 0 15px 3px rgba(0, 0, 0, 0.05);
}

.shadow-inset {
    box-shadow: inset 0 0 15px 3px rgba(0, 0, 0, 0.05);
}





/* Cursors */

.cursor-auto {
    cursor: auto;
}

.cursor-default {
    cursor: default;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-wait {
    cursor: wait;
}

.cursor-text {
    cursor: text;
}

.cursor-move {
    cursor: move;
}

.cursor-help {
    cursor: help;
}

.cursor-not-allowed {
    cursor: not-allowed;
}





/* Pointer Events */

.pointer-events,
.pointer-events-auto {
    pointer-events: auto;
}

.no-pointer-events,
.pointer-events-none {
    pointer-events: none;
}







/* Aspect Ratio */

.aspect-0\.5  { aspect-ratio: 0.5; }
.aspect-0\.65 { aspect-ratio: 0.65; }
.aspect-0\.75 { aspect-ratio: 0.75; }
.aspect-0\.85 { aspect-ratio: 0.85; }
.aspect-1     { aspect-ratio: 1.0; }
.aspect-1\.5  { aspect-ratio: 1.5; }
.aspect-2     { aspect-ratio: 2.0; }
.aspect-2\.5  { aspect-ratio: 2.5; }
.aspect-3     { aspect-ratio: 3.0; }
.aspect-3\.5  { aspect-ratio: 3.5; }





/* Scaling */

.scale-10, .svg-0\.1  > svg { transform: scale(0.1); }
.scale-20, .svg-0\.2  > svg { transform: scale(0.2); }
.scale-30, .svg-0\.3  > svg { transform: scale(0.3); }
.scale-40, .svg-0\.4  > svg { transform: scale(0.4); }
.scale-50, .svg-0\.5  > svg { transform: scale(0.5); }
.scale-60, .svg-0\.6  > svg { transform: scale(0.6); }
.scale-70, .svg-0\.7  > svg { transform: scale(0.7); }
.scale-80, .svg-0\.8  > svg { transform: scale(0.8); }
.scale-90, .svg-0\.9  > svg { transform: scale(0.9); }

.scale-5,   .svg-0\.05 > svg { transform: scale(0.05); }
.scale-15,  .svg-0\.15 > svg { transform: scale(0.15); }
.scale-25,  .svg-0\.25 > svg { transform: scale(0.25); }
.scale-35,  .svg-0\.35 > svg { transform: scale(0.35); }
.scale-45,  .svg-0\.45 > svg { transform: scale(0.45); }
.scale-55,  .svg-0\.55 > svg { transform: scale(0.55); }
.scale-65,  .svg-0\.65 > svg { transform: scale(0.65); }
.scale-75,  .svg-0\.75 > svg { transform: scale(0.75); }
.scale-85,  .svg-0\.85 > svg { transform: scale(0.85); }
.scale-95,  .svg-0\.95 > svg { transform: scale(0.95); }

.scale-100, .svg-1\.0  > svg { transform: scale(1.00); }
.scale-125, .svg-1\.25 > svg { transform: scale(1.25); }
.scale-135, .svg-1\.35 > svg { transform: scale(1.35); }
.scale-150, .svg-1\.5  > svg { transform: scale(1.50); }
.scale-165, .svg-1\.65 > svg { transform: scale(1.65); }
.scale-175, .svg-1\.75 > svg { transform: scale(1.75); }
.scale-200, .svg-2\.0  > svg { transform: scale(2.00); }





/* Margin X */

.-mx-0\.5 { margin: 0 -0.125rem !important; }
.-mx-1 { margin: 0 -0.25rem !important; }
.-mx-2 { margin: 0 -0.50rem !important; }
.-mx-3 { margin: 0 -0.75rem !important; }
.-mx-4 { margin: 0 -1.00rem !important; }




/* Margin Left */

.-ml-0\.5 { margin-left: -0.125rem !important; }
.-ml-1 { margin-left: -0.25rem !important; }
.-ml-2 { margin-left: -0.50rem !important; }
.-ml-3 { margin-left: -0.75rem !important; }
.-ml-4 { margin-left: -1.00rem !important; }




/* Margin Right */

.-mr-0\.5 { margin-right: -0.125rem !important; }
.-mr-1 { margin-right: -0.25rem !important; }
.-mr-2 { margin-right: -0.50rem !important; }
.-mr-3 { margin-right: -0.75rem !important; }
.-mr-4 { margin-right: -1.00rem !important; }




/* Margin Bottom  */

.mb-0\.25 { margin-bottom: 0.0625rem; }
.mb-0\.5 { margin-bottom: 0.125rem; }
.mb-0\.75 { margin-bottom: 0.1875rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.50rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1.00rem; }

.mb-5 { margin-bottom: 1.25rem; }
.mb-6 { margin-bottom: 1.50rem; }
.mb-7 { margin-bottom: 1.75rem; }
.mb-8 { margin-bottom: 2.00rem; }

.mb-9 { margin-bottom: 2.25rem; }
.mb-10 { margin-bottom: 2.50rem; }
.mb-11 { margin-bottom: 2.75rem; }
.mb-12 { margin-bottom: 3.00rem; }




/* Margin Top  */

.mt-0\.25 { margin-top: 0.0625rem; }
.mt-0\.5  { margin-top: 0.125rem;  }
.mt-0\.75 { margin-top: 0.1875rem; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.50rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1.00rem; }

.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.50rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2.00rem; }

.mt-9 { margin-top: 2.25rem; }
.mt-10 { margin-top: 2.50rem; }
.mt-11 { margin-top: 2.75rem; }
.mt-12 { margin-top: 3.00rem; }



/* Pull Margin  */

.-mt-x { margin-top: -1.00rem !important; }
.-mb-x { margin-bottom: -1.00rem !important; }

@media all and (max-width: 575px) {

    .-mt-x { margin-top: -0.5rem !important; }
    .-mb-x { margin-bottom: -0.5rem !important; }

}



.-mt-1 { margin-top: -0.25rem !important; }
.-mt-2 { margin-top: -0.50rem !important; }
.-mt-3 { margin-top: -0.75rem !important; }
.-mt-4 { margin-top: -1.00rem !important; }
.-mt-5 { margin-top: -1.25rem !important; }
.-mt-6 { margin-top: -1.50rem !important; }
.-mt-7 { margin-top: -1.75rem !important; }
.-mt-8 { margin-top: -2.00rem !important; }
.-mt-9 { margin-top: -2.25rem !important; }
.-mt-10 { margin-top: -2.50rem !important; }
.-mt-11 { margin-top: -2.75rem !important; }
.-mt-12 { margin-top: -3.00rem !important; }

.-mb-1 { margin-bottom: -0.25rem !important; }
.-mb-2 { margin-bottom: -0.50rem !important; }
.-mb-3 { margin-bottom: -0.75rem !important; }
.-mb-4 { margin-bottom: -1.00rem !important; }
.-mb-5 { margin-bottom: -1.25rem !important; }
.-mb-6 { margin-bottom: -1.50rem !important; }
.-mb-7 { margin-bottom: -1.75rem !important; }
.-mb-8 { margin-bottom: -2.00rem !important; }
.-mb-9 { margin-bottom: -2.25rem !important; }
.-mb-10 { margin-bottom: -2.50rem !important; }
.-mb-11 { margin-bottom: -2.75rem !important; }
.-mb-12 { margin-bottom: -3.00rem !important; }









/* Bootstrap */

.row.static,
.row.static > div {
    position: static;
}

.row.row-center {
    justify-content: center;
}

.row.x-0 { margin: 0 0; }
.row.x-0 > div { padding: 0 0; }

.row.x-3 { margin: 0 -3px; }
.row.x-3 > div { padding: 0 3px; }

.row.x-5 { margin: 0 -5px; }
.row.x-5 > div { padding: 0 5px; }

.row.x-8 { margin: 0 -8px; }
.row.x-8 > div { padding: 0 8px; }

.row.x-10 { margin: 0 -10px; }
.row.x-10 > div { padding: 0 10px; }

.row.x-15 { margin: 0 -15px; }
.row.x-15 > div { padding: 0 15px; }

.row.x-20 { margin: 0 -20px; }
.row.x-20 > div { padding: 0 20px; }

.row.x-30 { margin: 0 -30px; }
.row.x-30 > div { padding: 0 30px; }

.row.x-40 { margin: 0 -40px; }
.row.x-40 > div { padding: 0 40px; }

.row.x-50 { margin: 0 -50px; }
.row.x-50 > div { padding: 0 50px; }

.row.x-60 { margin: 0 -60px; }
.row.x-60 > div { padding: 0 60px; }

.row.x-bottom.x-3 > div { padding-bottom: 6px; }
.row.x-bottom.x-5 > div { padding-bottom: 10px; }
.row.x-bottom.x-8 > div { padding-bottom: 16px; }
.row.x-bottom.x-10 > div { padding-bottom: 20px; }
.row.x-bottom.x-15 > div { padding-bottom: 30px; }
.row.x-bottom.x-20 > div { padding-bottom: 40px; }
.row.x-bottom.x-30 > div { padding-bottom: 60px; }
.row.x-bottom.x-40 > div { padding-bottom: 80px; }
.row.x-bottom.x-50 > div { padding-bottom: 100px; }
.row.x-bottom.x-60 > div { padding-bottom: 120px; }


@media all and (max-width: 400px) {

    .row.responsive > div:not([class*="col-xxs"]) {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

}


@media all and (min-width: 400px) {

    .row.x-res { margin: 0 -1.25vw; }
    .row.x-res > div { padding: 0 1.25vw; }
    .row.x-res.x-bottom > div { padding-bottom: 2.5vw; }

}

@media all and (min-width: 575px) {

    .row.x-res { margin: 0 -1vw; }
    .row.x-res > div { padding: 0 1vw; }
    .row.x-res.x-bottom > div { padding-bottom: 2vw; }

}

@media all and (min-width: 992px) {

    .row.x-res { margin: 0 -10px; }
    .row.x-res > div { padding: 0 10px; }
    .row.x-res.x-bottom > div { padding-bottom: 20px; }

}







/* Bootstrap Extended */

.width-1 { width: 8.333%; }
.width-2 { width: 16.666%; }
.width-3 { width: 25%; }
.width-4 { width: 33.333%; }
.width-5 { width: 41.666%; }
.width-6 { width: 50%; }
.width-7 { width: 58.333%; }
.width-8 { width: 66.666%; }
.width-9 { width: 75%; }
.width-10 { width: 83.333%; }
.width-11 { width: 91.666%; }
.width-12 { width: 100%; }

@media all and (max-width: 575px) {
    .width-xs-1 { width: 8.333%; }
    .width-xs-2 { width: 16.666%; }
    .width-xs-3 { width: 25%; }
    .width-xs-4 { width: 33.333%; }
    .width-xs-5 { width: 41.666%; }
    .width-xs-6 { width: 50%; }
    .width-xs-7 { width: 58.333%; }
    .width-xs-8 { width: 66.666%; }
    .width-xs-9 { width: 75%; }
    .width-xs-10 { width: 83.333%; }
    .width-xs-11 { width: 91.666%; }
    .width-xs-12 { width: 100%; }
}

@media all and (min-width: 576px) and (max-width: 767px) {
    .width-sm-1 { width: 8.333%; }
    .width-sm-2 { width: 16.666%; }
    .width-sm-3 { width: 25%; }
    .width-sm-4 { width: 33.333%; }
    .width-sm-5 { width: 41.666%; }
    .width-sm-6 { width: 50%; }
    .width-sm-7 { width: 58.333%; }
    .width-sm-8 { width: 66.666%; }
    .width-sm-9 { width: 75%; }
    .width-sm-10 { width: 83.333%; }
    .width-sm-11 { width: 91.666%; }
    .width-sm-12 { width: 100%; }
}

@media all and (min-width: 768px) and (max-width: 991px) {
    .width-md-1 { width: 8.333%; }
    .width-md-2 { width: 16.666%; }
    .width-md-3 { width: 25%; }
    .width-md-4 { width: 33.333%; }
    .width-md-5 { width: 41.666%; }
    .width-md-6 { width: 50%; }
    .width-md-7 { width: 58.333%; }
    .width-md-8 { width: 66.666%; }
    .width-md-9 { width: 75%; }
    .width-md-10 { width: 83.333%; }
    .width-md-11 { width: 91.666%; }
    .width-md-12 { width: 100%; }
}

@media all and (min-width: 992px) and (max-width: 1199px) {
    .width-lg-1 { width: 8.333%; }
    .width-lg-2 { width: 16.666%; }
    .width-lg-3 { width: 25%; }
    .width-lg-4 { width: 33.333%; }
    .width-lg-5 { width: 41.666%; }
    .width-lg-6 { width: 50%; }
    .width-lg-7 { width: 58.333%; }
    .width-lg-8 { width: 66.666%; }
    .width-lg-9 { width: 75%; }
    .width-lg-10 { width: 83.333%; }
    .width-lg-11 { width: 91.666%; }
    .width-lg-12 { width: 100%; }
}

@media all and (min-width: 1200px) and (max-width: 1399px) {
    .width-xl-1 { width: 8.333%; }
    .width-xl-2 { width: 16.666%; }
    .width-xl-3 { width: 25%; }
    .width-xl-4 { width: 33.333%; }
    .width-xl-5 { width: 41.666%; }
    .width-xl-6 { width: 50%; }
    .width-xl-7 { width: 58.333%; }
    .width-xl-8 { width: 66.666%; }
    .width-xl-9 { width: 75%; }
    .width-xl-10 { width: 83.333%; }
    .width-xl-11 { width: 91.666%; }
    .width-xl-12 { width: 100%; }
}



.width-64 { width: 64px; }
.width-96 { width: 96px; }
.width-128 { width: 128px; }
.width-192 { width: 192px; }
.width-256 { width: 256px; }

@media all and (min-width: 400px) and (max-width: 575px) {

    .col-xs-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-xs-2 { flex: 0 0 16.666666%; max-width: 16.666666%; }
    .col-xs-3 { flex: 0 0 25%; max-width: 25%; }

    .col-xs-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-xs-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-xs-6 { flex: 0 0 50%; max-width: 50%; }

    .col-xs-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-xs-8 { flex: 0 0 66.666666%; max-width: 66.666666%; }
    .col-xs-9 { flex: 0 0 75%; max-width: 75%; }

    .col-xs-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-xs-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-xs-12 { flex: 0 0 100%; max-width: 100%; }

}



@media all and (min-width: 1400px) {

    .col-xxl-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-xxl-2 { flex: 0 0 16.666666%; max-width: 16.666666%; }
    .col-xxl-3 { flex: 0 0 25%; max-width: 25%; }

    .col-xxl-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-xxl-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-xxl-6 { flex: 0 0 50%; max-width: 50%; }

    .col-xxl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-xxl-8 { flex: 0 0 66.666666%; max-width: 66.666666%; }
    .col-xxl-9 { flex: 0 0 75%; max-width: 75%; }

    .col-xxl-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-xxl-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-xxl-12 { flex: 0 0 100%; max-width: 100%; }

}






/* Responsive */

@media all and (max-width: 575px) {

    .hidden-xs,
    .hidden:not(.visible-xs) { display:none !important; }

}
@media all and (min-width: 576px) and (max-width: 767px) {

    .hidden-sm,
    .hidden:not(.visible-sm) { display:none !important; }

}
@media all and (min-width: 768px) and (max-width: 991px) {

    .hidden-md,
    .hidden:not(.visible-md) { display:none !important; }

}
@media all and (min-width: 992px) and (max-width: 1199px) {

    .hidden-lg,
    .hidden:not(.visible-lg) { display:none !important; }

}
@media all and (min-width: 1200px) and (max-width: 1399px) {

    .hidden-xl,
    .hidden:not(.visible-xl) { display:none !important; }

}
@media all and (min-width: 1400px) {

    .hidden-xxl,
    .hidden:not(.visible-xxl) { display:none !important; }

}





/* Scrollbar */

[data-scrollbar]::-webkit-scrollbar-track {
    background: transparent;
}

[data-scrollbar]::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px #EDEAEA;
    box-shadow: inset 0 0 10px 10px #F8F8F8;
}




[data-scrollbar*="bg-black"]::-webkit-scrollbar-track {
    background: var(--theme-black);
}

[data-scrollbar*="bg-white"]::-webkit-scrollbar-track {
    background: var(--theme-white);
}

[data-scrollbar*="is-white"]::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px var(--theme-white);
}

[data-scrollbar*="is-black"]::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px var(--theme-black);
}

[data-scrollbar*="is-gray"]::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px var(--theme-darker);
}




[data-scrollbar*="opacity-black"]::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px rgba( 0, 0, 0, 0.15 );
}

[data-scrollbar*="opacity-white"]::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px rgba( 255, 255, 255, 0.25 );
}

[data-scrollbar]::-webkit-scrollbar { width: 2px; }

[data-scrollbar*="size-0"]::-webkit-scrollbar { width: 0; height: 0; }
[data-scrollbar*="size-1"]::-webkit-scrollbar { width: 1px; height: 1px; }
[data-scrollbar*="size-2"]::-webkit-scrollbar { width: 2px; height: 2px; }
[data-scrollbar*="size-3"]::-webkit-scrollbar { width: 3px; height: 3px; }
[data-scrollbar*="size-4"]::-webkit-scrollbar { width: 4px; height: 4px; }
[data-scrollbar*="size-6"]::-webkit-scrollbar { width: 6px; height: 6px; }
[data-scrollbar*="size-8"]::-webkit-scrollbar { width: 8px; height: 8px; }

[data-scrollbar*="size-10"]::-webkit-scrollbar { width: 10px; height: 10px; }
[data-scrollbar*="size-12"]::-webkit-scrollbar { width: 12px; height: 12px; }
[data-scrollbar*="size-15"]::-webkit-scrollbar { width: 15px; height: 15px; }
[data-scrollbar*="size-20"]::-webkit-scrollbar { width: 20px; height: 20px; }

[data-scrollbar*="gap-1"]::-webkit-scrollbar-thumb { border-left: solid 1px transparent; }
[data-scrollbar*="gap-2"]::-webkit-scrollbar-thumb { border-left: solid 2px transparent; }
[data-scrollbar*="gap-3"]::-webkit-scrollbar-thumb { border-left: solid 3px transparent; }
[data-scrollbar*="gap-4"]::-webkit-scrollbar-thumb { border-left: solid 4px transparent; }
[data-scrollbar*="gap-6"]::-webkit-scrollbar-thumb { border-left: solid 6px transparent; }
[data-scrollbar*="gap-8"]::-webkit-scrollbar-thumb { border-left: solid 8px transparent; }
[data-scrollbar*="gap-10"]::-webkit-scrollbar-thumb { border-left: solid 10px transparent; }
[data-scrollbar*="gap-15"]::-webkit-scrollbar-thumb { border-left: solid 15px transparent; }



