#app-main { font-family: 'Hack', monospace; max-width: 1280px; margin: 0 auto; padding: 1rem 1rem 1rem 1rem; text-align: center; display: flex; flex-direction: column; align-content: center; align-items: center; flex-grow: 1; } #app { margin: 0 auto; text-align: center; align-content: center; justify-content: center; min-height: 100% !important; display: flex; flex-direction: column; } .logo { height: 6em; padding: 1.5em; } .logo:hover { filter: drop-shadow(0 0 2em #646cffaa); } .logo.preact:hover { filter: drop-shadow(0 0 2em #673ab8aa); } .ascii-art { font-family: 'Hack', monospace; text-align: center; background-color: #161f30; padding: 2px; margin: 8px; font-family: Hack, monospace; font-size: 10pt; overflow-x: auto; white-space: pre } @media (max-width: 480px) { #app-main { max-width: 100%; padding: 0; } .main-info { max-width: 90%; } } @media (max-width: 1150px) and (min-width: 480px) { #app-main { max-width: 100%; padding: 0; } .main-info { max-width: 80%; } } @media (min-width: 1150px) { .main-info { max-width: 1280px; margin-top: 72px; } } .main-info-image { width: 128px; height: 128px; border-radius: 100%; margin: 6px 6px 6px 6px; } .main-info-title { font-size: 42pt; } .main-info-subtitle { font-size: 26pt; font-style: italic; color: #5c6370; } .quiet { color: var(--color-gray); font-style: italic; } .section { font-size: 22pt; } .highlight { color: #e5c07b; } .back-shadows { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: -1; background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, var(--color-bg) 10%, var(--color-bg) 90%, rgba(0, 0, 0, 0) 100%); } #animated-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -10; } @media (max-width: 480px) { .back-shadows { margin: auto; max-width: 80%; } .main-info-title { font-size: 32pt; } .main-info-subtitle { font-size: 18pt; } } @media (max-width: 1150px) and (min-width: 480px) { .back-shadows { margin: auto; max-width: 60%; } .main-info-title { font-size: 42pt; } .main-info-subtitle { font-size: 26pt; } } @media (min-width: 1150px) { .back-shadows { margin: auto; max-width: 50%; } .main-info-title { font-size: 42pt; } .main-info-subtitle { font-size: 26pt; } } @media (max-width: 480px) { .about-paragraph { margin: auto; font-size: 16pt; max-width: 90%; } } @media (max-width: 1150px) and (min-width: 480px) { .about-paragraph { margin: auto; font-size: 18pt; max-width: 80%; } } @media (min-width: 1150px) { .about-paragraph { margin: auto; font-size: 18pt; max-width: 60%; } } /* footer */ /* if #app-main is taller than the viewport, push the footer to the bottom of the page */ .footer-container { position: fixed; bottom: 0; width: 100%; z-index: 9999; margin: auto; } .footer-container { position: static; } .footer { max-width: 1280px; margin-top: 2em; margin-left: auto; margin-right: auto; padding-top: 20pt; padding-bottom: 12pt; align-items: center; justify-content: center; align-self: center; border-top: 2px solid #3e4451; display: flex; flex-direction: row; } @media (max-width: 480px) { .footer { max-width: 90%; } } @media (max-width: 1300px) and (min-width: 480px) { .footer { max-width: 80%; } } @media (min-width: 1300px) { .footer { max-width: 1280px; } } .footer-begin { align-self: left; align-items: flex-start; align-content: flex-start; } .footer-middle { align-self: center; align-items: center; align-content: center; flex-grow: 1; } .footer-end { align-self: right; align-items: flex-end; align-content: flex-end; } .footer-item { font-family: Hack, monospace; font-size: 12pt; color: #647089; text-align: center; float: none; clear: left; display: inline-block; margin: 0 0.25em; transition: all 0.2s ease-in-out; } .footer-link:link { color: #647089; text-decoration: underline; } .footer-link:visited { color: #647089; text-decoration: underline; } .footer-icon { transition: all 0.2s ease-in-out; width: 1.5em; height: 1.5em; filter: brightness(50%); } .footer-icon:hover { transition: all 0.2s ease-in-out; filter: brightness(100%) drop-shadow(0 0 0.5em #647089); } .service-group { display: grid; grid-template-columns: auto auto auto; justify-content: space-around; } .service-info { width: 200px; height: 64px; border: 2px solid var(--color-fg); border-radius: 8px; margin: 4px; display: flex; align-items: center; justify-content: center; } .service-status { margin-left: 8px; } .service-status-unknown { color: var(--color-blue); } .service-status-online { color: var(--color-light-green); } .service-status-offline { color: var(--color-light-red); }