/* GoToSocial Copyright (C) 2021-2023 GoToSocial Authors admin@gotosocial.org This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ @import "modern-normalize/modern-normalize.css"; @font-face { font-family: "Noto Sans"; font-weight: 400; src: url(../NotoSans-Regular.ttf) format('truetype'); } @font-face { font-family: "Noto Sans"; font-weight: bold; src: url(../NotoSans-Bold.ttf) format('truetype'); } /* standard border radius for nice squircles */ $br: 0.4rem; /* border radius for items that are framed/bordered inside something with $br, eg avatar, header img */ $br-inner: 0.2rem; html, body { padding: 0; margin: 0; background: $bg; color: $fg; font-family: "Noto Sans", sans-serif; scrollbar-color: $orange1 $gray3; } body { line-height: 1.5em; min-height: 100vh; position: relative; } .hidden { display: none; } .page { position: absolute; display: grid; min-height: 100%; min-width: 100%; width: 100%; grid-template-columns: auto minmax(auto, 50rem) auto; grid-template-columns: auto min(92%, 50rem) auto; grid-template-rows: auto 1fr auto; } h1 { margin: 0; line-height: 2.4rem; } a { color: $link-fg; } header, footer { grid-column: 1 / span 3; } .content { grid-column: 2; align-self: start; } header { display: flex; justify-content: center; } header a { margin: 2rem; display: flex; flex-direction: column; flex-wrap: wrap; img { margin-bottom: 1rem; align-self: center; height: 6rem; } div { flex-grow: 1; align-self: center; display: flex; h1 { word-wrap: anywhere; align-self: center; color: $fg; } } } .excerpt-top { margin-top: -1rem; margin-bottom: 2rem; font-style: italic; font-weight: normal; text-align: center; font-size: 1.2rem; .count { font-weight: bold; color: $fg-accent; } } main { section { background: $bg-accent; box-shadow: $boxshadow; border: $boxshadow-border; border-radius: $br; padding: 2rem; margin-bottom: 2rem; } p:first-child { margin-top: 0; } p:last-child { margin-bottom: 0; } } .button, button { border-radius: 0.2rem; color: $button-fg; background: $button-bg; box-shadow: $boxshadow; border: $button-border; text-decoration: none; font-size: 1.2rem; font-weight: bold; padding: 0.5rem; border: none; cursor: pointer; text-align: center; font-family: 'Noto Sans', sans-serif; &.danger { color: $button-danger-fg; background: $button-danger-bg; &:hover { background: $button-danger-hover-bg; } } &:disabled { color: $white2; background: $gray2; cursor: auto; &:hover { background: $gray3; } } &:hover { background: $button-hover-bg; } } .nounderline { text-decoration: none; } .accent { color: $acc1; } .logo { justify-self: center; img { height: 30vh; } } section.apps { align-self: start; .applist { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 0.5rem; align-content: start; .entry { display: grid; grid-template-columns: 25% 1fr; gap: 1.5rem; padding: 0.5rem; background: $bg-accent; border-radius: 0.5rem; .logo { align-self: center; width: 100%; object-fit: contain; flex: 1 1 auto; } .logo.redraw { fill: $fg; stroke: $fg; } a { font-weight: bold; } div { padding: 0; h3 { margin-top: 0; } } } } } section.login { form { display: flex; flex-direction: column; gap: 1rem; padding-bottom: 1rem; padding-top: 1rem; label, input { padding-left: 0.2rem; } .labelinput { display: flex; flex-direction: column; gap: 0.4rem; } .btn { margin-top: 1rem; } } } section.error { word-break: break-word; display: flex; flex-direction: row; align-items: center; margin-bottom: 0.5rem; span { font-size: 2em; } pre { border: 1px solid #ff000080; margin-left: 1em; padding: 0 0.7em; border-radius: 0.5em; background-color: #ff000010; font-size: 1.3em; white-space: pre-wrap; } } .error-text { color: $error1; background: $error2; border-radius: 0.1rem; font-weight: bold; } input, select, textarea, .input { box-sizing: border-box; border: 0.15rem solid $input-border; border-radius: 0.1rem; color: $fg; background: $input-bg; width: 100%; font-family: 'Noto Sans', sans-serif; font-size: 1rem; padding: 0.3rem; &:focus, &:active { border-color: $input-focus-border; } &:invalid { border-color: $input-error-border; } &:disabled { background: transparent; } } ::placeholder { opacity: 1; color: $fg-reduced } hr { color: transparent; width: 100%; border-bottom: 0.02rem solid $border-accent; } footer { align-self: end; padding: 2rem 0 1rem 0; display: flex; flex-wrap: wrap; justify-content: center; div { text-align: center; padding: 1rem; flex-grow: 1; } a { font-weight: bold; } } @media screen and (max-width: 600px) { header { text-align: center; } footer { grid-template-columns: 1fr; div { text-align: initial; width: 100%; } } section.apps .applist { grid-template-columns: 1fr; } } .emoji { width: 1.45em; height: 1.45em; margin: -0.2em 0.02em 0; object-fit: contain; vertical-align: middle; } .monospace { font-family: monospace; } .callout { margin: 1.5rem 0; border: .05rem solid $border-accent; border-radius: .2rem; padding: 0 .6rem .6rem; .callout-title { margin: 0 -.6rem; padding: .6rem; font-weight: bold; background-color: $border-accent; color: $gray1; } } label { cursor: pointer; } @media (prefers-reduced-motion) { .fa-spin { animation: none; } } .text-cutoff { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }