﻿@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,700');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display&display=swap');

:root {
    --background-color-primary: #2377A9;
    --background-color-secondary: #FCB040;
    --background-color-tertiary: #FAFAFA;
    --color-primary: #2377A9;
    --color-secondary: #454545;
    --color-tertiary: #AAA;
}

* {
    user-select: none; /* supported by Chrome and Opera */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
}

.mNone {
    display: none;
}
.dNone {
    display: initial;
}

body {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: 'Open Sans', sans-serif;
    background: #f5f5f5;
    padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0) env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0);
}

h1 {
    text-transform: uppercase;
    font-weight: 800;
    font-size: .9em;
    position: relative;
}

h2 {
    line-height: 1.25em;
    font-weight: 600;
    font-size: .85em;
    color: var(--color-primary);
    position: relative;
}

h3 {
    font-size: .8em;
    font-weight: 600;
    color: var(--color-secondary);
    position: relative;
}

h5 {
    font-size: .8em;
    color: var(--color-secondary);
    position: relative;
}

h6 {
    font-size: .7em;
    color: var(--color-secondary);
    position: relative;
}

p {
    font-size: .8em;
    line-height: 1.4em;
    position: relative;
}
    p.wS {
        white-space: pre-line;
    }

a,
m-a {
    font-size: .7em;
    color: var(--color-primary);
    margin-top: .5em;
    text-decoration: underline;
}

    m-a.auto {
        font-size: inherit;
    }

    a:hover {
        text-decoration: underline;
    }

.hidden {
    visibility: hidden;
}

.none {
    display: none;
}

.c {
    text-align: center;
}

.wH {
    color: #FFF !important;
}

.caps {
    text-transform: uppercase;
}

.nH:hover {
    cursor: initial !important;
}
.h:hover {
    cursor: pointer;
}

.tR {
    background-color: transparent;
}

ul {
    margin-left: 2em;
    margin-bottom: 1em;
    font-size: .8em;
}
ul li {
    margin-bottom: .35em;
}

.adsbygoogle {
    width: 100%;
}

.background-primary {
    background-color: var(--background-color-primary);
}
.background-secondary {
    background-color: var(--background-color-secondary);
}
.background-tertiary {
    background-color: var(--background-color-tertiary);
}

.color-primary {
    color: var(--color-primary);
}
.color-secondary {
    color: var(--color-secondary);
}
.color-tertiary {
    color: var(--color-tertiary);
}

.tabBar {
    background: transparent;
    padding: 10px;
    font-weight: bold;
    font-size: 18px;
    width: 100%;
}

.tabBar h1 {
    width: 100%;
    text-align: left;
}

    .tabBar .state {
        color: var(--color-primary);
    }

.post {
    padding: 0;
    margin: 0;
}

    .post.title.abs {
        position: absolute;
        top: 10%;
        left: 0;
    }
    .post.title {
        margin-top: .5em;
        margin-bottom: .15em;
        max-width: 75%;
    }
    .post.title h1 {
        background-color: var(--background-color-primary);
        color: #FFF;
        font-weight: 800;
        padding: .25em 1.5em .25em 1em;
        border-radius: 0px 100px 100px 0px;
    }
    .post.title h2 {
        background-color: #8CC63E;
        color: #FFF;
        padding: .25em 1.5em .25em 1em;
        border-radius: 0px 100px 100px 0px;
        width: fit-content;
    }

        .post.title h2.update {
            background-color: var(--background-color-secondary);
            color: #000;
            margin: 0;
            padding: .25em 1.5em .25em 1em;
            border-radius: 0px 100px 100px 0px;
            width: fit-content;
        }

/* Visual indication for active filter */
.applied {
    position: relative;
    color: #FCB040; /* Optional: blue tint */
}

    /* Add a small dot in top-right corner */
    .applied::after {
        content: '';
        position: absolute;
        top: 6px;
        right: 6px;
        width: 8px;
        height: 8px;
        background: #FCB040; /* red dot */
        border-radius: 50%;
        animation: pulseDot 1s ease-in-out infinite;
    }

/* Optional pulse animation */
@keyframes pulseDot {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.6;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.park {
    border-radius: 50%;
    background-color: var(--background-color-primary);
    color: #fff;
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    height: 100px;
    min-height: 100px;
    max-height: 100px;
    margin-right: .25em;
    border: 1px solid #AAA;
}
    .park.fb {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
        height: 100px;
        min-height: 100px;
        max-height: 100px;
        background-position: center center;
        background-size: contain;
        margin-right: .25em;
    }
        .park.fb.selected {
            border: 2px solid var(--background-color-secondary);
            box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
        }

.post.actions h1 {
    color: var(--background-color-primary);
}

.reputation .counter {
    z-index: 2;
}
.counter .member-tickets h4 {
    position: absolute;
    z-index: 1;
    font-weight: 800;
    font-size: .75em;
    color: #000;
}
m-global .counter .member-tickets {
    right: 10%;
    bottom: 15%;
}
.counter .member-tickets {
    position: absolute;
    right: -16%;
    bottom: -4%;
    width: 16px;
    min-width: 16px;
    max-width: 16px;
    height: 16px;
    min-height: 16px;
    max-height: 16px;
}
    .counter .member-tickets,
    .counter .member-tickets i,
    .counter .member-tickets i svg {
        background-color: transparent !important;
        color: #FCB040 !important;
        fill: #FCB040 !important;
    }

.notification-bell h4 {
    width: 20px;
    min-width: 20px;
    max-width: 20px;
    height: 20px;
    min-height: 20px;
    max-height: 20px;
    line-height: 20px;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    font-weight: 600;
    font-size: .7em;
    z-index: 1;
    top: 0;
    left: -5px;
    border-radius: 50%;
    background-color: red;
    color: #FFF;
}

m-dot {
    border-radius: 50%;
    width: 10px;
    min-width: 10px;
    max-width: 10px;
    height: 10px;
    min-height: 10px;
    max-height: 10px;
    line-height: 10px;
    background-color: red;
}

.update.content {
    background: #2377A9;
    color: #FFF;
}
    .reputation.card .update.content p {
        color: #FFF;
    }
.update.content h6 {
    color: #FFF;
}

.reaction-container {
    position: absolute;
    top: -50%;
    right: 1em;
}

.reaction-container .reaction-options,
.reputation .interaction {
    position: absolute;
    z-index: 1;
    background: #FFF;
    height: 80px;
    width: 26px;
    right: 0;
    border-radius: 13px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}
.reputation .interaction {

}
    .reputation .interaction .btnUpVoteReputation {
        position: absolute;
        top: 2px;
        background: transparent;
        font-size: 1.25em;
    }
    .reputation .interaction .btnDownVoteReputation {
        position: absolute;
        bottom: 2px;
        background: transparent;
        font-size: 1.25em;
    }

.reputation.card {
    color: #2377A9;
}
.reputation.card m-image {
    width: 80px;
    height: 100px;
}

.reputation.card .post.title {
    max-width: 100%;
}
    .reputation.card .post.title h1 {
        width: fit-content;
        max-width: 100%;
        font-size: .75em;
    }
    .reputation.card .post.title h2 {
        font-size: .7em;
    }
    .reputation.card p {
        color: #000;
    }
 
.reaction-container .reaction-options {
    height: 250px;
    width: 48px;
    border-radius: 25px;
    z-index: 99;
    bottom: 0;
}
    .reaction-container .reaction-options .reaction-select {
        position: relative; /* needed for label absolute positioning */
        margin: 0 .25em;
    }
.reaction-container .reaction m-flex.sm,
.reaction-container .reaction-select {
    min-width: 50px;
    max-width: 50px;
    width: 50px;
    min-height: 50px;
    max-height: 50px;
    height: 50px;
    border-radius: 50%;
}
    .reaction-container .reaction m-flex.sm i,
    .reaction-container .reaction m-flex.sm svg,
    .reaction-container .reaction-select i,
    .reaction-container .reaction-select svg {
        width: 2.5em;
        height: 2.5em;
    }

    .reaction-container .reaction-select .reaction-label {
        position: absolute;
        right: 120%; /* stick to the left side of the icon */
        top: 50%;
        transform: translateY(-50%);
        z-index: 1;
        background: #fff;
        padding: 0.25rem 0.5rem;
        border-radius: 999px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        font-size: 0.7rem;
        color: var(--text);
        line-height: 1;
        white-space: nowrap;
        text-align: right; /* 👈 key */
        direction: rtl; /* 👈 flips content flow so padding is still correct */
        opacity: 0.95;
    }

.personality {
    position: relative;
    justify-content: center;
    align-items: center;
}
.personality .reaction {
    position: absolute;
    top: 15.5%;
    width: 37%;
}
    .personality .stage {
        width: 100%;
    }

.comment {
    position: fixed;
    z-index: 99;
    bottom: 0px;
    background: #FFF;
    width: 100%;
    box-shadow: 0 -3px 1px rgba(0, 0, 0, .12);
}
m-overlay .comment m-button {
    margin-bottom: 0 !important;
}

[loading] img {
    width: fit-content;
    margin: 0 auto;
    max-height: 80vh;
    max-width: 60vw;
}

.username {
    justify-content: start !important;
    align-items: start !important;
}
p span i {
    font-size: .7em;
    vertical-align: middle;
    margin-left: .25em;
}
    .username i {
        font-size: .6em;
        color: #2377A9;
        margin-left: .25em;
    }
    .username i.icon-trust {
        color: #dc3545;
    }

m-card.primary .username i {
    color: #FFF;
}

.reaction-label {
    font-size: 1rem;
    color: var(--text);
    white-space: nowrap;
}


.badge-view {
    justify-content: center;
    align-items: center;
    height: 100vh;
    padding-bottom: 60px !important;
}
.badge-view h1 {
    font-size: 2em;
}
    .badge-view h2 {
        font-size: 1.5em;
        text-transform: uppercase;
    }
    .badge-view p {
        font-size: .8em;
        text-align: center;
        width: 100%;
    }
    .badge-view img {
        width: 80%;
    }
    .badge-view .tiers {
        width: 100%;
        height: 60px;
        background: #FFF;
        justify-content: center;
        align-items: center;
        position: fixed;
        z-index: 1;
        bottom: 0px;
        background: #FFF;
        width: 100%;
        box-shadow: 0 -3px 1px rgba(0, 0, 0, .12);
    }
        .badge-view .tiers .tier-icon {
            width: 10%;
            height: 60px;
            max-height: 60px;
            aspect-ratio: 1 / 1;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
        }
        .badge-view .tiers .tier-icon:hover {
            cursor: pointer;
        }

            .badge-view .tiers .tier-icon img {
                max-height: 40px;
                position: relative;
                z-index: 1;
            }
            .badge-view .tiers .tier-icon.disabled img {
                opacity: 0.2;
            }

            .badge-view .tiers .tier-icon.is-selected::after {
                content: '';
                position: absolute;
                width: 100%;
                height: 70px;
                bottom: -1px;
                left: 0;
                background: #DDD;
                border: 1px solid #2377A9;
                border-radius: 6px 6px 0 0;
                z-index: 0;
            }


    .badge-view .img-slider-arrow {
        color: #2377A9;
    }

    .badge {
        width: 100%;
        margin-bottom: .5em;
    }

    .badge h1 {
        white-space: nowrap;
    }

.badge .info {
    width: 100%;
    padding: 0;
}
    .badge .info h2 {
        font-size: .9em;
    }
    .badge .info h4 {
        font-size: .85em;
    }
    .badge .info h6 {
        font-size: .75em;
    }

    .badge img {
        height: 100%;
        max-height: 50px;
        aspect-ratio: 1/1;
    }
    .badge .locked img,
    .badge .tiers img {
        height: 100%;
        max-height: 25px;
        aspect-ratio: 1/1;
    }

    .btnOpenBodyAccountViewMember:hover {
        cursor: pointer;
    }

    .badge img.disabled {
        opacity: .2;
    }

    .badge .icon.xl {
        min-width: 100px;
        max-width: 100px;
        height: 100px;
        justify-content: center;
        align-items: center;
    }

        .badge .icon.xl i,
        .badge .icon.xl svg {
            width: 5em;
            height: 100%;
        }

    .badge .icon.lg {
        min-width: 80px;
        max-width: 80px;
        height: 80px;
        justify-content: center;
        align-items: center;
    }

        .badge .icon.lg i,
        .badge .icon.lg svg {
            width: 4.5em;
            height: 100%;
        }

    .badge h4 {
        font-size: .75em;
        margin-left: 0;
    }

    .badge .progress-bar-container {
        background-color: #e0e0e0;
        height: 8px;
        width: 100%;
        border-radius: 4px;
        overflow: hidden;
        margin: 4px 0;
    }

    .badge .progress-bar-fill {
        background-color: #4caf50;
        height: 100%;
        transition: width 0.3s ease;
    }

.badge .progress-bar-fill.complete {
    background-color: #FCB040;
}

    .badge .progress-bar-labels {
        display: flex;
        justify-content: space-between;
        font-size: 0.75rem;
        color: #555;
        margin-left: 1em;
    }
    .badge .progress-bar-labels span:first-child {
        margin-right: .25em;
        font-weight: 800;
    }
        .badge .progress-bar-labels span:last-child {
            margin-left: .25em;
        }


/*--M-GLOBAL---------------------------------------------------------------*/
m-global {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #FFF;
    box-shadow: 0 -3px 1px rgba(0,0,0,0.12);
    z-index: 999;
    min-height: 60px;
    color: var(--color-primary);
    padding-bottom: env(safe-area-inset-bottom);
}

    m-global m-flex {
        height: 60px;
        transition: opacity .35s;
    }

    m-global span {
        display: none;
    }

    m-global m-flex.sm {
        min-width: 50px;
        max-width: 50px;
        height: 50px;
        font-size: 1.2em;
    }
        m-global m-flex.sm i,
        m-global m-flex.sm svg {
            width: 1.5em;
            fill: var(--background-color-primary);
        }

    m-global m-flex.active span {
        color: var(--color-primary);
        /*font-weight: 600;*/
    }
    m-global m-flex.active i,
    m-global m-flex.active svg {
        fill: var(--background-color-secondary);
    }

    m-global img {
        width: 150px;
        margin-bottom: 2em;
    }

    m-global .home {
        position: absolute;
        top: -110%;
        bottom: initial;
        right: 25px;
        left: initial;
    }

        m-global .home > m-card svg {
            position: absolute;
            bottom: 41px;
            right: 5%;
            width: 90%;
            display: block;
            z-index: 1;
            height: initial;
            padding: .5em;
            border-top: 1px solid #CCC;
            border-left: 1px solid #CCC;
            border-right: 1px solid #CCC;
            border-radius: 5px 5px 0px 0px;
            background: #fff;
        }
        m-global .home > m-flex {
            background-color: var(--background-color-primary);
            border-radius: 50%;
            width: 50px;
            min-width: 50px;
            max-width: 50px;
            height: 50px;
            min-height: 50px;
            max-height: 50px;
            box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
        }

        m-global .home > m-card > m-flex {
            padding: 0 0 0 .5em;
            height: 40px;
        }

        m-global .home > m-card > m-flex h3 {
            font-size: .7em;
        }
            m-global .home > m-card > m-flex h6 {
                font-size: .6em;
            }

        m-global .home.active {
            background-color: #D55636;
        }

        m-global .home > m-card {
            position: absolute;
            right: 5vw;
            top: 10px;
            bottom: initial;
            z-index: -1;
            width: 70vw;
        }

            m-global .home > m-card > m-flex {
                height: 40px;
            }

.txt-go-no-go {
    font-size: .65em;
    font-weight: 600;
    color: #AAA !important;
    text-transform: none;
    vertical-align: .1em;
}
    .txt-minutes {
        font-size: .5em;
        color: #AAA !important;
        text-transform: none;
    }
#lstLocationWaitTime m-card .txt-minutes {
    font-size: .8em;
}

.text-muted {
    color: #666;
}
.txt-green {
    color: #3CB371 !important;
}
/* or your preferred green */
.txt-red {
    color: #D9534F !important;
}

    m-global m-flex.home m-flex.sm i,
    m-global m-flex.home m-flex.sm svg,
    m-global m-flex.home.active m-flex.sm i,
    m-global m-flex.home.active m-flex.sm svg {
        fill: #FFF;
    }
/*--M-GLOBAL---------------------------------------------------------------*/

    m-global m-flex.sm .icon-search,
    m-global m-flex.sm .icon-search > svg {
        width: 1.75em;
        height: 1.75em;
    }

m-global m-flex.sm .icon-user-male-circle,
m-global m-flex.sm .icon-fresh-baked_cleaned-up_construction,
m-global m-flex.sm .icon-parks,
m-global m-flex.sm .icon-parkscience_logo,
m-global m-flex.sm .icon-streetteam_logo,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-16,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-17,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-18,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-19,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-20,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-21,
m-global m-flex.sm .icon-user-male-circle > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up_construction > svg,
m-global m-flex.sm .icon-parks > svg,
m-global m-flex.sm .icon-parkscience_logo > svg,
m-global m-flex.sm .icon-streetteam_logo > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-16 > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-17 > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-18 > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-19 > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-20 > svg,
m-global m-flex.sm .icon-fresh-baked_cleaned-up-21 > svg,
.icon-fresh-baked_cleaned-up_construction,
.icon-parks,
.icon-parkscience_logo,
.icon-streetteam_logo,
.icon-fresh-baked_cleaned-up-16,
.icon-fresh-baked_cleaned-up-17,
.icon-fresh-baked_cleaned-up-18,
.icon-fresh-baked_cleaned-up-19,
.icon-fresh-baked_cleaned-up-20,
.icon-fresh-baked_cleaned-up-21,
.icon-fresh-baked_cleaned-up_construction > svg,
.icon-parks > svg,
.icon-parkscience_logo > svg,
.icon-streetteam_logo > svg,
.icon-fresh-baked_cleaned-up-16 > svg,
.icon-fresh-baked_cleaned-up-17 > svg,
.icon-fresh-baked_cleaned-up-18 > svg,
.icon-fresh-baked_cleaned-up-19 > svg,
.icon-fresh-baked_cleaned-up-20 > svg,
.icon-fresh-baked_cleaned-up-21 > svg {
    width: 2em;
    height: 2em;
}

/*
    m-global m-flex.sm .icon-fresh-baked_cleaned-up-19,
    m-global m-flex.sm .icon-fresh-baked_cleaned-up-19 > svg {
        width: 2.5em;
        height: 2.5em;
    }

.btnOpenOverlayCreatePost {
    height: 70px;
    background: #FFF;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    padding: 0 1em !important;
    border-radius: .5em .5em 0 0;
}
*/

/*--M-BAR-------------------------------------------------------------------------------*/
m-bar {
    height: 20px;
    width: 100%;
    background-color: #EEE;
    border-radius: 2px;
    display: flex;
    align-items: center;
    position: relative;
}

    m-bar span {
        height: 20px;
        border-radius: 2px;
        background-color: var(--color-primary);
        position: absolute;
        display: block;
    }
    m-bar h6 {
        font-size: .7em;
        color: #FFF;
        margin-left: .5em;
    }

.drop-zone {
    width: 100%;
    max-width: 400px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--color-primary);
    border-radius: 5px;
    background-color: #f9f9f9;
    text-align: center;
    font-size: .9em;
    font-weight: 500;
    color: var(--color-primary);
    cursor: pointer;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    position: relative;
    margin: auto;
}

    .drop-zone:hover,
    .drop-zone.dragover {
        background-color: #e0f0ff;
        border-color: var(--color-primary);
    }

    .drop-zone input {
        position: absolute;
        width: 100%;
        height: 100%;
        opacity: 0;
        cursor: pointer;
    }
/*--M-BAR-------------------------------------------------------------------------------*/

/*--M-BUTTON-------------------------------------------------------------------------------*/
m-button {
    padding: 0 1em;
    height: 40px;
    line-height: 40px;
    display: inline-block;
    text-transform: none;
    font-size: .85em;
    text-align: center;
    position: relative;
    border-radius: 3px;
    border: 0;
    position: relative;
    transition: all .35s;
}
    m-button:hover {
        box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    }
    m-button[data-type="primary"] {
        background-color: var(--background-color-primary);
        color: #FFF;
    }

        m-card.primary.post,
        #lstComment m-card.primary {
            background: var(--background-color-primary);
            color: #FFF;
        }
            m-card.primary.post h6 span,
            m-card.primary.post h6,
            #lstComment m-card.primary h6 span,
            #lstComment m-card.primary h6 {
                color: #FFF;
            }

    m-button[data-type="secondary"],
    m-button[data-type="tertiary"].selected {
        background-color: var(--color-primary);
        color: #FFF;
        border: 1px solid transparent;
    }
        m-button[data-type="secondary"].gradient {
            background: linear-gradient(90deg, rgba(45,163,220,1) 0%, rgba(127,184,0,1) 100%);
        }
    m-button[data-type="tertiary"] {
        background-color: var(--background-color-tertiary);
        color: #454545;
        border: 1px solid #CCC;
        transition: all .35s;
    }
        m-button[data-type="tertiary"].green {
            background: rgba(127,184,0,1);
            color: #FFF;
        }
        m-button[data-type="tertiary"].red {
            background: #dc3545;
            color: #FFF;
        }

    m-button[data-type="white"] {
        background-color: #FFF;
        border: 1px solid #DDD;
        color: #454545;
        transition: all .35s;
    }
        m-button[data-type="white"]:hover {
            background-color: #2377A9;
            color: #FFF;
        }
        m-button:hover {
            cursor: pointer;
        }

    m-button.sQ {
        width: 32%;
        max-width: 32%;
        height: 50px;
        max-height: 50px;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        line-height: 18px;
        font-size: .8em;
    }

    m-button.sm {
        height: 30px;
        line-height: 30px;
        padding-left: 1em;
        padding-right: 1em;
        font-size: .8em;
    }

    m-button.disabled,
    m-button.disabled:active,
    m-button.disabled:focus,
    m-button.disabled:hover {
        background-color: rgba(200,200,200,.1) !important;
        background: rgba(200,200,200,.1) !important;
        color: rgba(0,0,0,.25) !important;
        background-image: none;
        -webkit-box-shadow: 0px 0px 0px 0px rgba(69,69,69,0);
        box-shadow: 0px 0px 0px 0px rgba(69,69,69,0);
        cursor: not-allowed;
    }

    m-button svg {
        vertical-align: 2em;
    }

    m-button.file {
        font-size: .75em;
        padding: 0 .5em;
    }

/*--M-BUTTON-------------------------------------------------------------------------------*/
.img-control.delete {
    position: absolute;
    top: -0.5rem;
    right: -0.5rem;
    background: #FFF;
    border: 1px solid #DDD;
    font-size: 1.1em;
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
    border-radius: 50%;
    padding: 0rem;
    cursor: pointer;
    z-index: 2;
}

/*--M-FLEX-------------------------------------------------------------------------------*/
m-flex {
    display: flex;
    padding: 1em;
    position: relative;
}
    .h100 {
        min-height: 100vh;
    }
    .wI {
        width: initial;
        max-width: initial;
    }
    m-flex.abs {
        position: absolute;
        z-index: 100000;
        top: 2px;
        right: 2px;
    }
    .w,
    m-flex.w {
        width: 100%;
        max-width: 100%;
    }
    .w85,
    m-flex.w85 {
        width: 85%;
    }
    .w80,
    m-flex.w80 {
        width: 80%;
    }
    .w75,
    m-flex.w75 {
        width: 75%;
    }
    .w70,
    m-flex.w70 {
        width: 70%;
    }
    .w60,
    m-flex.w60 {
        width: 60%;
    }
    .w50,
    m-flex.w50 {
        width: 50%;
    }
    .w49,
    m-flex.w49 {
        width: 49%;
    }
    .w40,
    m-flex.w40 {
        width: 40%;
    }
    .w35,
    m-flex.w35 {
        width: 35%;
    }
    .w33,
    m-flex.w33 {
        width: 33%;
    }
    .w32,
    m-flex.w32 {
        width: 32%;
    }
    .w30,
    m-flex.w30 {
        width: 30%;
    }
    .w25,
    m-flex.w25 {
        width: 25%;
    }
    .w20,
    m-flex.w20 {
        width: 20%;
    }
    .w19,
    m-flex.w19 {
        width: 19%;
        margin: 0 .5%;
    }
    .w15,
    m-flex.w15 {
        width: 15%;
    }
    .w14,
    m-flex.w14 {
        width: 14%;
    }
    .w10,
    m-flex.w10 {
        width: 10%;
    }
    m-flex.disabled {
        opacity: .5 !important;
    }
    m-flex.absolute {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 100;
        background-color: #fff;
    }

    m-flex[data-type="row"] {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
        m-flex[data-type="row"].u {
            align-items: unset;
        }
        m-flex[data-type="row"].c {
            justify-content: center;
            align-items: center;
        }
        m-flex[data-type="row"].s {
            justify-content: flex-start;
            align-items: flex-start;
        }
        m-flex[data-type="row"].sC {
            justify-content: flex-start;
            align-items: center;
        }
        m-flex[data-type="row"].sB {
            justify-content: space-between;
        }
        m-flex[data-type="row"].sA {
            justify-content: space-around;
            flex-wrap: wrap;
        }
        m-flex[data-type="row"].e {
            justify-content: flex-end;
        }
        m-flex[data-type="row"].eA {
            align-items: flex-end;
        }
    m-flex[data-type="col"] {
        flex-direction: column;
        justify-content: center;    
    }
        m-flex[data-type="col"].c {
            justify-content: center;
            align-items: center;
        }
        m-flex[data-type="col"].s {
            justify-content: flex-start;
            align-items: flex-start;
        }
        m-flex[data-type="col"].sC {
            justify-content: center;
            align-items: flex-start;
        }
        m-flex[data-type="col"].e {
            justify-content: end;
            align-items: flex-end;
        }
        
    m-flex.footer {
        padding: .5em;
        justify-content: flex-end;
    }
        .footer m-button {
            margin-left: .5em;
        }
    .n,
    m-flex.n {
        padding: 0;
        margin: 0;
    }
    .pT,
    m-flex.pT {
        padding-top: 1em;
    }
    .pTH,
    m-flex.pTH {
        padding-top: .5em;
    }
    .pB,
    m-flex.pB {
        padding-bottom: 1em;
    }
    .pBH,
    m-flex.pBH {
        padding-bottom: .5em;
    }
    .pTB,
    m-flex.pTB {
        padding-top: 1em;
        padding-bottom: 1em;
    }
    .pL,
    m-flex.pL {
        padding-left: 1em;
    }
    .pLH,
    m-flex.pLH {
        padding-left: .5em;
    }
    .pR,
    m-flex.pR {
        padding-right: 1em;
    }
    .pRH,
    m-flex.pRH {
        padding-right: .5em;
    }
    .pLR,
    m-flex.pLR {
        padding-left: 1em;
        padding-right: 1em;
    }
    .mT,
    m-flex.mT {
        margin-top: 1em;
    }
    .mTH,
    m-flex.mTH {
        margin-top: .5em;
    }
    .mB,
    m-flex.mB {
        margin-bottom: 1em;
    }
    .mBH,
    m-flex.mBH {
        margin-bottom: .5em;
    }
    .mL,
    m-flex.mL {
        margin-left: 1em;
    }
    .mLH,
    m-flex.mLH {
        margin-left: .5em !important;
    }
    .mR,
    m-flex.mR {
        margin-right: 1em !important;
    }
    .mRH,
    m-flex.mRH {
        margin-right: .5em !important;
    }
    .mA,
    m-flex.mA {
        margin: 0 auto !important;
    }
    m-flex.wR {
        flex-wrap: wrap;
    }
    m-flex.bW {
        background-color: #FFF;
    }
    m-flex.bG {
        background-color: #f8f8f8;
    }
.tG m-flex.sQ {
    width: 30%;
    min-width: 30%;
    max-width: 30%;
    height: 25px;
    border-radius: 2px;
    justify-content: center;
    border: 1px solid #CCC;
}
    m-flex.sQ {
        width: 100%;
        min-width: 40px;
        max-width: 40px;
        height: 40px;
        border-radius: 3px;
        justify-content: center;
    }
        m-flex.sQ.circle {
            border-radius: 50%;
        }
        m-flex.sQ.w {
            min-width: 100%;
            max-width: 100%;
            border: 1px solid #DDD;
        }
        m-flex.sQ i,
        m-flex.sQ svg {
            width: 1.5em;
            height: 1.5em;
            color: var(--color-primary);
            fill: var(--background-color-primary);
        }
        m-flex.sQ.black i,
        m-flex.sQ.black svg {
            color: #454545;
            fill: #454545;
        }
        m-flex.primary {
            background-color: var(--color-primary) !important;
            color: #FFF;
        }
            m-flex.primary i,
            m-flex.primary svg {
                color: white;
                fill: white;
            }
m-flex.secondary {
    background-color: #FFF;
    border: 1px solid #CCC;
}
            m-flex.secondary i,
            m-flex.secondary svg {
                color: var(--color-primary);
                fill: var(--background-color-primary);
            }
        m-flex.tertiary {
            background-color: #FFF !important;
        }
        m-flex.primary.tertiary {
            background-color: transparent !important;
        }
            m-flex.primary.tertiary i,
            m-flex.primary.tertiary svg {
                color: var(--background-color-secondary);
                fill: var(--background-color-secondary);
            }

        m-flex.sQ:hover {
            cursor: pointer;
        }
        m-flex.xs {
            min-width: 20px;
            max-width: 20px;
            height: 20px;
            background-color: transparent;
        }
            m-flex.xs i,
            m-flex.xs svg {
                width: .9em;
                height: 100%;
            }
        m-flex.sm {
            min-width: 25px;
            max-width: 25px;
            height: 25px;
        }
            m-flex.sm i,
            m-flex.sm svg {
                width: 1.2em;
                height: 100%;
            }
        m-flex.sm.sQ.locked {
            font-size: 1.85em;
        }
            m-flex.sm.sQ.locked i,
            m-flex.sm.sQ.locked svg {
                height: 25px;
                vertical-align: top;
            }
        m-flex.md {
            min-width: 40px;
            max-width: 40px;
            height: 40px;
        }
        m-flex.lg {
            min-width: 50px;
            max-width: 50px;
            height: 50px;
        }
            m-flex.lg i,
            m-flex.lg svg {
                width: 2.3em;
                height: 100%;
            }
    m-flex.tab {
        padding: 0 1em;
        height: 50px;
    }
        m-accordian m-flex.tab {
            border: 1px solid #EEE;
            border-radius: 2px;
            margin: 0 .25em;
        }
        m-flex.tab span {
            font-size: .7em;
            /*margin-left: .5em;*/
        }
    .tE,
    m-flex.tE {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }
    .tC,
    m-flex.tC {
        text-align: center;
    }
    m-flex.red {
        background-color: white !important;
        border-radius: 2px;
    }
    m-flex.red i,
    m-flex.red svg {
        color: red;
        fill: red;
    }
    
    m-flex.container {
        min-width: 100%;
        max-width: 700px;
        margin: 0 auto;
        justify-content: flex-start;
    }
        [data-label="Primary"] > .container-sm,
        [data-label="Primary"] > .container {
            min-height: 800px;
        }
    m-flex.container-sm {
        max-width: 300px;
        margin: 0 auto;
    }
m-flex.container-md {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    /*padding-right: 0;
    padding-left: 0;*/
}
m-flex.container-lg {
    min-width: 1000px;
    max-width: 1000px;
    margin: 0 auto 0 auto;
}
m-flex.container-xl {
    min-width: 1000px;
    max-width: 2000px;
    width: 80vw;
    margin: 0 auto 0 auto;
}
m-flex.cover {
    background-position: center center;
    background-size: cover !important;
    background: #FFF;
    min-height: 150px;
}
    m-flex.cover.blue:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background: #2377A9;
        opacity: .8;
    }
    m-flex.cover.blue h6,
    m-flex.cover.blue h1 {
        color: #FFF;
        z-index: 2;
    }
/*--M-FLEX-------------------------------------------------------------------------------*/

.avatar-card {
    width: 20%;
    justify-content: center !important;
    padding: .1em;
    margin-bottom: .2em;
    aspect-ratio: 1 / 1;
    position: relative;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
}

    .avatar-card img {
        width: 100%;
        max-width: 64px;
        object-fit: cover;
        border-radius: 50%;
        display: block;
        border: 3px solid transparent;
        transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.3s ease;
    }

        .avatar-card img:hover {
            transform: scale(1.08);
            border-color: #3498db;
            box-shadow: 0 0 10px rgba(52, 152, 219, 0.6);
        }

    .avatar-card.selected img {
        border-color: #FCB040;
        box-shadow: 0 0 6px #AAA;
        transform: scale(1.05);
    }

m-accordian.primary {
    background: var(--background-color-secondary);
}
    m-accordian.primary m-banner {
    }
    m-accordian.primary m-banner h3 {
        font-size: 1em;
        text-transform: uppercase;
        padding: 1em 0;
        color: #000;
    }
        m-accordian.primary m-banner .sQ {
            margin-right: .5em;
        }
        m-accordian.primary m-banner .sQ,
        m-accordian.primary m-banner .sQ i,
        m-accordian.primary m-banner .sQ i svg {
            background: transparent !important;
            color: #000;
            fill: #000;
        }


/*--M-CARD-------------------------------------------------------------------------------*/
m-card {
    background: #fff;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    z-index: 1;
    text-align: left !important;
    /*
    border: 1px solid #CCC;
        max-width: 400px;*/
    min-height: 40px;
    transition: box-shadow 0.35s cubic-bezier(.25,.8,.25,1);
}
m-card.nR {
    border-radius: 0;
}
    m-card.nB {
        border: none !important;
    }
.inputSearch m-card {
    border: 1px solid #FFF;
}
    m-card.h:hover {
        border: 1px solid var(--background-color-primary);
    }
    m-card.disabled {
        opacity: .25 !important;
        background-color: #EEE;
    }
    m-card:not(.empty).mB {
        margin-bottom: .5em;
    }

.selectable m-card {
    border: 1px solid #CCC;
}

m-card.border-red {
    border-right: 4px solid red;
}
m-button.border-red {
    border: 1px solid red;
}
m-card.tag.active {
    border: 1px solid #00AEEF;
}
    m-card.load {
        background-color: #FFF;
        width: 100% !important;
        max-width: 100% !important;
    }
    m-card h2 {
        font-size: .9em;
        margin: 0;
        font-weight: 400;
        color: var(--color-tertiary);
    }
    m-card span {
        margin: 0;
        color: var(--color-primary);
    }
m-card.locked {
    border: 1px solid #2DA3DC;
}

m-card.empty {
    border: 0;
    background-color: transparent;
    box-shadow: none;
    border-radius: 0;
    min-height: initial;
}
    m-card.blue {
        background-color: #F5F6FA;
    }
    m-card.abs {
        position: absolute;
        z-index: 100000;
        width: 300px;
        overflow: initial;
        border: none;
    }
        m-card.abs.left:after {
            content: '';
            position: absolute;
            top: -10px;
            left: 10px;
            z-index: 0;
            width: 0;
            height: 0;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-bottom: 10px solid #FFF;
            filter: drop-shadow(0 -1px 1px rgba(0,0,0,.25));
        }
        m-card.abs.right:after {
            content: '';
            position: absolute;
            top: -10px;
            right: 10px;
            z-index: 0;
            width: 0;
            height: 0;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-bottom: 10px solid #FFF;
            filter: drop-shadow(0 -1px 1px rgba(0,0,0,.25));
        }
    m-card.tag {
        border-radius: 2px;
        width: 31%;
        height: 30px;
        min-height: 30px;
        margin: 0 .25em .25em 0;
        background-color: #FFF;
    }

        m-card.tag.primary {
            background-color: var(--background-color-secondary);
            color: #FFF;
        }
            m-card.tag.primary h6,
            m-card.tag.primary span {
                color: #FFF;
            }
            m-card.tag.primary svg,
            m-card.tag.primary i {
                color: #FFF;
                fill: #FFF;
            }
        m-card.tag > m-flex {
            height: 100%;
            min-height: 100%;
        }

        m-card.tag h1 {
            font-size: .65em;
            margin-right: .5em;
            margin-left: .5em;
            color: #000;
        }

    m-card.enabled {
        border: 1px solid rgb(134,155,150);
        box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    }

    m-card.nB {
        border: none !important;
    }

    m-card.full {
        border: 1px solid red;
    }
        m-card.full:hover {
            cursor: not-allowed !important;
            border: 1px solid red !important;
        }

    .checkingIn {
        color: green !important;
    }
    .ongoing {
        color: orange !important;
    }
    .checkingOut {
        color: red !important;
    }

m-card[data-type="primary"] {
    background-color: var(--background-color-primary);
    color: #FFF;
}
    m-card[data-type="primary"] h1,
    m-card[data-type="primary"] h2,
    m-card[data-type="primary"] h3,
    m-card[data-type="primary"] h4,
    m-card[data-type="primary"] h5,
    m-card[data-type="primary"] h6 {
        color: #FFF;
    }
    m-card[data-type="primary"] m-flex.sQ i svg,
    m-card[data-type="primary"] m-flex.sQ i {
        color: #FFF;
        fill: #FFF;
    }
/*--M-CARD-------------------------------------------------------------------------------*/

/*--ICONS-------------------------------------------------------------------------------*/
.icons {
}

    .icons m-card.sm {
        width: 15.5%;
        max-width: 15.5%;
        margin-right: .5%;
        margin-left: .5%;
    }

    .icons m-card.md {
        width: 19%;
        max-width: 19%;
        margin-right: .5%;
        margin-left: .5%;
    }

    .icons m-card {
        width: 24%;
        max-width: 24%;
        margin-right: .5%;
        margin-left: .5%;
    }

        .icons m-card.lg {
            width: 32%;
            max-width: 32%;
            margin-right: .6666%;
            margin-left: .6666%;
        }
            .icons m-card.lg.btnSelectSizePresetDesign h6,
            .icons m-card.lg.btnSelectQualityDesign h6,
            .icons m-card.lg.btnSelectFormatDesign h6 {
                font-size: .85em;
                font-weight: 800;
            }

        .icons m-card.xl {
            width: 49%;
            max-width: 49%;
            margin-right: .5%;
            margin-left: .5%;
        }

        .icons m-card.lg.selected,
        .icons m-card.active {
            opacity: 1 !important;
            border: 1px solid var(--background-color-primary);
            box-shadow: 0 5px 10px rgba(0,0,0,0.19), 0 3px 3px rgba(0,0,0,0.23);
        }

        .icons m-card.disabled {
            opacity: .25 !important;
            transition: .35s opacity;
        }

            .icons m-card.disabled:hover {
                opacity: 1 !important;
                cursor: pointer;
            }

        .icons m-card.minH {
            min-height: initial;
        }

    .icons.maxH250 {
        max-height: 250px;
        overflow-y: scroll;
    }

.crdHover img.minH100 {
    min-height: 50px;
}

.crdHover:hover h5 {
    cursor: pointer !important;
    user-select: none;
}
/*--ICONS-------------------------------------------------------------------------------*/

.children-container {
    overflow: hidden;
    height: auto;
}

.rotate-toggle {
    transition: transform 0.25s ease;
}

    .rotate-toggle.rotated {
        transform: rotate(180deg);
    }

.grayscale {
    filter: grayscale(1);
}

/*--M-SELECT-------------------------------------------------------------------------------*/
m-select {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: #FFF;
    width: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    z-index: 1000;
    border-radius: 2px;
}

    m-select m-option {
        width: 100%;
        padding: .5em 1em;
        font-size: .75em;
        text-align: left;
    }

        m-select m-option:hover {
            cursor: pointer;
            background-color: #EEE;
        }
/*--M-SELECT-------------------------------------------------------------------------------*/

/*--RAYS-------------------------------------------------------------------------------*/
.rays {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 0;
    margin: auto;
}

.rays-animate {
    opacity: .5;
    animation: rotate 10s linear infinite;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}
/*--RAYS-------------------------------------------------------------------------------*/

/*--M-INPUT-------------------------------------------------------------------------------*/
m-input {
    position: relative;
    width: 100%;
    margin-bottom: .5em;
}
    m-input.n {
        margin: 0;
        padding: 0;
    }
    m-input.sC {
        justify-content: flex-start;
        align-items: center;
        display: flex;
    }
    m-flex.disabled:after,
    m-input.disabled:after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: rgba(255,255,255,0.5);
        top: 0;
        left: 0;
        cursor: not-allowed;
    }
/*--M-INPUT-------------------------------------------------------------------------------*/

/*--INPUT-------------------------------------------------------------------------------*/
textarea,
input {
    border: 1px solid #DDD;
    background-color: #FFF;
    width: 100%;
    max-width: 100%;
    height: 40px;
    outline: none;
    padding: 0 1em;
    font-size: 1em;
    border-radius: 3px;
    font-family: 'Open Sans', sans-serif;
    -webkit-user-select: text; /* Chrome, Opera, Safari */
    -moz-user-select: text; /* Firefox 2+ */
    -ms-user-select: text; /* IE 10+ */
    user-select: text; /* Standard syntax */
}
    select:disabled,
    input:disabled {
        opacity: .35;
        background-color: #EEE;
    }
    textarea::-webkit-input-placeholder,
    m-input input::-webkit-input-placeholder {
        color: #CCC;
    }
    input[type="radio"],
    input[type="checkbox"] {
        -webkit-appearance: none;
        width: 40px;
        min-width: 40px;
        max-width: 40px;
        height: 40px;
        margin: 0 0 0 0;
        border: none;
        display: block;
        position: relative;
    }
    input[type="range"] {
        padding: 0;
    }
        input[type="radio"].sm:checked:after,
        input[type="checkbox"].sm:checked:after,
        input[type="radio"].sm:after,
        input[type="checkbox"].sm:after,
        input[type="radio"].sm,
        input[type="checkbox"].sm {
            width: 20px;
            min-width: 20px;
            height: 20px;
            min-height: 20px;
            padding: 0;
            font-size: 1em;
        }
    input[type="radio"]:after,
    input[type="checkbox"]:after {
        content: '';
        color: #AAA;
        font-size: 1.5em;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0;
        width: 40px;
        height: 40px;
        border-radius: 7px;
        background: #e8e8e8;
        border: 1px solid #CCC;
    }
        input[type="radio"]:checked:after,
        input[type="checkbox"]:checked:after {
            content: '\2713';
            width: 40px;
            height: 40px;
            background-color: var(--color-primary);
            color: #FFF;
            border: 1px solid var(--background-color-primary);
        }
        input[type="radio"]:hover,
        input[type="checkbox"]:hover {
            cursor: pointer;
        }
    textarea.error,
    select.error,
    input.error {
        border: 1px solid red !important;
    }

    input.is-valid {
        border: 1px solid #28a745;
        background-color: #f1fdf5;
    }

    input.is-invalid {
        border: 1px solid #dc3545;
        background-color: #fff5f5;
    }

.input-feedback {
    font-size: 0.85rem;
    margin-top: 4px;
    display: block;
}

    .input-feedback.valid {
        color: #28a745;
    }

    .input-feedback.invalid {
        color: #dc3545;
    }

textarea {
    height: 200px;
    display: block;
    outline: none;
    padding: .75em 1em;
    resize: none;
}

select {
    width: 100%;
    height: 40px;
    padding: 0 3em 0 1em;
    font-size: 1em;
    -webkit-appearance: none;
    border: 1px solid #EEE;
    background-color: #FFF;
    background-image:
        -webkit-linear-gradient(45deg, transparent 50%, gray 50%),
        -webkit-linear-gradient(315deg, gray 50%, transparent 50%),
        -webkit-linear-gradient(left, #ccc, #ccc);
    background-image:
        -o-linear-gradient(45deg, transparent 50%, gray 50%),
        -o-linear-gradient(315deg, gray 50%, transparent 50%),
        -o-linear-gradient(left, #ccc, #ccc);
    background-image:
        linear-gradient(45deg, transparent 50%, gray 50%),
        linear-gradient(135deg, gray 50%, transparent 50%),
        linear-gradient(to right, #ccc, #ccc);
    background-position:
        calc(100% - 20px) calc(1em + 2px),
        calc(100% - 15px) calc(1em + 2px),
        calc(100% - 2.5em) 5px;
    background-size:
        5px 5px,
        5px 5px,
        1px 30px;
    background-repeat: no-repeat;
}
    select:hover {
        cursor: pointer;
    }

.input-with-icon {
    position: relative;
    display: flex;
    align-items: center;
}

    .input-with-icon .icon {
        position: absolute;
        left: 12px;
        color: #888;
        font-size: 16px;
        pointer-events: none;
    }

    .input-with-icon input {
        padding-left: 30px; /* Make room for the icon */
        width: 100%;
        height: 40px;
        font-size: 14px;
        border: 1px solid #ccc;
        border-radius: 4px;
        transition: border-color 0.3s ease;
    }

/*--INPUT-------------------------------------------------------------------------------*/

/*--SWITCH-------------------------------------------------------------------------------*/
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    min-width: 60px;
    height: 34px;
}

    .switch.sm {
        width: 40px;
        min-width: 40px;
        height: 20px;
    }

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #DDD;
    -webkit-transition: .25s;
    transition: .25s;
    border-radius: 34px;
}

.switch.sm .slider {
    border-radius: 20px;
}

.slider.inverse {
    background-color: #FFF;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .25s;
    transition: .25s;
    border-radius: 50%;
}

.switch.sm .slider:before {
    height: 14px;
    width: 14px;
    left: 3px;
    bottom: 3px;
}

.slider.inverse:before {
    background-color: var(--background-color-tertiary);
}

input:checked + .slider {
    background-color: var(--background-color-secondary);
}

input:focus + .slider {
    box-shadow: 0 0 1px var(--background-color-secondary);
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

input:checked + .slider.sm:before {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
}
/*--SWITCH-------------------------------------------------------------------------------*/

/*--M-LOGO-------------------------------------------------------------------------------*/
m-logo {
    width: 150px;
    min-width: 150px;
    max-width: 150px;
    height: 150px;
    min-height: 150px;
    max-height: 150px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #000;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .7em;
    background-color: #F0E6DF;
}
    m-logo:hover {
        cursor: pointer;
        border: 1px solid var(--background-color-primary);
    }

    m-logo.lg {
        width: 200px;
        min-width: 200px;
        max-width: 200px;
        height: 200px;
        min-height: 200px;
        max-height: 200px;
        font-size: 2em;
    }

    m-logo.md {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
        height: 100px;
        min-height: 100px;
        max-height: 100px;
        margin-right: 0;
    }

    m-logo.sm {
        width: 50px;
        min-width: 50px;
        max-width: 50px;
        height: 50px;
        min-height: 50px;
        max-height: 50px;
        margin-right: .5em;
    }
/*--M-LOGO-------------------------------------------------------------------------------*/

/*=== CONTAINER-SPECIFIC POSITIONING ===*/
#subscription {
    position: fixed;
    bottom: 60px;
    z-index: 2;
    background: transparent;
    width: 100%;
    animation: slideDownFadeOut 0.35s ease-out 8s forwards;
}

#account {
    /* Optional: you can add more layout rules here */
}

    /*=== SHARED BANNER BASE STYLES ===*/
    #subscription .banner,
    #account .banner {
        height: 40px;
        padding: 0.5em;
        font-size: 0.9em;
        text-align: center;
    }

/* Dynamic banner variants */
.banner {
    background: #2377A9;
    color: #FFF;
}
.banner.info,
.banner.trial {
    background: #FCB040;
    color: #000;
}

.banner.canceled {
    background: #CCC;
    color: #000;
}

.banner.paused,
.banner.warning,
.banner.error {
    background: #dc3545;
    color: #FFF;
}

/* Link styling inside banners */
#subscription .banner m-a,
.account.banner m-a {
    font-size: 1em;
    text-decoration: underline;
    color: #FFF;
}

.banner.info m-a,
.banner.trial m-a,
.banner.canceled m-a {
    color: #000;
}

.account.banner m-a,
.account.banner h3 {
    color: #FFF;
}

/*=== ANIMATIONS ===*/
#subscription .banner {
    /* fade OUT after 6s */
    animation: slideDownFadeOut 0.35s ease-out 6s forwards;
}

.account.banner {
    /* fade IN after 0.5s */
    opacity: 0;
    animation: slideDownFadeIn 0.35s ease-out 0.5s forwards;
}

/*=== HEADER ===*/
.account.header {
    background: #FFF;
    padding: 0.5em;
    z-index: 10;
    box-shadow: 0 3px 1px rgba(0, 0, 0, 0.16);
    min-height: 50px;
}
    .account.header.inverse {
        background: #2377A9;
    }

.account m-image {
    height: 40px;
    width: 40px;
}

    .account.header.view {
        height: 80px !important;
        background: #2377A9;
        color: #FFF;
    }
.account.view m-image {
    height: 60px;
    width: 60px;
}

    .account.header h1 {
        color: var(--background-color-primary);
    }
.account.header.inverse h1 {
    color: #FFF;
    width: 100%;
}
.account.header.view h1,
.account.header.view h2 {
    color: #FFF;
}
    .account.header h2,
    .account.header.view h2 {
        font-size: .8em;
        font-weight: 400;
        color: #454545;
    }
.account.header.view h2 {
    color: #FFF;
}
.account.header.view .username h6 {
    font-size: .9em;
    color: #FFF;
}
.account.header.view .username i {
    font-size: .9em;
    color: #FFF;
    margin-left: .25em;
}

    .account.header.view .username i.icon-trust {
        color: #FFF;
    }

.account.reaction {
    margin-right: 1em;
}
.account.reaction i {
    font-size: 4em;
}

.locationWaitTime-savings.lg {
    font-size: 1.5em;
}
.locationWaitTime-savings.lg .txt-minutes {
    display: none;
}

/*=== Tickets ===*/
.location .stats h1,
.account .tickets h1 {
    font-size: 2em;
    color: var(--background-color-primary);
}
.location .stats h3 {
    font-size: 1em;
    margin-right: .5em;
}

/*=== KEYFRAMES ===*/
@keyframes slideDownFadeIn {
    0% {
        transform: translateY(-20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideDownFadeOut {
    0% {
        transform: translateY(0px);
        opacity: 1;
    }

    100% {
        transform: translateY(20px);
        opacity: 0;
    }
}

.mention-dropdown {
    margin: .5em 0;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    font-size: 0.9rem;
    display: none;
    overflow: hidden;
}

    .mention-dropdown.visible {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
    }

    .mention-dropdown div {
        margin-right: .35em;
        background: white;
        padding: 0 1em;
        font-size: .8em;
        line-height: 30px;
        height: 30px;
        cursor: pointer;
        border: 1px solid #DDD;
        border-radius: 20px;
    }

        .mention-dropdown div:hover {
            background-color: #eee;
        }

/*--M-IMAGE-------------------------------------------------------------------------------*/
m-image {
    position: relative;
    background-color: #EEE;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    border-radius: 2px;
    display: flex;
    justify-content: center;
    align-items: center;
}

m-image.icon {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    height: 40px;
}

    m-image.icon.sm {
        width: 30px;
        min-width: 30px;
        max-width: 30px;
        height: 30px;
    }

m-image.circle {
    border-radius: 50%;
}

m-image.sQ {
    aspect-ratio: 1/1;
}
    m-image.six {
        aspect-ratio: 16/9;
    }

m-image.cover {
    background-size: cover;
    height: 100px;
}
m-image.contain {
    background-size: contain;
    padding-bottom: 100%;
}

    m-image span {
        position: absolute;
        top: 10%;
        z-index: 1;
        font-size: .9em;
    }
/*--M-IMAGE-------------------------------------------------------------------------------*/

/*--LABEL-------------------------------------------------------------------------------*/
label {
    font-size: .75em;
    padding: 0;
    width: 100%;
    /* max-width: 100%; */
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-weight: 100;
    color: #444;
    cursor: text;
    /* transition: all .2s ease-out; */
}
    label.c {
        text-align: center;
    }
    label[required]:after {
        color: #e32;
        content: ' *';
        display: inline;
    }
/*--LABEL-------------------------------------------------------------------------------*/

/*--M-DIVIDER-------------------------------------------------------------------------------*/
m-divider {
    margin: 0.5em auto;
    width: 90%;
    height: 1px;
    min-height: 1px;
    border-radius: 1px;
    background-color: var(--color-tertiary);
    display: block;
    opacity: 0.5;
    transition: all .35s;
}

    m-divider.sm {
        width: 90%;
        margin: .25em auto;
        background-color: #AAA;
        height: 1px;
    }

    m-divider.v {
        width: 2px;
        margin: .5em .75em;
        background-color: #AAA;
        min-height: 20px;
    }
/*--M-DIVIDER-------------------------------------------------------------------------------*/

/*--M-ICON-------------------------------------------------------------------------------*/
m-icon {
    width: 40px;
    min-width: 40px;
    max-width: 40px;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #000;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .7em;
    background-color: #F0E6DF;
}

    m-icon.lg {
        width: 100px;
        min-width: 100px;
        max-width: 100px;
        height: 100px;
        min-height: 100px;
        max-height: 100px;
        border-radius: 4px;
        font-size: 2em;
    }

    m-icon.md {
        width: 60px;
        min-width: 60px;
        max-width: 60px;
        height: 60px;
        min-height: 60px;
        max-height: 60px;
        border-radius: 4px;
        margin-right: 0;
    }

    m-icon.sm {
        width: 10px;
        min-width: 10px;
        max-width: 10px;
        height: 10px;
        min-height: 10px;
        max-height: 10px;
        border-radius: 4px;
        margin-right: .5em;
    }

    m-icon.circle {
        border-radius: 50%;
    }

    m-icon.auto {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
        height: 0;
        min-height: 0;
        max-height: 0;
        padding-bottom: 100%;
    }

        m-icon.auto span {
            font-weight: 600;
            font-size: 1.15em;
            padding-top: 50%;
        }

    m-icon.sQ {
        border-radius: 0;
    }
/*--M-ICON-------------------------------------------------------------------------------*/

/*--TABLEROW-------------------------------------------------------------------------------*/
.cards.split m-card,
.cards .tableRow {
    margin-bottom: .25em !important;
}

.tableRow h2 {
    flex: 1;
}

.tableRow.red i,
.tableRow.red svg {
    fill: #FFF;
    background-color: red;
    border-radius: 2px;
}

.tableRow h2.expand {
    flex: 2;
}

.tableRow:first-child h2 {
    font-size: .7em;
    color: #CCC;
}

.tableRow .expand1 {
    flex: 1;
}

.tableRow .expand2 {
    flex: 2;
}

.tableRow .expand3 {
    flex: 3;
}

.tableRow .expand4 {
    flex: 4;
}

.tableRow h2:hover {
    cursor: pointer;
}

.tableRow:first-child h2 {
    font-size: .7em;
    color: #BBB;
    position: relative;
}

.tableRow h2.sortdesc,
.tableRow h2.sortasc {
    font-weight: 800;
    color: #454545;
}

    .tableRow h2.sortasc:after {
        content: '';
        position: absolute;
        left: 80%;
        top: 5px;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid #454545;
        clear: both;
    }

    .tableRow h2.sortdesc:after {
        content: '';
        position: absolute;
        left: 80%;
        top: 5px;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid #454545;
        clear: both;
    }

.tableRow .placeholder {
    width: 50px;
    height: 5px;
    padding: 0;
    visibility: hidden;
}
/*--TABLEROW-------------------------------------------------------------------------------*/

/*--M-ERROR-------------------------------------------------------------------------------*/
m-error {
    color: red;
    font-size: .75em;
    margin-bottom: .5em;
}
/*--M-ERROR-------------------------------------------------------------------------------*/

/*--M-PILL-------------------------------------------------------------------------------*/
m-pill {
    border-radius: 3px;
    width: 100%;
    margin: 0 .15em;
    height: 6px;
    display: block;
    background-color: #AAA;
}
    m-pill.selected {
        background-color: #7FB800;
    }
/*--M-PILL-------------------------------------------------------------------------------*/

/*STRIPE -------------------------------------------------------*/
#card-errors {
    color: red;
    margin-top: .5em;
    font-size: .9em;
}
/*STRIPE -------------------------------------------------------*/

i.lg,
m-flex.sQ i.lg {
    width: 2em;
    height: 2em;
}
    i.lg > svg,
    m-flex.sQ i.lg > svg {
        width: 2em;
        height: 2em;
    }