@charset "utf-8"; @import "../../../node_modules/normalize.css/normalize.css"; :root { --default-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; --input-padding: 0.5rem 0.75rem; --content-width: 600px; --menu-width: 270px; --transition-duration: 1s; --color-primary: #000; --color-alternate: #ddd; --color-secondary: #333; --color-background-primary: #fff; --color-background-secondary: #eee; --color-text: #555; --color-red: #ff1a1a; --color-green: #00802b; --color-blue: #005ce6; } html { font-family: var(--default-font); font-size: 16px; font-weight: 300; } body { background-color: var(--color-background-primary); font-family: var(--default-font); line-height: 1.2; margin: 0px; padding: 0px; transition: background-color var(--transition-duration); } input, textarea, select { background-color: var(--color-background-secondary); border: solid 1px var(--color-primary); border-radius: 0; -webkit-box-sizing: border-box; box-sizing: border-box; color: var(--color-text); font-family: var(--default-font); font-size: 0.9rem; margin: 0px; outline: none; padding: var(--input-padding); transition: background-color var(--transition-duration), border var(--transition-duration); width: 100%; } select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: url(../images/caret-down.svg) 98% / 2% no-repeat #ccc; } input[type="file"] { display: none; } input[type="checkbox"] { margin: 0.75rem 0px; width: initial; } input[type="range"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var(--color-background-secondary); border-radius: 5px; display: block; height: 10px; outline: none; width: 8rem; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var(--color-secondary); border-radius: 50%; cursor: pointer; height: 20px; width: 20px; } input[type="range"]::-moz-range-thumb { border-radius: 50%; cursor: pointer; height: 20px; width: 20px; } h1 { color: var(--color-primary); font-size: 2rem; margin: 0.5rem 0; transition: color var(--transition-duration); } h2 { color: var(--color-primary); font-size: 1.2rem; transition: color var(--transition-duration); } h1 + h2 { margin-top: -0.5rem; } a { text-decoration: none; } a:link { color: var(--color-primary); transition: color var(--transition-duration); } a:hover { color: var(--color-secondary); transition: color var(--transition-duration); } a:visited { color: var(--color-secondary); transition: color var(--transition-duration); } hr { border: 1px solid var(--color-primary); color: var(--color-primary); margin: 1rem 0px; transition: border var(--transition-duration), color var(--transition-duration); } main { background-color: var(--color-background-primary); color: var(--color-text); bottom: 0; display: flex; justify-content: center; left: 0; padding: 0px; position: absolute; right: 0; top: 0; transition: background-color var(--transition-duration), color var(--transition-duration); } section { background-color: var(--color-background-primary); color: var(--color-text); padding: 1rem; transition: background-color var(--transition-duration), color var(--transition-duration); } iframe { border: none; overflow: hidden; width: 100%; } button, label.file-input { border: none; border-radius: 25px; cursor: pointer; font-family: var(--default-font); font-size: 0.8rem; font-weight: 700; padding: 0.5rem 1rem; min-width: 100px; transition: background-color var(--transition-duration), color var(--transition-duration); } button.primary { background-color: var(--color-primary); color: var(--color-alternate); } button.secondary { background-color: var(--color-secondary); color: var(--color-secondary); } div.buttons { display: flex; justify-content: space-around; } div.logo-container { padding-top: 1rem; width: 60px; } div.logo { --size: 40px; --padding-top: 8px; background-color: var(--color-primary); border-radius: 90px; color: var(--color-alternate); cursor: pointer; font-size: 20px; font-weight: bold; height: calc(var(--size) - var(--padding-top)); margin: 10px; padding-top: var(--padding-top); position: fixed; text-align: center; transition: background-color var(--transition-duration), color var(--transition-duration); width: var(--size); } div.content-container { background-color: var(--color-background-primary); width: var(--content-width); transition: background-color var(--transition-duration); } div.content { border-left: solid 1px var(--color-background-secondary); border-right: solid 1px var(--color-background-primary); padding-bottom: 3rem; transition: border-left var(--transition-duration), border-right var(--transition-duration); } div.menu-container { margin: 0px; padding: 0px; width: var(--menu-width); } div.menu { background-color: var(--color-background-secondary); border-color: var(--color-background-primary); bottom: 0; display: flex; flex-direction: column; margin: 0px; position: fixed; top: 0; transition: background-color var(--transition-duration), border-color var(--transition-duration); width: var(--menu-width); } div.menu > nav { flex-grow: 1; padding: 1rem; } div.menu > nav > div { margin-bottom: 0.9rem; } div.spinner { color: var(--color-primary); padding: 1rem; text-align: center; transition: color var(--transition-duration); } .icon { display: inline-block; margin-right: 5px; } footer { color: var(--color-text); font-size: 0.8rem; padding: 0.9rem; text-align: center; transition: color var(--transition-duration); } table { margin-top: 1rem; width: 100%; } table tr { transition: background-color var(--transition-duration); } table tr:nth-child(even) { background-color: transparent; } table tr:nth-child(odd) { background-color: var(--color-background-secondary); } table td { padding: 0.25rem; } span.tag { border-radius: 10px; display: inline-block; font-size: 0.75rem; padding: 5px; } div.tabs { background-color: var(--color-background-secondary); border-radius: 20px; display: flex; font-size: 1rem; justify-content: space-around; transition: background-color var(--transition-duration); } div.tabs > div { border-color: var(--color-primary); padding: 0.5rem; transition: border-color var(--transition-duration); } div.tabs > div.active { border-bottom: 3px solid; } div.progress { background-color: var(--color-background-secondary); border: 1px solid var(--color-primary); height: 1rem; margin: 1rem; max-height: 100px; min-height: 10px; padding: 0px; transition: background-color var(--transition-duration), border var(--transition-duration); } div.progress > div { background-color: var(--color-secondary); height: 100%; transition: background-color var(--transition-duration); } div.field { margin: 2rem 0px; } div.field label { color: var(--color-secondary); display: block; font-weight: 700; margin-bottom: 0.5rem; } div.field label.file-input, div.field label.checkbox { display: inline-block; } div.control-container { display: flex; padding: 0.5rem 0px; } div.control-icon { background-color: var(--color-primary); color: var(--color-alternate); margin: 0px; padding: var(--input-padding); transition: background-color var(--transition-duration), color var(--transition-duration); } div.control-icon > svg { vertical-align: middle; } div.control { flex-grow: 1; } p.help { color: var(--color-primary); font-size: 0.8rem; margin-top: -0.25rem; transition: color var(--transition-duration); } div.search { padding: 10px; text-align: center; } div.notification-container { bottom: 10px; position: fixed; left: 10px; width: 40%; } div.notification { border-radius: 5px; margin-bottom: 1rem; } div.notification > div { padding: 1rem; } button.delete { border: none; margin: 0px; min-width: 0px; padding: 0px; position: absolute; right: 10px; top: 3px; } nav.level { display: flex; justify-content: space-between; } nav.level > div { text-align: center; } nav.level p.label { color: var(--color-secondary); font-size: 0.9rem; font-weight: bold; transition: color var(--transition-duration); } nav.level p.content { color: var(--color-text); font-size: 1.1rem; transition: color var(--transition-duration); } p.label + p.content { margin-top: -10px; } div.member { margin-right: 10px; min-width: 150px; padding: 1rem; } div.composer-container { border-top: solid 1px var(--color-background-secondary); border-bottom: solid 1px var(--color-background-secondary); transition: border-top var(--transition-duration), border-bottom var(--transition-duration); } div.composer-empty, div.composer-error { font-size: 0.8rem; text-align: center; padding: 1.5rem; transition: background-color var(--transition-duration), color var(--transition-duration); } div.composer-empty { background-color: var(--color-background-secondary); color: var(--color-secondary); } div.composer-error { background-color: var(--color-background-secondary); color: var(--color-red); } div.installations { background-color: var(--color-background-secondary); display: flex; padding: 0.5rem; transition: background-color var(--transition-duration); } div.installations > div { border-right: solid 1px var(--color-background-primary); padding: 0.5rem; text-align: center; transition: border-right var(--transition-duration); } div.installations > div > p { font-size: 0.6rem; font-weight: bold; margin: 0px; padding: 0px; } div.user-info, div.group-info { align-items: center; display: flex; } div.user-info div.image, div.group-info, div.image { margin-right: 10px; } div.user-info { display: flex; padding: 1.5rem 1rem; } div.user-info-unauthenticated { padding: 1.5rem 1rem; text-align: center; } div.group-info { display: flex; } div.post { border-top: var(--default-border); border-bottom: var(--default-border); margin: 1rem 0px; } div.post div.post-content { padding: 1rem; } div.post div.cover { cursor: pointer; font-weight: bold; padding: 2rem; text-align: center; } div.post-info { border-top: var(--default-border); display: flex; font-size: 0.8rem; justify-content: space-between; } div.post-info > div { padding: 0.8rem; } p.caption { font-size: 0.75rem; margin-top: -0.1rem; } div.user { align-items: flex-start; display: flex; } div.user div.group div.image { display: inline-block; margin-right: 5px; vertical-align: sub; } div.theme-picker { display: flex; flex-wrap: wrap; margin: 0.5rem 0px; } div.theme-picker > div { --size: 25px; border: 2px solid; height: var(--size); margin-bottom: 10px; margin-right: 10px; width: var(--size); } div.theme-picker + div { font-size: 0.8rem; font-weight: 700; margin-top: -10px; } div.cover-image { width: var(--content-width); } div.cover-image img { width: var(--content-width); } div.header { display: flex; } div.cover-image + div.header { margin-top: -20px; } div.header img { width: 128px; } div.list-item { border-bottom: var(--default-border); margin-bottom: 1rem; padding: 1rem; } div.app-list-item, div.group-list-item { display: flex; margin: 1rem 0px; padding: 1rem; } div.app-list-item p, div.group-list-item p { font-size: 0.8rem; padding: 0.5rem; padding-top: 0px; } div.app-list-item img, div.group-list-item img { width: 64px; }