body {
            font-family: 'Webkinz', sans-serif;
            margin: 0;
            color: #180b94;
            display: flex;
            min-height: 100vh;
            background: #2AA5FF;
            background: linear-gradient(180deg,#2AA5FF 0%, #75C6FF 50%, #2AA5FF 100%);
            background-position: center;
            font-size: 18px;
            scrollbar-gutter: stable both-edges;
        }
            

        @font-face {
                    font-family: Webkinz; 
                    src: url('https://casper-valentine.gay/Assets/TREBUC.TTF');
                }
        
        @font-face {
                    font-family: Webkinz;
                    src: url('https://casper-valentine.gay/Assets/webkinz_book_cyrillic.otf');
                    font-weight: bold;
                }


        #centeredBox {
            border: 3px solid #180b94;
            border-radius: 5px;
            position: absolute;
            top: 80px;
            left: 80px;
            right: 80px;
            bottom: 80px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            min-height: 0;
        }

        #headerH2 {
            color:#adecff;
        }
        
        h1  {
            color:#5cbaff;
        }

        #buttonH3 {
            color: #180b94;
            margin: 0;
            padding: 0;
        }
        
        #headerTable a {
            color:#f4fcff;
            font-weight: bold;
        }

        strong {
            color: #fc019a;
        }
        
        a:hover {
            text-decoration: underline;
        }
        
        #flex {
            display: flex;
        }

        /* header table */
        table {
            border-collapse: collapse;
            width: 100%;
        }

        th {
            border: none;
            border-bottom: 3px solid #180b94;
            background: #0079FF;
            background: linear-gradient(180deg,#0079FF 0%, #0035FF 100%);
            padding: 0 15px;
        }

        .roomImg {
            width: 100%;
            height: auto;
            display: flex;
            margin-bottom: 15px;
        }

        /*main menu stuff*/
        .menu-wrapper {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            height: 100%;
            width: 100%;
            padding: 5px;
            display: flex;
            box-sizing: border-box;
            overflow: hidden;
        }

        .menu-table {
            border-collapse: collapse;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            transform-origin: center;
            object-fit: contain;
            table-layout: fixed;
        }
        
        .menu-table tr {
            height: calc(100% / 4);
        }
        
        .menu-table td {
            padding: 5px;
        }

        .menuButton {
            height: 100%;
            width: 100%;
            border: 3px solid #26770d;
            border-top: 4px solid #26770d;
            border-radius: 5px;
            background: #FEFABA;
            background: linear-gradient(180deg,#FEFABA 0%, #FEEEA6 50%, #FEDD8A 100%);
            box-shadow: inset 0 -4px 1px #dbb96a, inset 0 4px 1px #fffdda, 0 3px #7eff3e8e;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
            font-size: clamp(14px, 1.2vw, 18px);
            background-repeat: repeat-x;
            background-position: center; 
            position: relative;
            left: 50%;
            transform: translate(-50%, 0);
            height: calc(100% - 5px);
            width: calc(100% - 5px);
        }

        .menuButton img {
            width: clamp(24px, 2.7vw, 50px);
            height: auto;
            max-height: 50px;
            max-width: 50px;
            object-fit: contain;
            image-rendering: high-quality;
        }

        .menu-table a {
            text-decoration: none;
        }

        /* grid format */
        .grid-container {
            flex: 1;
            min-height: 0;
            display: grid;
            grid-template-columns: 1fr 3.13fr; 
            grid-template-rows: auto 1fr; 
            width: 100%;
            height: 100%;
            min-height: 0;
            box-sizing: border-box;
        }
        

        .left-top {
            grid-column: 1;
            grid-row: 1;
            border: none;
            border-bottom: 3px solid #180b94;
            width: 100%;
            height: auto;
            font-size: 0;
            margin: 0;
            padding: 0;
            justify-self: center;
            align-self: start;
            background-image: url('https://casper-valentine.gay/Assets/menuBG.png');
            background-size: cover;
            background-position: top center;
        }

        #left-bottom {
            grid-column: 1;
            grid-row: 2;
            position: relative;
            border: none;
            width: 100%;
            height: 100%;
            min-height: 0;
            margin: 0;
            padding: 0;
            background: #66d82f;
            background: linear-gradient(180deg,#66d82f 0%, #55b125 50%, #4a9720 100%);
            box-shadow: inset 0 3px #7eff3e8e;
        }

        .right {
            grid-column: 2;
            grid-row: 1 / span 2; 
            border-left: 3px solid #180b94;
            background: #adecff; 
            padding: 0 20px 0 20px;
            overflow: auto;
        }

        .right::-webkit-scrollbar {
            width: 14px; 
        }

        .right::-webkit-scrollbar-thumb {
            background-color: #0035ff; 
            border: 3px solid #adecff; /*keep same as background color*/
            border-radius: 5px;
        }

        .right::-webkit-scrollbar-track {
            background-color: #adecff; /*keep same as background color*/
            border-radius: 5px; 
        }

        #headerImg {
            width: 100%;
            height: auto;
            object-fit: cover;
            display: block;
        }


    /*wishlist gallery*/
    div.wishlistGallery-container {
        display: flex;
        flex-wrap: wrap; 
        justify-content: center;
        gap: 20px;
    }

    div.wishlistGallery {
        width: 225px;
        margin: 0;
        align-items: center;
        box-sizing: border-box;
    }

    div.wishlistGallery img {
        border-radius: 5px;
        width: 225px; 
        height: 225px;
        object-fit: cover;
        object-position: top center;
        display: block; 
        margin-bottom: 5px;
        border: 3px solid #180b94;
        background-color: #efffff; 
    }

    div.wishlistDesc {
        text-align: center;
        margin: 0 auto;
        padding: 5px;
    }


   /*loading bar*/
   #loadingOverlay {
            position: fixed;
            inset: 0;
            background: #68c4ed;
            z-index: 9999;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            opacity: 1;
            transition: opacity 0.4s ease;
        }

        #loadingOverlay.is-hidden {
            opacity: 0;
            pointer-events: none;
        }

        #loadingOverlay p {
            margin: 0;
            padding: 0;
            margin-bottom: 10px;
            font-weight: bold;
            color: #0d1151;
        }

        #loadingBarContainer {
            width: 40%;
            height: 20px;
            background: #c679ff;
            border-radius: 5px;
            border: 10px solid #a33fd5;
            outline: 3px solid #0d1151;
            overflow: hidden;
        }

        #loadingBar {
            width: 0%;
            height: 100%;
            background: #FAE92A;
            background: linear-gradient(90deg, #FAE92A 0%, #F9790B 25%, #ED140D 50%, #F9790B 75%, #FAE92A 100%);
            transition: width 0.2s ease;
        }
        
        
/*MEDIA QUERY (mobile adjustments)*/
    @media only screen and (max-width: 700px) {
            body {
                justify-content: flex-start; 
                padding: 0; 
            }

            #centeredBox {
                position: relative;
                width: auto;
                height: auto;
                top: auto;
                left: auto;
                right: auto;
                bottom: auto;
                overflow: auto;
                margin: 10px;
            }

            .grid-container {
                display: grid;
                grid-template-columns: 1fr !important; 
                grid-template-rows: auto auto 1fr !important;
                width: 100% !important;
                height: auto !important;
            }

            .left-top {
                grid-column: 1;
                grid-row: 1;
                display: none;
            }

            .right {
                grid-column: 1;
                grid-row: 2;
                overflow: visible;
                border-left: none;
            }

            #left-bottom {
                grid-column: 1 !important;
                grid-row: 3 !important;
                height: auto;
                min-height: 350px;
                overflow: visible;
            }

            .menuButton {
                font-size: 18px !important;
            }

            .menuButton img {
                width: 100% !important;
                height: 100% !important;
                max-height: 50px;
                max-width: 50px;
            }

            #mapBackButtonsContainer {
                max-width: 90px;
                height: auto;
            }

        }

        @media only screen and (max-width: 950px) {
            .left-top {
                display: none;   
            }

            .grid-container {
                grid-template-columns: 1fr 3.13fr;   
                grid-template-rows: 1fr;          
            }

            #left-bottom {
                grid-row: 1;   
            }
            
            .menuButton {
                font-size: 0;
            }

            .menuButton img {
                width: 100% !important;
                height: 100% !important;
                max-height: 40px;
                max-width: 40px;
            }

            div.wishlistGallery {
                gap: 10px; 
            }

            div.wishlistGallery {
                flex: 0 1 calc(50% - 10px) !important; 
            }

            div.wishlistGallery::after {
                flex: 0 1 calc(50% - 10px) !important;
            }

            div.wishlistGallery img {
                width: 95%;
                height: auto;
                aspect-ratio: 1;
                object-fit: cover;
            }

        }

        @media only screen and (max-width: 1450px) {
            div.wishlistGallery {
                gap: 10px; 
            }

            div.wishlistGallery {
                flex: 0 1 calc(33.33% - 10px); 
            }

            div.wishlistGallery::after {
                flex: 0 1 calc(33.33% - 10px);
            }

            div.wishlistGallery img {
                width: 95%;
                height: auto;
                aspect-ratio: 1;
                object-fit: cover;
            }
        }

