body {
            --bg-color: var(--tg-theme-bg-color, #fff);
            font-family: sans-serif;
            background-color: var(--bg-color);
            color: #222;
            font-size: 14px;
            margin: 0;
            padding: 0;
            color-scheme: var(--tg-color-scheme);
        }
        body.gray {
            background-color: var(--tg-theme-secondary-bg-color, #efefef);
        }

        a {
            color: var(--tg-theme-link-color, #2678b6);
        }
        .btn {
            font-size: 14px;
            padding: 10px 17px;
        }
        .btn-primary {
            background-color: var(--tg-theme-button-color, #50a8eb);
            color: var(--tg-theme-button-text-color, #fff);
            border: none;
        }

        .main-container {
            padding: 15px;
        }
        .list-header {
            text-transform: uppercase;
            font-size: .92em;
            color: var(--tg-theme-hint-color, #ccc);
            margin: 0 0 10px;
        }
        a.list-group-item,
        button.list-group-item {
            color: var(--tg-theme-text-color, #222);
        }
        .main-container p {
            margin: 0 0 10px;
        }
        .main-container pre,
        .main-container > .btn {
            margin: 0 0 7px;
        }
        .main-container pre + .hint,
        .main-container > .btn + .hint {
            text-align: center;
            margin: 0 0 15px;
        }

        button[disabled] {
            opacity: 0.6;
            cursor: auto;
            pointer-events: none;
        }

        button.close_btn {
            /*position: fixed;*/
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 0;
            margin: 0;
            padding: 16px 20px;
            text-transform: uppercase;
        }


        section {
            padding: 15px;
            text-align: center;
            background-color: var(--bg-color, #ffffff);
        }
        section#top_sect {
            background-color: var(--tg-theme-bg-color, #ffffff);
        }
        section#top_sect.second {
            background-color: var(--tg-theme-secondary-bg-color, #efefef);
        }
        section .sect_row {
            margin: 10px 0;
        }
        section + section {
            padding: 0 15px 65px;
        }
        p {
            margin: 40px 0 15px;
        }
        ul {
            text-align: left;
        }
        li {
            color: var(--tg-theme-hint-color, #a8a8a8);
        }
        textarea {
            width: 100%;
            box-sizing: border-box;
            padding: 7px;
        }
        pre {
            background: rgba(0, 0, 0, .07);
            color: var(--tg-theme-text-color, #222);
            font-size: 12px;
            border: none;
            border-radius: 4px;
            padding: 8px;
            margin: 7px 0;
            word-break: break-word;
            white-space: pre-wrap;
            text-align: left;
        }
        .dark pre {
            background: rgba(255, 255, 255, .15);
        }
        .chat_img {
            width: 30px;
            border-radius: 15px;
            margin-right: 10px;
        }
        .columns {
            display: flex;
        }
        .columns>* {
            flex-grow: 1;
        }
        .hint {
            font-size: .8em;
            color: var(--tg-theme-hint-color, #a8a8a8);
        }
        .ok {
            color: green;
        }
        .err {
            color: red;
        }
        .status_need {
            display: none;
        }
        #fixed_wrap {
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            transform: translateY(100vh);
        }
        .viewport-container {
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            height: var(--tg-viewport-stable-height, 100vh);
            transition: height .2s ease;
        }
        .viewport-container .main-container {
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .viewport-container .main-container button {
            width: auto;
        }
        .viewport-border,
        .viewport-stable_border {
            position: fixed;
            left: 0;
            right: 0;
            top: 0;
            height: var(--tg-viewport-height, 100vh);
            pointer-events: none;
        }
        .viewport-stable_border {
            height: var(--tg-viewport-stable-height, 100vh);
        }
        .viewport-border:before,
        .viewport-stable_border:before {
            content: attr(text);
            display: inline-block;
            position: absolute;
            background: gray;
            right: 0;
            top: 0;
            font-size: 7px;
            padding: 2px 4px;
            vertical-align: top;
        }
        .viewport-stable_border:before {
            background: green;
            left: 0;
            right: auto;
        }
        .viewport-border:after,
        .viewport-stable_border:after {
            content: '';
            display: block;
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;
            border: 2px dashed gray;
        }
        .viewport-stable_border:after {
            border-color: green;
        }

        small {
            font-size: 12px;
        }

        .btn-cart {
            width: 30vw;
        }

        .counter {
            position: relative;
            top: -19px;
            left: -21px;
            z-index: 2;
            padding: 1px 7px;
            margin-left: -17px;
            font-size: 14px;
            color: #fff;
            background-color: #fe1212;
            border-radius: 10em;
            -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
            box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
        }

        .drop-usermenu {
            left: -20px;
        }

        .drop-usermenu .dropdown-item {
            padding: 1.25rem 1.5rem;
        }

        .daily-menu {
            margin: 0.25rem;
            position: relative;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
            flex-direction: row;
            min-width: 0;
            word-wrap: break-word;
            background-color: #fff;
            background-clip: border-box;
            border: 1px solid rgba(0, 0, 0, 0.125);
            border-radius: 0.25rem;
            padding: 0.25rem;
            flex-wrap: wrap;
            justify-content: space-around;
            align-items: center;
        }

        .daily-menu-caption {
            color: white;
            position: relative;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-direction: column;
            flex-direction: row;
            min-width: 0;
            word-wrap: break-word;
            background-color: rgba(255, 0, 0, 0.5);
            justify-content: space-around;
            align-items: center;
        }

        .btn-menu-accordion{
            width: -webkit-fill-available;
        }

        .accordion .card-header{
            padding: 10px;
            cursor: pointer;
        }

        .row-margin-10{
            margin-top: 0.5rem;
            margin-bottom: 0.5rem;
        }

        input .btn-outline-secondary{
            text-align: center;
        }

        input .new-cnt{
            width: 3rem;
            text-align: center;
        }

        .row-table-header{
            font-weight: bold;
        }

        .preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(107, 107, 107, 0.5); /* Or any background color */
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999; /* Ensure it's on top of other content */
        }

        .spinner {
            border: 8px solid rgba(182, 182, 182, 0.5); /* Light grey */
            border-top: 8px solid #f34949; /* Blue */
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 1s linear infinite; /* Animation defined below */
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        #container {
            display: none; /* Initially hide main content */
        }

        .login-bg{
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(107, 107, 107, 0.5); /* Or any background color */
            display: block;
            justify-content: center;
            align-items: center;
            z-index: 6000;
            text-align: center;

        }

        .login-frm{
            position: absolute;
            top: 32%;
            width: 100%;
            height: max-content;
            justify-content: center;
            align-items: center;
            z-index: 6000;
            pointer-events: none;
            display: flex;
        }

        #login-form{
            padding: 1em;
            pointer-events: auto;
            background-color: #fff;
            border-radius: 1em;
        }

        #login-form.a{
            pointer-events: auto;
            /*background-color: #fff;*/
        }