@charset "UTF-8";

@font-face
{
    font-family: 'Raleway';
    src: url('/fonts/Raleway.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
}

@font-face
{
    font-family: 'Raleway';
    src: url('/fonts/Raleway-Italic.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: italic;
}

@font-face
{
    font-family: 'Georama';
    src: url('/fonts/Georama.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-stretch: 50% 200%;
    font-style: normal;
}

@font-face
{
    font-family: 'Georama';
    src: url('/fonts/Georama-Italic.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-stretch: 50% 200%;
    font-style: italic;
}

@font-face
{
    font-family: 'Roboto Mono';
    src: url('/fonts/RobotoMono.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
}

@font-face
{
    font-family: 'Roboto Mono';
    src: url('/fonts/RobotoMono-Italic.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: italic;
}

:root
{
    --c1: 244, 14, 14;
    --c2: 238, 124, 124;
    --c3: 36, 40, 44;
    --c4: 50, 58, 64;
    --c5: 28, 32, 36;
    --c6: 20, 24, 28;
    --c7: 14, 147, 236;
    --c8: 8, 157, 87;
    --c9: 170, 152, 5;
    --c10: 188, 0, 215;
    --f1: 'Georama', sans-serif;
    --f2: 'Raleway', sans-serif;
    --f3: 'Roboto Mono', monospace;
    --gradAngle: 90deg;
}

html
{
    font-size: 16px;
    scrollbar-width: thin;
}

.ovAuto, .typeIn .ql-editor
{
    scrollbar-width: thin;
    scrollbar-track-color: transparent;
}

body
{
    background-color: rgb(var(--c3));
    color: rgba(var(--w), 0.8);
}

::selection
{
    background-color: rgb(var(--c1));
    color: rgb(var(--w));
}

@media only screen
{
    body::after
    {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 0rem;
        opacity: 0;
        z-index: 1;
        visibility: hidden;
        background-image: linear-gradient(90deg, rgb(var(--c1)) 0%, rgb(var(--c2)) calc(100% / 3), rgb(var(--c1)) calc(200% / 3), rgb(var(--c2)) calc(300% / 3));
        background-size: 300% 100%;
        background-position: 0 0;
        transition: all 0.24s ease;
        -webkit-animation: loading 0.84s 0s linear infinite both normal;
        -moz-animation: loading 0.84s 0s linear infinite both normal;
        -o-animation: loading 0.84s 0s linear infinite both normal;
        -ms-animation: loading 0.84s 0s linear infinite both normal;
        animation: loading 0.84s 0s linear infinite both normal;
    }

    body.loading::after
    {
        height: 0.25rem;
        opacity: 1;
        visibility: visible;
    }

    @-webkit-keyframes loading
    {
        0%
        {
            background-position: 0% 0%;
        }

        100%
        {
            background-position: 100% 0%;
        }
    }

    @-moz-keyframes loading
    {
        0%
        {
            background-position: 0% 0%;
        }

        100%
        {
            background-position: 100% 0%;
        }
    }

    @-o-keyframes loading
    {
        0%
        {
            background-position: 0% 0%;
        }

        100%
        {
            background-position: 100% 0%;
        }
    }

    @-ms-keyframes loading
    {
        0%
        {
            background-position: 0% 0%;
        }

        100%
        {
            background-position: 100% 0%;
        }
    }

    @keyframes loading
    {
        0%
        {
            background-position: 0% 0%;
        }

        100%
        {
            background-position: 100% 0%;
        }
    }

    .neumorphic_div
    {
        -webkit-box-shadow: 1rem 1rem 2rem 0rem rgba(var(--b), 0.24), -1rem -1rem 2rem 0rem rgba(var(--w), 0.068);
        -moz-box-shadow: 1rem 1rem 2rem 0rem rgba(var(--b), 0.24), -1rem -1rem 2rem 0rem rgba(var(--w), 0.068);
        -o-box-shadow: 1rem 1rem 2rem 0rem rgba(var(--b), 0.24), -1rem -1rem 2rem 0rem rgba(var(--w), 0.068);
        -ms-box-shadow: 1rem 1rem 2rem 0rem rgba(var(--b), 0.24), -1rem -1rem 2rem 0rem rgba(var(--w), 0.068);
        box-shadow: 1rem 1rem 2rem 0rem rgba(var(--b), 0.24), -1rem -1rem 2rem 0rem rgba(var(--w), 0.068);
    }

    .neumorphic_in
    {
        -webkit-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        -moz-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        -o-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        -ms-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
    }

    .neumorphic_btn, .neumorphic_out
    {
        -webkit-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08);
        -moz-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08);
        -o-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08);
        -ms-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08);
        box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08);
    }
    
    .neumorphic_btn:active
    {
        -webkit-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08), 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        -moz-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08), 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        -o-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08), 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        -ms-box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08), 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
        box-shadow: 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4), -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08), 0.75rem 0.75rem 1.25rem 0rem rgba(var(--b), 0.4) inset, -0.75rem -0.75rem 1.25rem 0rem rgba(var(--w), 0.08) inset;
    }

    .btn_def
    {
        border: 0.0625rem solid rgba(var(--c6), 1);
    }

    .btn_def:hover
    {
        color: rgb(var(--c2));
        text-shadow: 0px 0px 0.5rem rgba(var(--c2), 0.42);
    }

    .btn_def:active
    {
        color: rgb(var(--c1));
        text-shadow: 0px 0px 0.5rem rgba(var(--c1), 0.84);
    }

    .btn_red
    {
        background-image: linear-gradient(120deg, rgb(250, 95, 95) 0%, rgb(190, 24, 24) 100%);
        border: 0.0625rem solid rgba(var(--c5), 1);
    }

    .flex-fb40p-1
    {
        flex-basis: calc(40% - 1rem);
    }

    .flex-fb50p-1
    {
        flex-basis: calc(50% - 1rem);
    }

    .flex-fb60p-1
    {
        flex-basis: calc(60% - 1rem);
    }

    .grad, .highlight
    {
        background-image: linear-gradient(100deg, rgb(var(--c1)) 0%, rgb(var(--c2)) 100%);
    }

    .highlight
    {
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }

    nav a
    {
        display: inherit;
    }

    nav li:hover a
    {
        color: rgb(var(--c1));
    }

    /* Log in Page */

    .widlogin
    {
        width: calc(14vw + 18rem);
    }

    /* Homepage Chat System */

    .clcbar
    {
        flex-basis: 4rem;
    }

    .chatcbar
    {
        flex-basis: 20rem;
    }

    .typeIn
    {
        font-family: inherit !important;
        font-size: 1rem !important;
        max-height: 5.75rem; /* 3 lines */
    }

    .typeIn p
    {
        text-indent: 0px;
    }

    .typeIn .ql-editor.ql-blank::before
    {
        color: rgba(var(--w), 0.4);
        left: 0px;
        right: unset;
    }

    .typeIn.ql-bubble .ql-tooltip
    {
        -webkit-transform: translateY(-4.5rem);
        -moz-transform: translateY(-4.5rem);
        -o-transform: translateY(-4.5rem);
        -ms-transform: translateY(-4.5rem);
        transform: translateY(-4.5rem);
    }

    .typeIn.ql-bubble .ql-tooltip-arrow
    {
        -webkit-transform: translateY(2.875rem) rotate(180deg);
        -moz-transform: translateY(2.875rem) rotate(180deg);
        -o-transform: translateY(2.875rem) rotate(180deg);
        -ms-transform: translateY(2.875rem) rotate(180deg);
        transform: translateY(2.875rem) rotate(180deg);
    }

    .typeIn .ql-editor
    {
        padding: 0px;
    }

    #chats:empty
    {
        justify-content: center;
        align-items: center;
    }
    
    #chats:empty::before
    {
        content: "Select a client account first to start chatting.";
        color: rgba(var(--w), 0.4);
    }

    #chats[data-chat-active]:empty::before
    {
        content: "Looks like there are no conversations yet."
    }

    /* Clients and Admins Pages along with their sub pages */

    #domo:empty
    {
        display: block;
    }

    #domo:empty::before
    {
        content: "As of now there is nothing to display. Add an entity first.";
        display: block;
        text-align: center;
        padding: 2rem 5vw;
        line-height: 1.4em;
        border-top: 0.125rem dashed rgba(var(--w), 0.2);
    }

    #domo h3
    {
        margin-top: -3rem;
    }

    #domo .domo_btncon
    {
        margin-bottom: -3rem;
    }

    .p-special
    {
        padding: calc(0.75vw + 1.5rem);
    }

    /* Even More Menu */

    .evenMore
    {
        bottom: 6rem;
        opacity: 0;
        visibility: hidden;
        -webkit-filter: blur(1rem);
        filter: blur(1rem);
    }

    .evenMore.show
    {
        bottom: 4rem;
        opacity: 1;
        visibility: visible;
        -webkit-filter: none;
        filter: none;
    }

    /* File Upload Visualization with Drag and Drop Support */

    .dragprog
    {
        opacity: 0;
        visibility: hidden;
    }

    .dragprog.drag, .dragprog.prog
    {
        opacity: 1;
        visibility: visible;
    }

    .dragprog > h3, .dragprog > div
    {
        display: none;
    }

    .dragprog.drag > h3
    {
        display: block;
    }

    .dragprog.prog > div
    {
        display: block;
    }

    /* SmartAlert */

    .smartAlert
    {
        opacity: 0;
        visibility: hidden;
    }
    
    .smartAlert.show
    {
        opacity: 1;
        visibility: visible;
    }

    .smartAlert > div
    {
        -webkit-transform: scale(0.8) translateY(2rem);
        -moz-transform: scale(0.8) translateY(2rem);
        -o-transform: scale(0.8) translateY(2rem);
        -ms-transform: scale(0.8) translateY(2rem);
        transform: scale(0.8) translateY(2rem);
        width: calc(24vw + 16rem);
        min-width: min(10rem, calc(100% - 2rem));
        max-width: calc(100% - 2rem);
    }

    .smartAlert.show > div
    {
        -webkit-transform: scale(1) translateY(0);
        -moz-transform: scale(1) translateY(0);
        -o-transform: scale(1) translateY(0);
        -ms-transform: scale(1) translateY(0);
        transform: scale(1) translateY(0);
    }
}

@media only screen and (max-width: 960px)
{
    nav
    {
        top: calc(100% + 1rem);
        background-color: rgb(var(--c3));
        opacity: 0;
        visibility: hidden;
        -webkit-filter: blur(0.2rem);
        filter: blur(0.2rem);
        -webkit-transform: scale(0.94);
        -moz-transform: scale(0.94);
        -o-transform: scale(0.94);
        -ms-transform: scale(0.94);
        transform: scale(0.94);
    }

    nav.show
    {
        opacity: 1;
        visibility: visible;
        -webkit-filter: none;
        filter: none;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    nav a
    {
        padding: 0px 2rem 0px 1rem;
    }
}

@media only screen and (max-width: 575px)
{
    .x_disnone
    {
        display: none;
    }
}

@media only screen and (min-width: 576px)
{
    .x_display
    {
        display: none;
    }
}