:root { --black: rgb(16,16,16); --gray: rgb(38,38,38); --white: rgb(240,240,240); --elem-width: min(800px,90vw); --elem-height: min(800px,90vh); --border-radius: 15px; color: var(--white); background: var(--black); font-family: system-ui, sans-serif; } body { display: flex; flex-direction: column; align-items: center; margin-top: 0; } .banner { display: flex; flex-direction: column; justify-content: center; } .banner-background { border-radius: var(--border-radius); background-color: var(--gray); object-fit: cover; } .banner-background, .banner-content { height: var(--elem-height); overflow-y: auto; } .banner-content { margin: 10px; position: relative; top: calc(-1 * var(--elem-height)); } .header { position: sticky; top: 0; display: flex; background: var(--gray); color: var(--white); padding: 10px; margin-bottom: 10px; align-items: center; font-size: 1.2em; width: calc(100vw - 20px); } .header-link { text-decoration: none; font-weight: bold; color: var(--white); padding-left: 0.5em; margin-left: 0.5em; border-left: solid var(--white) 2px; } .header-img { margin-left: 0.8em; height: 2em; width: 2em; border-radius: 100%; object-fit: cover; } .content, .form, .banner, .banner-background { border: solid var(--gray) 3px; padding: 25px; margin: 25px; border-radius: var(--border-radius); width: var(--elem-width); } .form { grid-template-columns: 0.7fr 1fr; display: grid; } .form-key { margin-right: 10px; } .form-input { border: solid var(--gray) 3px; background: var(--black); border-radius: var(--border-radius); color: var(--white); font-size: 1rem; padding: 0.5rem; margin-bottom: 0.5rem; } .form-message { font-style: italic; } .map { width: var(--elem-height); height: var(--elem-height); background: var(--gray); } a { color: var(--white); }