/* VARIABLES */ :root { /** FONT **/ --font-family: 'Liberation Sans', sans-serif; /** colors **/ --color: #fafafa; --color-error: rgb(255, 70, 70); /** glass **/ --glass-bg-dropdown: #3a3b44ef; --glass-bg-dropdown-hover: #55565efa; --glass-bg-color1: #ffffff31; --glass-bg-color2: #ffffff1a; --glass-bg-hover-color1: #ffffff46; --glass-bg-hover-color2: #ffffff1a; --glass-blur: none; --glass-border-color: #ffffff77; --glass-bg: linear-gradient(var(--glass-bg-color1), var(--glass-bg-color2)); --glass-bg-hover: linear-gradient(var(--glass-bg-hover-color1), var(--glass-bg-hover-color2)); --glass-corner-radius: .5rem; /** page background **/ --page-background-color1: #131d25; --page-background-color2: #311d30; --page-background: linear-gradient(-190deg, var(--page-background-color1), var(--page-background-color2)); /** global message banner **/ --bg-globalmessage: linear-gradient(135deg, #4b351c, #411d52, #1c404b); } @supports(backdrop-filter: blur(10px)) { :root { --glass-bg-dropdown: #ffffff1a; --glass-bg-dropdown-hover: #ffffff46; --glass-blur: blur(18px); } } /* BASE LAYOUT */ body { margin: 0; padding: 0; width: 100vw; min-height: 100vh; font-family: var(--font-family); background: var(--page-background); color: var(--color); overflow-x: hidden; } .baselayout { display: flex; flex-direction: column; justify-content: start; align-items: center; min-height: 100vh; width: 100vw; max-width: 100vw; } main { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; flex-grow: 1; width: 100%; margin-top: 5vh; } .userpanel { display: flex; flex-direction: row; justify-content: center; align-items: center; margin-top: 1rem; font-size: 1rem; width: 94%; } .userinfo > span { font-size: 1.1rem; vertical-align: middle; } .userinfo > img { vertical-align: middle; width: 1.8rem; height: 1.8rem; margin: .5rem; } .userpanel > .horizontalbuttonlist { margin-left: auto; margin-right: 0; } .userbalancewarn { color: var(--color-error); font-weight: bold; } .content { display: flex; flex-direction: column; justify-content: start; align-items: center; width: 100%; flex-grow: 1; } .globalmessage { width: 100vw; z-index: 999; display: flex; justify-content: center; align-items: center; background: var(--bg-globalmessage); padding: .3rem 0; } .globalmessage div { width: 96%; text-align: center; word-break: keep-all; word-wrap: break-word; box-sizing: border-box; } /* DROP DOWN MENUS */ .dropdownmenu { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; border-radius: var(--glass-corner-radius); } .dropdownbutton { width: fit-content; z-index: 190; box-shadow: none; text-align: center; justify-content: center; } .dropdownbutton, .dropdownchoice { font-size: 1rem; } .dropdownlist { position: absolute; display: flex; flex-direction: column; pointer-events: none; border-radius: var(--glass-corner-radius) !important; backdrop-filter: var(--glass-blur); z-index: 200; margin-top: 3.2rem; opacity: 0%; transition: opacity 100ms; } .dropdownchoice { box-shadow: none; border-radius: 0 !important; margin: 0; margin-top: -1px; text-align: center; justify-content: center; background: var(--glass-bg-dropdown) !important; backdrop-filter: none !important; } .dropdownchoice:hover { background: var(--glass-bg-dropdown-hover) !important; } .dropdownlist :first-child { border-top-left-radius: var(--glass-corner-radius) !important; border-top-right-radius: var(--glass-corner-radius) !important; } .dropdownlist :last-child { border-bottom-left-radius: var(--glass-corner-radius) !important; border-bottom-right-radius: var(--glass-corner-radius) !important; } .dropdownvisible .dropdownlist { opacity: 100%; visibility: visible; pointer-events: visible; } /* FOOTER */ .footer { z-index: 900; display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: auto; padding-top: 3rem; padding-bottom: .3rem; text-align: center; } .footer div { font-size: .95rem; 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; } /* TABLES */ table { border-collapse: collapse; border-spacing: 0; text-align: left; border-radius: var(--glass-corner-radius); backdrop-filter: var(--glass-blur); } tr { background: var(--glass-bg-color1); } tr:nth-child(2n+2) { background: var(--glass-bg-color2); } /* Rounded corners on table cells apparently don't work with Firefox, so Firefox users won't have rounded corners on tables. Can't fix that by myself. */ table tr:first-child th:first-child { border-top-left-radius: var(--glass-corner-radius); } table tr:first-child th:last-child { border-top-right-radius: var(--glass-corner-radius); } table tr:last-child td:first-child { border-bottom-left-radius: var(--glass-corner-radius); } table tr:last-child td:last-child { border-bottom-right-radius: var(--glass-corner-radius); } /* - */ td, th { padding: .5rem .8rem; } th { text-align: left; border-bottom: 1px solid var(--color); } /* BUTTONS & OTHER INPUT ELEMENTS */ .button, button { display: flex; align-items: center; justify-content: center; font-family: var(--font-family); text-decoration: none; text-align: center !important; background: var(--glass-bg); color: var(--color); padding: .6rem .8rem; outline: none; border: 1px solid var(--glass-border-color); border-radius: var(--glass-corner-radius); /*backdrop-filter: var(--glass-blur); disabled for performance reasons*/ cursor: pointer; user-select: none; } .button:hover, button:hover, .button:active, button:active { background: var(--glass-bg-hover); } .button:disabled, button:disabled { opacity: 40%; } a { color: var(--color); } input[type="number"] { -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"] { background: var(--glass-bg-color2); outline: none; padding: .4rem .6rem; font-size: .9rem; color: var(--color); text-align: center; border: none; border-radius: var(--glass-corner-radius); } /**** OTHER CLASSES ****/ .centeringflex { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 2rem 1rem; } .horizontalbuttonlist { display: flex; flex-direction: row; align-items: flex-end; justify-content: space-between; } .horizontalbuttonlist > .button, .horizontalbuttonlist > button, .horizontalbuttonlist > div { margin: 0 .5rem; } .errortext { margin-top: 1rem; color: var(--color-error); } .nodisplay { display: none !important; } .heading { margin-top: 0; } /* MISC / GENERAL */ h1 { text-align: center; font-size: 1.8rem; } /* MOBILE OPTIMIZATIONS */ @media only screen and (max-width: 700px) { main { margin-top: 2rem; } .globalmessage span { width: 90%; } .userpanel { flex-direction: column; justify-content: start; align-items: center; } .userpanel > .horizontalbuttonlist { margin-right: 0; margin-left: 0; margin-top: .5rem; justify-content: center; flex-wrap: wrap; } .userpanel > .horizontalbuttonlist > .button, .userpanel > .horizontalbuttonlist > .dropdownmenu { margin: 0.25rem; } }