/* 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: .3rem; /** 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: 90%; } .userInfo span { font-size: 1.1rem; } .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; } main > h1 { margin-top: 0; } .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: 990; display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: auto; padding-top: 3rem; padding-bottom: .3rem; } .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); } /* FORMS */ form { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 18rem; height: max-content; } form .row { width: 100%; display: flex; flex-direction: row; align-items: center; justify-content: space-between; margin: .2rem 0; } form .row .column { display: flex; flex-direction: row; } form h1 { font-size: 1.6rem; margin-bottom: 2rem; } form { font-size: 1.1rem; } form .customNumberInput { width: 100%; } form .statusInfo { margin-top: .5rem; } form .horizontalButtonList { margin-top: 2rem; width: 100%; } form .button, form button { font-size: 1rem; } /* 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); 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); } /**** CUSTOM 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; } /* MISC / GENERAL */ h1 { text-align: center; font-size: 1.8rem; } /* MOBILE OPTIMIZATIONS */ @media only screen and (max-width: 700px) { main { margin-top: 1.5rem; } .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; } }