/*** Container ***/
.container {
    margin-left: auto;
    margin-right: auto;
}

/*** Positions ***/
.relative {
    position: relative;
}
.fixed {
    position: fixed;
}
.absolute {
    position: absolute;
}
.sticky {
    position: -webkit-sticky;
    position: sticky;
}

/*** Offsets ***/
.top {
    top: 0;
}
.left {
    left: 0;
}
.right {
    right: 0;
}
.bottom {
    bottom: 0;
}

.top-5 {
    top: 5px;
}
.left-5 {
    left: 5px;
}
.right-5 {
    right: 5px;
}
.bottom-5 {
    bottom: 5px;
}

.top-10 {
    top: 10px;
}
.left-10 {
    left: 10px;
}
.right-10 {
    right: 10px;
}
.bottom-10 {
    bottom: 10px;
}

.top-20 {
    top: 20px;
}
.left-20 {
    left: 20px;
}
.right-20 {
    right: 20px;
}
.bottom-20 {
    bottom: 20px;
}

.toTop {
    bottom: 100%;
}
.toBottom {
    top: 100%;
}
.toLeft {
    right: 100%;
}
.toRight {
    left: 100%;
}

.absolute-center {
    position: absolute;
}
.fixed-center {
    position: fixed;
}
.fixed-center,
.absolute-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/*** Z-Index ***/
.z-index-1 {
    z-index: 1;
}
.z-index-2 {
    z-index: 2;
}
.z-index-3 {
    z-index: 3;
}
.z-index-4 {
    z-index: 4;
}
.z-index-5 {
    z-index: 5;
}
.z-index-10 {
    z-index: 10;
}
.z-index-100 {
    z-index: 100;
}

/*** Floats ***/
.float-left {
    float: left;
}
.float-right {
    float: right;
}

.clear-left {
    clear: left;
}
.clear-right {
    clear: right;
}
.clear {
    clear: both;
}

/*** Displays ***/

.display-none {
    display: none;
}
.block {
    display: block;
}
.inline-block {
    display: inline-block;
}
.grid {
    display: grid;
}
.flex {
    display: flex;
}

.box {
    box-sizing: border-box;
}

/*** Grid ***/
/* Grid Gap */
.grid-gap-1 {
    grid-gap: 1px;
}
.grid-gap-5 {
    grid-gap: 5px;
}
.grid-gap-10 {
    grid-gap: 10px;
}
.grid-gap-20 {
    grid-gap: 20px;
}

/* Grid Template columns */
.grid-col-2 {
    grid-template-columns: 1fr 1fr;
}
.grid-col-3 {
    grid-template-columns: repeat(3, 1fr);
}
.grid-col-4 {
    grid-template-columns: repeat(4, 1fr);
}
.grid-col-5 {
    grid-template-columns: repeat(5, 1fr);
}
/* Grid Template rows */
.grid-row-2 {
    grid-template-rows: 1fr 1fr;
}
.grid-row-3 {
    grid-template-rows: repeat(3, 1fr);
}
.grid-row-4 {
    grid-template-rows: repeat(4, 1fr);
}
.grid-row-5 {
    grid-template-rows: repeat(5, 1fr);
}

/*** Flex ***/
.flex-end-end,
.flex-start-end,
.flex-center-end,
.flex-around-end,
.flex-evenly-end,
.flex-between-end,
.flex-end-start,
.flex-start-start,
.flex-center-start,
.flex-around-start,
.flex-evenly-start,
.flex-between-start,
.flex-end-center,
.flex-start-center,
.flex-center-center,
.flex-around-center,
.flex-evenly-center,
.flex-between-center,
.flex-end-stretch,
.flex-start-stretch,
.flex-center-stretch,
.flex-around-stretch,
.flex-evenly-stretch,
.flex-between-stretch {
    display: flex;
}

.justify-center,
.flex-center-end,
.flex-center-start,
.flex-center-center,
.flex-center-stretch {
    justify-content: center;
}
.justify-between,
.flex-between-end,
.flex-between-start,
.flex-between-center,
.flex-between-stretch {
    justify-content: space-between;
}
.justify-around,
.flex-around-end,
.flex-around-start,
.flex-around-center,
.flex-around-stretch {
    justify-content: space-around;
}
.justify-start,
.flex-start-end,
.flex-start-start,
.flex-start-center,
.flex-start-stretch {
    justify-content: flex-start;
}
.justify-end,
.flex-end-end,
.flex-end-start,
.flex-end-center,
.flex-end-stretch {
    justify-content: flex-end;
}
.justify-evenly,
.flex-evenly-end,
.flex-evenly-start,
.flex-evenly-center,
.flex-evenly-stretch {
    justify-content: space-evenly;
}

.align-start,
.flex-end-start,
.flex-start-start,
.flex-center-start,
.flex-around-start,
.flex-evenly-start,
.flex-between-start {
    align-items: flex-start;
}

.align-end,
.flex-end-end,
.flex-start-end,
.flex-center-end,
.flex-around-end,
.flex-evenly-end,
.flex-between-end {
    align-items: flex-end;
}

.align-center,
.flex-end-center,
.flex-start-center,
.flex-center-center,
.flex-around-center,
.flex-evenly-center,
.flex-between-center {
    align-items: center;
}

.align-stretch,
.flex-end-stretch,
.flex-start-stretch,
.flex-center-stretch,
.flex-around-stretch,
.flex-evenly-stretch,
.flex-between-stretch {
    align-items: stretch;
}

.flex-column {
    flex-direction: column;
}
.row-reverse {
    flex-direction: row-reverse;
}
.flex-wrap {
    flex-wrap: wrap;
}
.flex-grow {
    flex-grow: 1;
}
.flex-basis {
    flex-basis: 100%;
}

/*** Columns ***/
.col-2 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}
.col-3 {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}
.col-4 {
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
}
.col-5 {
    -webkit-column-count: 5;
    -moz-column-count: 5;
    column-count: 5;
}

.col-gap-1 {
    -moz-column-gap: 1px;
    -webkit-column-gap: 1px;
    column-gap: 1px;
}
.col-gap-10 {
    -moz-column-gap: 10px;
    -webkit-column-gap: 10px;
    column-gap: 10px;
}
.col-rule {
    -moz-column-rule: 1px solid var(--light, #AAA);
    -webkit-column-rule: 1px solid var(--light, #AAA);
    column-rule: 1px solid var(--light, #AAA);
}
.col-rule-light {
    -moz-column-rule: 1px solid var(--light, #CCC);
    -webkit-column-rule: 1px solid var(--light, #CCC);
    column-rule: 1px solid var(--light, #CCC);
}
.col-rule-dark {
    -moz-column-rule: 1px solid var(--dark, #555);
    -webkit-column-rule: 1px solid var(--dark, #555);
    column-rule: 1px solid var(--dark, #555);
}

/*** Overflow ***/
.overflow-auto,
.overflow-x-auto {
    overflow-x: auto;
}
.overflow-hidden,
.overflow-x-hidden {
    overflow-x: hidden;
}
.overflow-visible,
.overflow-x-visible {
    overflow-x: visible;
}
.overflow-auto,
.overflow-y-auto {
    overflow-y: auto;
}
.overflow-hidden,
.overflow-y-hidden {
    overflow-y: hidden;
}
.overflow-visible,
.overflow-y-visible {
    overflow-y: visible;
}

/*** Visibility ***/
.hide {
    visibility: hidden;
}
.visible {
    visibility: visible;
}
.visible {
    visibility: collapse;
}

/*** Borders ***/
.border-none {
    border-width: 0;
}

.border,
.border-dark,
.border-light {
    border-width: 1px;
    border-style: solid;
}
.border-top,
.border-top-dark,
.border-top-light {
    border-top-width: 1px;
    border-top-style: solid;
}
.border-right,
.border-right-dark,
.border-right-light {
    border-right-width: 1px;
    border-right-style: solid;
}
.border-bottom,
.border-bottom-dark,
.border-bottom-light {
    border-bottom-width: 1px;
    border-bottom-style: solid;
}
.border-left,
.border-left-dark,
.border-left-light {
    border-left-width: 1px;
    border-left-style: solid;
}

.border-dark,
.border-top-dark,
.border-right-dark,
.border-bottom-dark,
.border-left-dark {
    border-color: var(--dark, #555);
}

.border-light,
.border-top-light,
.border-right-light,
.border-bottom-light,
.border-left-light {
    border-color: var(--light, #CCC);
}

/*** Outline ***/
.outline-none {
    outline: none;
}
.outline {
    outline: 1px solid var(--light, #AAA);
}
.outline-light {
    outline: 1px solid var(--light, #CCC);
}
.outline-dark {
    outline: 1px solid var(--dark, #555);
}

/*** Rounded ***/
.rounded {
    border-radius: 50%;
}
.rounded-3 {
    border-radius: 3px;
}
.rounded-5 {
    border-radius: 5px;
}

/*** Opacity ***/
.opacity-0 {
    opacity: 0;
}
.opacity-1 {
    opacity: .1;
}
.opacity-2 {
    opacity: .2;
}
.opacity-3 {
    opacity: .3;
}
.opacity-4 {
    opacity: .4;
}
.opacity-5 {
    opacity: .5;
}
.opacity-6 {
    opacity: .6;
}
.opacity-7 {
    opacity: .7;
}
.opacity-8 {
    opacity: .8;
}
.opacity-9 {
    opacity: .9;
}
.opacity-10 {
    opacity: 1;
}

/*** Cursors ***/
.cursor-pointer {
    cursor: pointer;
}
.cursor-default {
    cursor: default;
}
.cursor-move {
    cursor: move;
}
.cursor-grab {
    cursor: grab;
}
.cursor-col-resize {
    cursor: col-resize;
}
.cursor-row-resize {
    cursor: row-resize;
}

/*** Events ***/
.no-events {
    pointer-events: none;
}
.all-events {
    pointer-events: all;
}

/**** TEXT ****/
/* Font Size */
.font-none {
    font-size: 0;
}
.font-small {
    font-size: 86%;
}
.font-large {
    font-size: 150%;
}
.font-12 {
    font-size: 12px;
}
.font-13 {
    font-size: 13px;
}
.font-14,
.material-icons.font-14 {
    font-size: 14px;
}
.font-15,
.material-icons.font-15 {
    font-size: 15px;
}
.font-16,
.material-icons.font-16 {
    font-size: 16px;
}
.font-18,
.material-icons.font-18 {
    font-size: 18px;
}
.font-20,
.material-icons.font-20 {
    font-size: 20px;
}
.font-24,
.material-icons.font-24 {
    font-size: 24px;
}
.font-30,
.material-icons.font-30 {
    font-size: 30px;
}
.font-36,
.material-icons.font-36 {
    font-size: 36px;
}
.font-42,
.material-icons.font-42 {
    font-size: 42px;
}

/*** Weight ***/

.bold {
    font-weight: bold;
}

/*** Cases ***/
.uppercase {
    text-transform: uppercase;
}
.lowercase {
    text-transform: lowercase;
}
.capitalize {
    text-transform: capitalize;
}

/*** Aligns ***/
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.text-justify {
    text-align: justify;
}

/*** Underlines ***/
.underline {
    text-decoration: underline;
}
.thickness-2 {
    text-decoration-thickness: 2px;
}
.thickness-3 {
    text-decoration-thickness: 3px;
}
.thickness-4 {
    text-decoration-thickness: 4px;
}
/*** Text Strike ***/
.text-strike {
    text-decoration: line-through;
}

/*** Vertical align ***/
.valign-top {
    vertical-align: top;
}
.valign-middle {
    vertical-align: middle;
}
.valign-bottom {
    vertical-align: bottom;
}
.valign-baseline {
    vertical-align: baseline;
}

/** Images **/
.cover {
    object-fit: cover;
}
.contain {
    object-fit: contain;
}

/*** Wraps ***/
.wrap {
    white-space: normal;
}
.nowrap {
    white-space: nowrap;
}

/*** Resize ***/
.resize-v {
    resize: vertical;
}
.resize-h {
    resize: horizontal;
}
.resize-both {
    resize: both;
}
.resize-none {
    resize: none;
}

/******* List *****/
.circle-marker {
    list-style-type: circle;
}
.disc-marker {
    list-style-type: disc;
}
.disc-square {
    list-style-type: square;
}
.none-marker {
    list-style-type: none;
}

/*** Delimiters ***/
.h-line {
    margin: 0;
    height: 1px;
    border-width: 0;
}
.v-line {
    margin: 0;
    width: 1px;
    height: 100%;
    border-width: 0;
}

/*** Sizes ***/
.full-width {
    width: 100%;
}
.full-height {
    height: 100%;
}
.half-width {
    width: 50%;
}
.half-height {
    height: 50%;
}
.quarter-width {
    width: 25%;
}
.quarter-height {
    height: 25%;
}

/*** Width ***/
.w-8 {
    width: 8px;
}
.w-16 {
    width: 16px;
}
.w-24 {
    width: 24px;
}
.w-32 {
    width: 32px;
}
.w-48 {
    width: 48px;
}
.w-64 {
    width: 64px;
}
.w-128 {
    width: 128px;
}
.w-256 {
    width: 256px;
}
.w-320 {
    width: 320px;
}
.w-450 {
    width: 450px;
}
.w-512 {
    width: 512px;
}
.w-640 {
    width: 640px;
}

.min-w-64 {
    min-width: 64px;
}
.min-w-100 {
    min-width: 100px;
}
.min-w-200 {
    min-width: 200px;
}
.min-w-300 {
    min-width: 300px;
}
.min-w-400 {
    min-width: 400px;
}
.min-w-500 {
    min-width: 500px;
}
.min-w-600 {
    min-width: 600px;
}
.min-w-700 {
    min-width: 700px;
}
.min-w-800 {
    min-width: 800px;
}

.max-w-320 {
    max-width: 320px;
}
.max-w-640 {
    max-width: 640px;
}
.max-w-720 {
    max-width: 720px;
}
.max-w-860 {
    max-width: 860px;
}
.max-w-920 {
    max-width: 920px;
}
.max-w-1024 {
    max-width: 1024px;
}

/*** Height ***/
.h-8 {
    height: 8px;
}
.h-16 {
    height: 16px;
}
.h-24 {
    height: 24px;
}
.h-32 {
    height: 32px;
}
.h-48 {
    height: 48px;
}
.h-64 {
    height: 64px;
}

.h-128 {
    height: 128px;
}
.h-256 {
    height: 256px;
}
.h-320 {
    height: 320px;
}
.h-450 {
    height: 450px;
}
.h-512 {
    height: 512px;
}
.h-640 {
    height: 640px;
}

.min-h-64 {
    min-height: 64px;
}
.min-h-128 {
    min-height: 128px;
}
.min-h-256 {
    min-height: 256px;
}
.min-h-320 {
    min-height: 320px;
}
.min-h-512 {
    min-height: 512px;
}
.min-h-640 {
    min-height: 640px;
}



/*** Margins ***/
/* margin: 0 */
.mt-0,
.my-0,
.m-0 {
    margin-top: 0;
}
.mb-0,
.my-0,
.m-0 {
    margin-bottom: 0;
}
.ml-0,
.mx-0,
.m-0 {
    margin-left: 0;
}
.mr-0,
.mx-0,
.m-0 {
    margin-right: 0;
}

/* margin: 5px */
.mt-5,
.my-5,
.m-5 {
    margin-top: 5px;
}
.mb-5,
.my-5,
.m-5 {
    margin-bottom: 5px;
}
.ml-5,
.mx-5,
.m-5 {
    margin-left: 5px;
}
.mr-5,
.mx-5,
.m-5 {
    margin-right: 5px;
}

/* margin: 10px */
.mt-10,
.my-10,
.m-10 {
    margin-top: 10px;
}
.mb-10,
.my-10,
.m-10 {
    margin-bottom: 10px;
}
.ml-10,
.mx-10,
.m-10 {
    margin-left: 10px;
}
.mr-10,
.mx-10,
.m-10 {
    margin-right: 10px;
}

/* margin: 20px */
.mt-20,
.my-20,
.m-20 {
    margin-top: 20px;
}
.mb-20,
.my-20,
.m-20 {
    margin-bottom: 20px;
}
.ml-20,
.mx-20,
.m-20 {
    margin-left: 20px;
}
.mr-20,
.mx-20,
.m-20 {
    margin-right: 20px;
}

/* margin: 30px */
.mt-30,
.my-30,
.m-30 {
    margin-top: 30px;
}
.mb-30,
.my-30,
.m-30 {
    margin-bottom: 30px;
}
.ml-30,
.mx-30,
.m-30 {
    margin-left: 30px;
}
.mr-30,
.mx-30,
.m-30 {
    margin-right: 30px;
}

/*** Paddings ***/
/* padding: 0 */
.pt-0,
.py-0,
.p-0 {
    padding-top: 0;
}
.pb-0,
.py-0,
.p-0 {
    padding-bottom: 0;
}
.pl-0,
.px-0,
.p-0 {
    padding-left: 0;
}
.pr-0,
.px-0,
.p-0 {
    padding-right: 0;
}

/* padding: 5px */
.pt-5,
.py-5,
.p-5 {
    padding-top: 5px;
}
.pb-5,
.py-5,
.p-5 {
    padding-bottom: 5px;
}
.pl-5,
.px-5,
.p-5 {
    padding-left: 5px;
}
.pr-5,
.px-5,
.p-5 {
    padding-right: 5px;
}

/* padding: 10px */
.pt-10,
.py-10,
.p-10 {
    padding-top: 10px;
}
.pb-10,
.py-10,
.p-10 {
    padding-bottom: 10px;
}
.pl-10,
.px-10,
.p-10 {
    padding-left: 10px;
}
.pr-10,
.px-10,
.p-10 {
    padding-right: 10px;
}

/* padding: 20px */
.pt-20,
.py-20,
.p-20 {
    padding-top: 20px;
}
.pb-20,
.py-20,
.p-20 {
    padding-bottom: 20px;
}
.pl-20,
.px-20,
.p-20 {
    padding-left: 20px;
}
.pr-20,
.px-20,
.p-20 {
    padding-right: 20px;
}

/* padding: 30px */
.pt-30,
.py-30,
.p-30 {
    padding-top: 30px;
}
.pb-30,
.py-30,
.p-30 {
    padding-bottom: 30px;
}
.pl-30,
.px-30,
.p-30 {
    padding-left: 30px;
}
.pr-30,
.px-30,
.p-30 {
    padding-right: 30px;
}

/* padding: 40px */
.pt-40,
.py-40,
.p-40 {
    padding-top: 40px;
}
.pb-40,
.py-40,
.p-40 {
    padding-bottom: 40px;
}
.pl-40,
.px-40,
.p-40 {
    padding-left: 40px;
}
.pr-40,
.px-40,
.p-40 {
    padding-right: 40px;
}

/*** Backgrounds ***/

/*** Attachment ***/
.attachment-fixed {
    background-attachment: fixed;
}
.attachment-local {
    background-attachment: local;
}

.transparent {
    background-color: transparent;
}

.white-bg {
    background-color: white;
}
.white-bg-1 {
    background-color: #FFFFFF11;
}
.white-bg-2 {
    background-color: #FFFFFF22;
}
.white-bg-3 {
    background-color: #FFFFFF33;
}
.white-bg-4 {
    background-color: #FFFFFF44;
}
.white-bg-5 {
    background-color: #FFFFFF55;
}
.white-bg-6 {
    background-color: #FFFFFF66;
}
.white-bg-7 {
    background-color: #FFFFFF77;
}
.white-bg-8 {
    background-color: #FFFFFF88;
}
.white-bg-9 {
    background-color: #FFFFFF99;
}
.white-bg-a {
    background-color: #FFFFFFAA;
}
.white-bg-b {
    background-color: #FFFFFFBB;
}
.white-bg-c {
    background-color: #FFFFFFCC;
}
.white-bg-d {
    background-color: #FFFFFFDD;
}
.white-bg-e {
    background-color: #FFFFFFEE;
}

.black-bg {
    background-color: black;
}
.black-bg-1 {
    background-color: #00000011;
}
.black-bg-2 {
    background-color: #00000022;
}
.black-bg-3 {
    background-color: #00000033;
}
.black-bg-4 {
    background-color: #00000044;
}
.black-bg-5 {
    background-color: #00000055;
}
.black-bg-6 {
    background-color: #00000066;
}
.black-bg-7 {
    background-color: #00000077;
}
.black-bg-8 {
    background-color: #00000088;
}
.black-bg-9 {
    background-color: #00000099;
}
.black-bg-a {
    background-color: #000000AA;
}
.black-bg-b {
    background-color: #000000BB;
}
.black-bg-c {
    background-color: #000000CC;
}
.black-bg-d {
    background-color: #000000DD;
}
.black-bg-e {
    background-color: #000000EE;
}


/*** Text Colors ***/
.white-txt{
    color: white;
}
.black-txt{
    color: black;
}

/*** COMPONENTS ***/
/*** Video Frame ***/
.video-frame {
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%;
}
.video-frame > img,
.video-frame > video,
.video-frame > object,
.video-frame > iframe {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
}

/*** BreadCrumbs ***/
.breadcrumbs > a {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.breadcrumbs > a:not(:last-child)::after {
    content: "❭";
}
.breadcrumbs > a:last-child {
    pointer-events: none;
}

/*** Vertical Orientation ***/
@media (orientation: portrait) {
    /*** Displays ***/
    .display-none-pt {
        display: none;
    }
    .block-pt {
        display: block;
    }
    .inline-block-pt {
        display: block;
    }
    .flex-pt {
        display: flex;
    }
    .grid-pt {
        display: grid;
    }
    /*** Floats ***/
    .float-left-pt {
        float: left;
    }
    .float-right-pt {
        float: right;
    }
    /*** Columns ***/
    .col-2-pt {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .col-3-pt {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
}
/*** Horizontal Orientation ***/
@media (orientation: landscape) {
    /*** Displays ***/
    .display-none-ls {
        display: none;
    }
    .block-ls {
        display: block;
    }
    .inline-block-ls {
        display: block;
    }
    .flex-ls {
        display: flex;
    }
    .grid-ls {
        display: grid;
    }
    /*** Floats ***/
    .float-left-ls {
        float: left;
    }
    .float-right-ls {
        float: right;
    }
    /*** Columns ***/
    .col-2-ls {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .col-3-ls {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
    .col-4-ls {
        -webkit-column-count: 4;
        -moz-column-count: 4;
        column-count: 4;
    }
    .col-5-ls {
        -webkit-column-count: 5;
        -moz-column-count: 5;
        column-count: 5;
    }
}
