* {
    overflow: hidden;
}
:root {
    --primary-color:#c7dac4;
    --secondary-color:#BBCDBA;
    --tertiary-color:#525252;
    --alt1-color : #C5B7CD;
    --alt2-color : #E2E3BA;
    --alt1-color-shadow : #6f4b84;
    --alt2-color-shadow : #8b8c57;
}
body {
    left: 0px;
    top: 0px;
    margin: 0px;
    padding: 0px;
    width: 100vw;
    height: 100vh;
}
@font-face {
    font-family: ENGR;
    src: url(./fonts/ENGR.ttf);
}
@font-face {
    font-family: Baskerville-Bold;
    src: url(./fonts/Baskerville-Bold.ttf);
}
@font-face {
    font-family: Baskerville-SemiBold;
    src: url(./fonts/Baskerville-SemiBold.ttf);
}
@font-face {
    font-family: UtopiaStd-DispIt;
    src: url(./fonts/UtopiaStd-DispIt.otf);
}
@font-face {
    font-family: UtopiaStd-SemiboldDisp;
    src: url(./fonts/UtopiaStd-SemiboldDisp.otf);
}
@font-face {
    font-family: UtopiaStd-Semibold;
    src: url(./fonts/UtopiaStd-Semibold.otf);
}            
@font-face {
    font-family: UtopiaStd-Subh;
    src: url(./fonts/UtopiaStd-Subh.otf);
}
@font-face {
    font-family: UtopiaStd-Bold;
    src: url(./fonts/UtopiaStd-Bold.otf);
}
@font-face {
    font-family: UtopiaStd-Regular;
    src: url(./fonts/UtopiaStd-Regular.otf);
}
@font-face {
    font-family: Vogue;
    src: url(./fonts/Vogue.ttf);
}
@keyframes spin {
    from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}
a {color: #000; text-decoration: none;}
a:link {color: #000; text-decoration: none;}
a:visited {color: #000; text-decoration: none;}
a:hover {color: #000; text-decoration: none;}
a:active {color: #000; text-decoration: none;}
/* COVER FRAME */
@media screen {
    #redirect > img {
        position: inherit;
        z-index: 903;
        height: 900px;
        bottom: 10px;
        right: 0%;
    }
    #redirect > #redirectframe {
        opacity: 1;
        pointer-events: none;
        position: fixed;
        width: calc(100vw - 110px);
        height: calc(100vh - 110px);
        border-style: solid;
        border-width: 55px;
        border-color: #ffffff;
        top: 0;
        left: 0;
        transition: opacity 1s ease-in-out;
        z-index: 902;
    }
    #redirect > #redirectcontent {
        position: inherit;
        padding: 7vw;
        width: 35vw;
        height: 84vh;
        z-index: 901;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 904;
    }
    #redirect > #redirectcontent > #redirectqrcode {
        width: 20vw;
        height: 20vw;
        backdrop-filter: contrast(0.65) brightness(2.5) blur(6px);      
        border-radius: 2vw;
        border-color: black;
        border-width: 3px;
        border-style: solid;
        margin: 4vw;
        align-items: center;
        display: flex;
        justify-content: center;
    }
    #redirect > #redirectcontent > #redirectqrcode > img {
        width: 90%;
        height: 90%;
    }
    #redirect > #redirectcontent > #redirectyear {
        font-family: ENGR;
        font-size: 3.5vh;
        color: black;
        margin-bottom: 2vh;
    }
    #redirect > #redirectcontent > #redirecttitle {
        font-family: Vogue;
        font-size: 8vh;
        color: black;
        }
    #redirect > #redirectcontent > #redirectinfo {
        font-family: Baskerville-Bold;
        font-size: 2vh;
        line-height: 2.35vh;
        text-align: center;
        text-shadow: 0px 0px 3px white;
    }
    #redirect > #redirectradial {
        position: fixed;
        width: 400%;
        height: 400%;
        right: -175%;
        bottom: -170vh;
        background: repeating-conic-gradient(#fff 0deg 3deg, #e8e8e8 3deg 6deg);
        animation-name: spin;
        animation-duration: 500s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }
    #redirect {
        visibility:'hidden'; 
    }
}

@media screen {
    #pageframe {
        background-color: var(--primary-color);
        opacity: 1;
        position: fixed;
        width: 100%;
        height: 100%;
        width: 100vw;
        height: 100vh;
        left:0vw;
        top:0vh;
        transition: opacity 1s ease-in-out;
        transition: left 1s ease-in-out;
    }
    #pageframe > #pageradial {
        position: absolute;
        width: 400%;
        height: 400%;
        right: -150%;
        top: -150%;
        background: repeating-conic-gradient(var(--primary-color) 0deg 3deg, var(--secondary-color) 3deg 6deg);
        animation-name: spin;
        animation-duration: 500s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }
    #pageborder {
        opacity: 1;
        pointer-events: none;
        position: fixed;
        border-style: solid;
        border-width: 10vw;
        border-color: var(--primary-color);
        width: calc(101% - 20vw);
        height: calc(100% - 20vw);
        top: 0;
        left: 0;
        transition: opacity 1s ease-in-out;
        transition: left 1s ease-in-out;
    }
    #pagelogos {
        position: fixed;
        width: 100vw;
        bottom: 0;
        left: 0vw;
        height: 12vh;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
        background-color: var(--primary-color);
        transition: left 1s ease-in-out;
    }
    #pagelogos > img {
        height: 8vw;
        margin-bottom: 3vh;
        margin-left: 3vh;
        margin-right: 3vh;
    }
}
/* LOADING PAGE */
@media screen {
    #loading {
        position: fixed;
        width: 100vw;
        height: 100vh;
        left: 0vw;
        top: 0vh;
        transition: left 1s ease-in-out;
    }
    #loading > #loadingtitlelayout {
        width: 100vw;
        height: 87vh;
        left: 0px;
        top: 0px;
        color: black;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
    #loading > #loadingtitlelayout > #loadingdate {
        font-family: ENGR;
        font-size: 3.5vh;
        color: black;
        margin-bottom: 2vh;
    }
    #loading > #loadingtitlelayout > #loadingtitle {
        font-family: Vogue;
        font-size: 8vh;
        color: black;
        margin-bottom: 8vh;
    }
    #loading > #loadingtitlelayout > img {
        height: 18vh;
    }
    #loading > #loadingtitlelayout > #loadingloadingbar{
        margin: 2vh;
    }
    #loading > #loadingtitlelayout > #loadingsubheading {
        font-family: Baskerville-Bold;
        color: black;
        font-size: 2vh;
        letter-spacing: -0.125vw;
    }
}
/* AGE GATE */
@media screen {
    #agegate {
        position: fixed;
        top: 0vh;
        left: 100vw;
        width: 100vw;
        height: 100vh;
        transition: left 1s ease-in-out;
    }
    #agegate > #agegtitlelayout {
        color: black;
        width: 100vw;
        height: 87vh;
        position: fixed;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
    #agegate svg {
        margin-bottom: 4vh;
    }
    #agegate > #agegtitlelayout > #agegateheading{
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 4vh;
        line-height: 3.35vh;
        margin-bottom: 10vh;
        width: 60vw;
        text-align: center;
        overflow: visible;
    }
    #agegate > #agegtitlelayout > #agegsubheading {
        font-family: Baskerville-Bold;
        font-size: 2vh;
        line-height: 2.35vh;
        letter-spacing: -0.125vw;
        width: 70vw;
        text-align: center;
        background: var(--primary-color);
        width: 70vw;
        padding: 5vw;
        padding-left: 15vw;
        padding-right: 15vw;
    }
}
/* BOTTLE SELECTOR */
@media screen {
    #bottle {
        position: fixed;
        left: 100vw;
        width: 100vw;
        height: 90vh;
        transition: left 1s ease-in-out;
        left: 0vw;
        display: flex;
        justify-content: center;
        align-items: center;
        align-content: center;
        flex-direction: column;
        flex-wrap: nowrap;
    }
    #bottle > #bottlelayout {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: center;
        height: 65vh;
        padding-top: 10vh;
    }
    #bottle > #bottlelayout > #bottleheading {
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 4vh;
        line-height: 3.35vh;
        margin-bottom: 5vh;
        width: 60vw;
        text-align: center;
        overflow: visible;
    }
    #bottle > #bottlelayout > button {
        text-align: left;
        padding-left: 2vw;
        color: black;
        width: 60vw;
        height: 7vh;
        border-width: 0;
        margin: 1vh;
        border-radius: 1vh;
    }
    #bottle > #bottlelayout > button > p {
        margin: 0px;
        margin-block-start: 0px;
        margin-block-end: 0px;
        margin-inline-start: 0px;
        margin-inline-end: 0px;
    }
    #bottle > #bottlelayout > button > img {
        position: relative;
        height: 100%;
        right: 0%;
        float: right;
    }
    #bottle > #bottlelayout > #selectbuttonA {
        background-color: #C7DAC4;
        box-shadow: 0vh 0.5vh #525252;
    }
    #bottle > #bottlelayout > #selectbuttonB {
        background-color: #DACEDB;
        box-shadow: 0vh 0.5vh #434343;
    }    
    #bottle > #bottlelayout > #selectbuttonC {
        background-color: #F3F4D1;
        box-shadow: 0vh 0.5vh #414141;
    }

}
/* TUTORIAL */
@media screen {
    #tutorial {
        position: fixed;
        left: 0vw;
        width: 100vw;
        height: 100vh;
        transition: left 1s ease-in-out;
    }
    #tutorialtitlelayout {
        color: black;
        width: 100vw;
        height: 100vh;
        position: fixed;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
    #tutorial > #tutorialtitlelayout > #tutorialheading{
        background-color: var(--primary-color);
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 2vh;
        text-align: center;
        line-height: 2.5vh;
        margin-bottom: 10vh;
        width: 70vw;
        padding: 3vw;
        padding-left: 15vw;
        padding-right: 15vw;
    }
    #tutorial > #tutorialtitlelayout > button {
        background-color: black;
        font-family: UtopiaStd-Subh;
        font-size: 3vh;
        color: white;
        width: 50vw;
        height: 13vw;
        border-radius: 1vh;
        border-width: 0;
        margin-top: 4vh;
    }
    #tutorial > #tutorialtitlelayout > a {
        margin-top: 8vh;
    }
}
/* RETICLE */
@media screen {
    #reticle {
        position: fixed;
        margin: 0px;
        padding: 0px;
        width: 100vw;
        height: 100vh;
        width: 100%;
        height: 100%;
        left:0px;
        top:0px;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-end;
        align-items: center;
        opacity: 1;
        transition: opacity 1s ease-in-out;
    }
    #reticle > svg {
        position: absolute;
        width: 100vh;
        left: 50%;
        transform: translate(-50%, 0);
    }
    #reticle > #reticletext {
        z-index: 1;
        color: white;
        margin-bottom: 15vw;
        font-family: UtopiaStd-Subh;
        width: 64vw;
        text-align: center;
        font-size: 6vw;
        text-shadow: 0 0 8px #0006;
    }
    @media screen and (orientation:landscape) {
        #reticle > svg {
            top: 50%;
            width: 100vw;
            transform: translate(-50%, -50%);
        }
    }
}
/* SIGNUP */
@media screen {
    #signup {
        border-top: 0.4vh solid black;
        overflow: hidden;
        font-family: UtopiaStd-SemiboldDisp;
        position: fixed;
        width: 100vw;
        height: 50vh;
        background-color: var(--primary-color);
        bottom: -55vh;
        transition: bottom 1s ease-in-out;
    }
    #signup > #signupclose {
        position: absolute;
        right: 0;
        z-index: 1;
    }
    #signup > #signradial {
        position: absolute;
        width: 300%;
        height: 300%;
        right: -100%;
        top: -100%;
        background: repeating-conic-gradient(var(--primary-color) 0deg 3deg, var(--secondary-color) 3deg 6deg);
        animation-name: spin;
        animation-duration: 200s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }
    #signup > #signupframe {
        pointer-events: none;
        position: absolute;
        top: 0;
        border: 4vh solid var(--primary-color);
        width: calc(100.1vw - 8vh);
        height: calc(100% - 4vh);
    }
    #signup > #signuplayout {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        left: 0vw;
        transition: left 1s ease-in-out;
    }

    #signup > #signuplayout > button {
        color: white;
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 1.75vh;
        width: 50vw;
        height: 5vh;
        margin: 1vh;
        border-radius: 0.75vh;
        border-width: 0;
    }
    #signup > #signuplayout > .blackbutton {
        background-color: black;
    }
    #signup > #signuplayout > .redbutton {
        background-color: #832526;
    }
    #signup > #signuplayout > #replaybutton {
        width: 51vw;
        height: 6vh;
        border-width: 4px;
        border-style: solid;
        border-color: #ffffff;
    }
    #signup > #signuplayout > div {
        text-align: center;
        font-size: 1.25vh;
        background-color: var(--primary-color);
        padding-left: 6vh;
        padding-right: 6vh;
        padding-top: 1vh;
        padding-bottom: 1vh;
    }
    #signup > #signupformlayout {
        overflow: hidden;
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        border-top: 0.3vh solid black;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-end;
        align-items: center;
        left: 100vw;
        transition: left 1s ease-in-out;
    }
    #signup > #signupformlayout > h1{
        padding-left: 10vw;
        padding-right: 10vw;
        padding-top: 2vh;
        padding-bottom: 2vh;
        width: 80vw;
        font-family: UtopiaStd-SemiboldDisp;
        color: black;
        font-size: 1.75vh;
        background: var(--primary-color);
        text-align: center;
    }
    #signup > #signupformlayout > p {
        font-family: UtopiaStd-SemiboldDisp;
        background: var(--primary-color);
        text-align: center;
        font-size: 1vh;
        padding: 2vh;
        padding-left: 10vw;
        padding-right: 10vw;
        width: fit-content;
    }
    #signup > #signupformlayout > input {
        background: #fff;
        color: #525865;
        border-radius: 4px;
        border: 1px solid #d1d1d1;
        box-shadow: inset 1px 2px 8px rgba(0, 0, 0, 0.07);
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 1.75vh;
        outline: none;
        width: 50vw;
        height: 5vh;
        margin: 1vh;
        border-radius: 0.75vh;
        border-width: 0;
    }
    #signup > #signupformlayout > input:hover {
        box-shadow: inset 1px 2px 8px rgba(0, 0, 0, 0.02);
    }
    #signup > #signupformlayout > input:focus {
        color: #4b515d;
        border: 1px solid #B8B6B6;
        box-shadow: inset 1px 2px 4px rgba(0, 0, 0, 0.01), 0px 0px 8px rgba(0, 0, 0, 0.2);
    }
    #signup > #signupformlayout > button {
        color: white;
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 1.75vh;
        width: 50vw;
        height: 5vh;
        margin: 1vh;
        border-radius: 0.75vh;
        border-width: 0;
        background-color: #832526;
    }
    #signup > #signupthankyoulayout {
        overflow: hidden;
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        border-top: 0.3vh solid black;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        left: 100vw;
        transition: left 1s ease-in-out;
    }   
    #signup > #signupthankyoulayout > h1 {
        padding-left: 10vw;
        padding-right: 10vw;
        padding-top: 2vh;
        padding-bottom: 2vh;
        width: 80vw;
        font-family: UtopiaStd-SemiboldDisp;
        color: black;
        font-size:4vh;
        background: var(--primary-color);
        text-align: center;
    }
    #signup > #signupthankyoulayout > p {
        font-family: UtopiaStd-SemiboldDisp;
        background: var(--primary-color);
        text-align: center;
        font-size: 2.5vh;
        padding: 2vh;
        padding-left: 10vw;
        padding-right: 10vw;
        width: fit-content;
    }
    #signup > #signupthankyoulayout > button {
        color: white;
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 3vh;
        width: 60vw;
        height: 8vh;
        margin: 2vh;
        border-radius: 0.75vh;
        border-width: 0;
        background-color: #832526;
    }
}
/* MENU BAR */
@media screen {
    #sidemenu_blurpanel {
        pointer-events: none;
        opacity: 0;
        position: fixed;
        width: 100vw;
        height: 100vh;
        left: 0px;
        top: 0px;
        backdrop-filter: brightness(0.125);
        -webkit-backdrop-filter: blur(10px) brightness(0.25);
        transition: opacity 2s;
    }
    #menubar {
        position: fixed;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: center;
        background: black;
        top: 0;
        width: 100vw;
        height: 5vh;
        border-bottom: 0.3vh white solid;
    }
    #menubar > #menubarlogo {
        position: relative;
        font-family: Vogue;
        font-size: 3vh;
        color:white;
        left: 3vw;
        top: 0.5vh;
    }
    #sidemenu {
        position: fixed;
        height: 90vh;
        width: 70vw;
        top: 5vh;
        background-color: var(--primary-color);
        display: flex;
        right: -100vw;
        flex-direction: column;
        transition: right 1s ease-in-out;
    }
    #menuitems {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-evenly;
        align-items: center;
        z-index: 1;
        color: black;
    }
    #menuitems > #menuframe {
        position: absolute;
        width: calc(100% - 12vw);
        height: calc(100% - 12vw);
        border: 6vw solid var(--primary-color);
        z-index: -1;
    }
    #menuitems > img {
        height: 2vh;
    }
    #menuitems div, button {
        font-family: UtopiaStd-Semibold;
        line-break: strict;
        white-space: nowrap;
        font-size: 2.5vh;
        padding: .5vh;
    }

    #menuitems button {
        font-family: UtopiaStd-SemiboldDisp;
        font-size: 1.75vh;
        overflow: hidden;
    }

    #sidemenu > #menuradial {
        position: absolute;
        width: 400%;
        height: 300%;
        right: -200%;
        top: -100%;
        background: repeating-conic-gradient(var(--primary-color) 0deg 3deg, var(--secondary-color) 3deg 6deg);
        animation-name: spin;
        animation-duration: 200s;
        animation-iteration-count: infinite;
        animation-timing-function: linear;
    }
    #sidemenu > #menuitems > #otherbottles {
        width: 100%;
        padding-top: 4vh;
        padding-bottom: 3vh;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        font-size: 2.5vh;
    }
    #sidemenu > #menuitems > #otherbottles > #menubottles {
        font-size: 3vh;
        width: inherit;
        text-align: center;
        background: var(--primary-color);
        padding-top: 1vh;
        padding-bottom: 1vh;
    }
    #sidemenu > #menuitems > #otherbottles > button {
        font-size: 2.5vh;
        color: black;
        width: 80%;
        height: 4vh;
        border-width: 0;
        margin: 2vh;
        border-radius: 1vh;
    }
    #sidemenu > #menuitems > #otherbottles > #buttonA {
        box-shadow: 0vh 0.5vh var(--alt1-color-shadow);
    }
    #sidemenu > #menuitems > #otherbottles > #buttonB {
        box-shadow: 0vh 0.5vh var(--alt2-color-shadow);
    }    
    #sidemenu #menuitemdate {
        font-family: ENGR;
        font-size: 2.75vh;
    }    
    #sidemenu #menuitemtitle {
        font-family: Vogue;
        font-size: 7vh;
    }
}

@media screen {
    #how {
        position: fixed;
        left: 0vw;
        width: 100vw;
        height: 100vh;
        transition: left 1s ease-in-out;
    }
    #how > #howtitlelayout > #howtitle {
        font-family: UtopiaStd-Bold;
        font-size: 4vh;
        color: black;
        padding-top: 5vh;
        padding-bottom: 5vh;
    }
    #how > #howtitlelayout {
        color: black;
        width: 100vw;
        height: 100vh;
        position: fixed;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
    #how > #howtitlelayout > #howheading{
        background-color: var(--primary-color);
        font-family: UtopiaStd-SemiboldDisp;
        text-align: center;
        font-size: 2vh;
        line-height: 2.5vh;
        margin-bottom: 4vh;
        width: 70vw;
        padding: 3vw;
        padding-left: 15vw;
        padding-right: 15vw;
    }
    #how > #howtitlelayout > button {
        background-color: black;
        font-family: UtopiaStd-Subh;
        font-size: 3vh;
        color: white;
        width: 50vw;
        height: 13vw;
        border-radius: 1vh;
        border-width: 0;
        margin-top: 4vh;
    }
    #how > #howtitlelayout > a {
        margin-top: 4vh;
    }}