/* Fonts */ @font-face { font-family: "Inter"; src: url('/static/fonts/Inter-Regular.ttf'); font-weight: normal; font-style: normal; } @font-face { font-family: "Inter"; src: url('/static/fonts/Inter-Bold.ttf'); font-weight: bold; font-style: normal; } /* Variables */ :root { --font-family: "Inter"; --color: #fafafa; --color-disabled: #ffffff50; --color-error: #ff817c; --bg-page: linear-gradient( -10deg, #071c29 10%, #4a8897 ); --bg-color: #ffffff35; --bg-color2: #ffffff25; --bg-hover-color: #ffffff50; --border-color: #ffffff50; --bg-globalmessage: #161616; --border-radius: .6rem; --element-padding: .6rem .8rem; } /* General */ body, input, select, button, .button { font-family: var(--font-family); } body { margin: 0; padding: 0; width: 100vw; min-height: 100vh; font-size: 17px; background: var(--bg-page); color: var(--color); overflow-x: hidden; } a { color: var(--color); } h1 { font-size: 28px; } h1, h2, h3, h4 { text-align: center; } input[type="number"] { width: 8rem; -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield; } input[type="number"]::-webkit-inner-spin-button { display: none; } input[type="text"], input[type="password"], input[type="number"], select { padding: var(--element-padding); text-align: center !important; font-size: 16px; color: var(--color); border: none; outline: none; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--bg-color); } input[type="text"]::placeholder, input[type="password"]::placeholder, input[type="number"]::placeholder, select > option:disabled { color: var(--color-disabled); } select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("/static/material-icons/arrow-drop-down.svg"); background-repeat: no-repeat; background-position: right; background-size: 1.5rem; } table { border-collapse: collapse; border-spacing: 0; text-align: left; border-radius: var(--border-radius); } tr > th, tr > td { background: var(--bg-color); } tr:nth-child(2n+2) > td { background: var(--bg-color2); } table tr:first-child th:first-child { border-top-left-radius: var(--border-radius); } table tr:first-child th:last-child { border-top-right-radius: var(--border-radius); } table tr:last-child td:first-child { border-bottom-left-radius: var(--border-radius); } table tr:last-child td:last-child { border-bottom-right-radius: var(--border-radius); } td, th { padding: .5rem .8rem; } th { text-align: left; border-bottom: 1px solid var(--border-color); } /* Basic Layout */ .baselayout { justify-content: start; align-items: center; min-height: 100vh; width: 100vw; max-width: 100vw; } .globalmessage { width: 100vw; z-index: 999; background: var(--bg-globalmessage); padding: .3rem 0; } .globalmessage > div { width: 96%; word-break: keep-all; word-wrap: break-word; box-sizing: border-box; } .userpanel { flex-direction: row; margin-top: 1rem; width: 94%; gap: 2rem; } .userinfo > span { vertical-align: middle; } .userinfo > img { vertical-align: middle; width: 1.8rem; height: 1.8rem; margin: .5rem; } .userpanel-buttons { gap: .5rem; } .userpanel-buttons > .button, .userpanel-buttons button { height: 1.2rem; } .userbalancewarn { color: var(--color-error); font-weight: bold; } main { justify-content: flex-start; align-items: center; flex-grow: 1; width: 100%; } .content { justify-content: start; align-items: center; flex-grow: 1; padding: 2rem 0; } .footer-container { z-index: 900; margin-top: auto; pointer-events: none; } .footer { margin-top: 1.5rem; padding-bottom: .3rem; text-align: center; pointer-events: initial; } .footer > div { font-size: 16px; margin-top: .15rem; margin-bottom: .15rem; } .footer > div::after { margin-left: .5rem; content: "-"; margin-right: .5rem; } .footer > div:last-child::after { content: none; margin-left: 0; margin-right: 0; } /* Common */ .flex { display: flex; } .flex-row { flex-direction: row; } .flex-column { flex-direction: column; } .flex-center { justify-content: center; align-items: center; } .flex-wrap { flex-wrap: wrap; } .text-align-right { text-align: right; } .text-align-center { text-align: center; } .gap-1rem { gap: 1rem; } .buttons { display: flex; flex-direction: row; align-items: center; justify-content: end; gap: 1rem; } .button, button { display: flex; align-items: center; justify-content: center; outline: none; border: 1px solid var(--border-color); border-radius: var(--border-radius); width: fit-content; } .button, button, .dropdownchoice { padding: var(--element-padding); font-size: 16px; text-align: center !important; text-decoration: none; color: var(--color); box-sizing: content-box; cursor: pointer; user-select: none; background: var(--bg-color); } .button:hover, button:hover, .button:active, button:active { background: var(--bg-hover-color); } .button:disabled, button:disabled { opacity: 40%; } .formheading { margin-bottom: 2rem; } .forminfo { width: fit-content; min-width: 16rem; text-align: left; display: flex; flex-direction: row; justify-content: space-between; gap: 2rem; padding-bottom: .15rem; border-bottom: 1px solid #ffffff20; } .forminfo > span:last-child { float: right; } .appform, .appform > * { max-width: 90vw; } .appform > .forminput { width: 100%; flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; } .forminput > input, .forminput > select { width: 100% !important; } .forminput > .keyboard-input, #transfer-recipient { /* the keyboard has a 5px padding */ margin-left: 5px !important; margin-right: 5px !important; } .appform > .buttons { margin-top: 1rem; } #statusinfo { margin-top: 1rem; } .dropdownmenu { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; border-radius: var(--border-radius); } #dropdownnope { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; margin: 0; padding: 0; } .dropdownbutton { z-index: 190; } .dropdownbutton > img { width: auto; height: 100%; } .dropdownlist { margin-top: 3rem; position: absolute; display: flex; flex-direction: column; border-radius: var(--border-radius); box-shadow: 0 0 .5rem #00000025; } .dropdownlist, #dropdownnope { visibility: hidden; opacity: 0%; pointer-events: none; } .dropdownvisible .dropdownlist, .dropdownvisible #dropdownnope { opacity: 100%; background: #00000020; visibility: visible; pointer-events: visible; z-index: 100; } .dropdownchoice { z-index: 200; margin: 0; text-decoration: none; width: initial; min-width: max-content; border-bottom: 1px solid var(--border-color); border-left: 1px solid var(--border-color); border-right: 1px solid var(--border-color); } .dropdownchoice:first-child { border-top: 1px solid var(--border-color); border-top-left-radius: var(--border-radius); border-top-right-radius: var(--border-radius); } .dropdownchoice:last-child { border-bottom: 1px solid var(--border-color); border-bottom-left-radius: var(--border-radius); border-bottom-right-radius: var(--border-radius); } .dropdownchoice:hover { background: var(--bg-hover-color); } .customnumberinput { height: 2.2rem; display: flex; flex-direction: row; align-items: center; gap: .25rem; } .customnumberinput button { width: 2.2rem !important; height: 2.2rem !important; padding: 0; margin: 0; } .customnumberinput input[type="number"] { height: 100%; width: 4rem; padding: 0; margin: 0; background: var(--bg-color2); -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield; } .errortext { font-weight: bold; color: var(--color-error); } .nodisplay { display: none !important; } /* Login */ .userlist-container { flex-grow: 1; padding-bottom: 10vh; } .userlist { width: 60%; list-style: none; margin: 0; padding: 1rem; gap: 1rem; } .userlist > li { padding: .1rem .6rem; } .userlist > li > img { margin-right: auto; margin-left: 0; height: 2rem; width: 2rem; } .userlist > li > div { flex-grow: 1; text-align: center; padding: .7rem 1.1rem; } .loginform { gap: 1rem; flex-direction: row; } .loginform > .buttons { margin-top: 0; } #passwordoverlay-container { position: fixed; width: 100vw; height: 100vh; top: 0; right: 0; background: var(--bg-page); align-items: center; padding-top: 10vh; z-index: 200; } /* Drinks List */ .drinks-list { justify-content: center; align-items: start; padding: 0; width: 60%; } .drinks-list > li { flex-grow: 1; } .drinks-list > li > .button { width: 100%; justify-content: space-between; padding: .7rem 1.1rem; } /* Statistics */ .statistics-container { display: flex; flex-direction: row; align-items: flex-start; justify-content: center; flex-wrap: wrap; max-width: 90vw; gap: 1rem; } .statistics-container > div { height: 100%; width: 16rem; } /* Blur */ @supports (backdrop-filter: blur()) { .dropdownvisible #dropdownnope { backdrop-filter: blur(16px); } #passwordoverlay-container { background: #00000020; backdrop-filter: blur(64px); /* fallback */ backdrop-filter: blur(128px); } } /* Responsive */ @media only screen and (max-width: 1200px) { .userlist { width: 75%; } .drinks-list { width: 70%; } } @media only screen and (max-width: 1000px) { .userlist { width: 90%; } .drinks-list { width: 80%; } } @media only screen and (max-width: 860px) { .userpanel { flex-direction: column; gap: 1rem; } .userlist { gap: 0.25rem; } .userlist > li { width: 100%; } .userlist > li > div { margin-right: 2rem; } .loginform { flex-direction: column; } .drinks-list { width: 90%; } .dropdownlist { width: 14rem; right: calc(50vw - 7rem); /* regard width */ left: auto; } #keyboard { display: none !important; } }