/* ===================== Variables ===================== */ :root { --content-max-width: 1280px; --primary-darker-bg: #002f6c; --primary-darker-fg: #fff; --primary-darker-fg-light: #999; --primary-darker-link: #ffad42; --primary-bg: #3d77c7; --primary-fg: #fff; --primary-fg-light: #999; --primary-link: #f57c00; --bg: #fff; --color: #000; --light: #757575; --link: #bb4d00; --title-bg: #f57c00; --title-fg: #000; --title-sublink: #27159C; --seperator: #ccc; --content-bg: #fff; --content-border: 0px solid transparent; --alt-bg: #ccc; --alt-inside-bg: #fff; --alt-inside-border: 1px solid #555; --alt-color: #555; --footer-bg: #ccc; --footer-color: #000; --footer-seperator: #fff; --footer-link: #8F3C00; --button-border: 1px solid #f57c00; --button-bg: #ffad42; --button-fg: #000; --error-bg: red; --error-fg: white; } /* ===================== Reset ===================== */ /* Box sizing rules */ *, *::before, *::after { box-sizing: border-box; } /* Remove default margin */ body, h1, h2, h3, h4, p, figure, blockquote, dl, dd { margin: 0; } @font-face { font-family: 'Inter var'; font-weight: 100 900; font-display: swap; font-style: oblique 0deg 10deg; src: url("Inter.var.woff2?v=3.19") format("woff2"); } body { min-height: 100vh; text-rendering: optimizeSpeed; line-height: 1.5; font-size: 16px; font-family: 'Inter var', sans-serif; font-feature-settings: "slnt" 0deg, "case", "frac", "tnum", "ss02", "calt", "ccmp", "kern"; } .italic { font-variation-settings: "slnt" 10deg; } a { text-decoration-skip-ink: auto; } img { max-width: 100%; display: block; } input, button, textarea, select { font: inherit; } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-play-state: paused !important; transition: none !important; scroll-behavior: auto !important; } } h1 { font-size: 2.488rem; } h2 { font-size: 2.074rem; } h3 { font-size: 1.728rem; } h4 { font-size: 1.44rem; } h5 { font-size: 1.0rem; } a, a:visited, button { text-decoration: none; border: none; padding: 0; margin: 0; font-weight: bold; cursor: pointer; } input[type=text], input[type=password] { border: 1px solid var(--color); background: var(--bg); color: var(--color); border-radius: 0; padding: 0.25rem; } label { font-size: 0.75rem; font-weight: 500; margin-top: 1rem; margin-bottom: 0.25rem; } input[type=text]:hover, input[type=text]:active, input[type=password]:hover, input[type=password]:active { border-color: var(--link); } button { background: transparent; } /* ===================== Common ===================== */ .inside { width: 100%; max-width: var(--content-max-width); display: flex; margin: 0 auto; } .inside.vertical { flex-direction: column; } .container { margin: 1rem; } .error { background: var(--error-bg); color: var(--error-fg); cursor: pointer; text-align: center; padding: 0.5rem; } .wrapper { background: var(--footer-bg); color: var(--footer-color); display: flex; justify-content: center; align-items: center; min-height: calc(100vh - 200px); padding: 1rem; } .wrapper .inside { flex-direction: column; color: var(--alt-color); background: var(--alt-inside-bg); border: var(--alt-inside-border); } .wrapper .error { border: 1px solid var(--error-bg); color: var(--error-bg); background: transparent; } @keyframes spinner-loader { to {transform: rotate(360deg);} } .loading-spinner:after { content: ''; box-sizing: border-box; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin-top: -10px; margin-left: -10px; border-radius: 50%; border: 2px solid #ccc; border-top-color: #333; animation: spinner-loader .6s linear infinite; z-index: 1000; } /* ===================== Header ===================== */ header { background: var(--primary-darker-bg); color: var(--primary-darker-fg); } header a, header a:visited, header button { color: var(--primary-darker-link); } header p { color: var(--primary-darker-fg-light); } header .logo, header .logo:visited { height: 100px; padding-left: 120px; display: flex; align-items: center; background: 25px center no-repeat; background-size: auto 91px; flex: 0 0 auto; } header .logo h1 { font-weight: 500; color: var(--primary-darker-fg); } header aside { flex: 2 1 auto; display: flex; flex-direction: column; align-items: flex-end; font-size: 0.8rem; padding: 0.5rem 0.5rem; } header aside .actions a { margin-left: 1rem; display: inline-block; } .avifsupport header .logo { background-image:url("/assets/img/logo.avif") } .jpegonly header .logo { background-image:url("/assets/img/logo_small.jpg") } /* ===================== Nav ===================== */ nav { background: var(--primary-bg); } nav a, nav a:visited, nav .loading-spinner { flex: 2 0 auto; text-align: center; font-weight: 300; padding: 10px 10px 7px 10px; border-bottom: 3px solid var(--primary-bg); color: var(--primary-fg); } nav a.active { border-bottom-color: var(--primary-link); } nav .loading-spinner { position: relative; } /* ===================== main ===================== */ .page-banner { background-size: cover; background-repeat: no-repeat; background-position: center; height: 150px; width: 100%; display: block; } .page-banner-title { color: white; text-align: right; padding: 0.5rem 1rem; font-size: 1.6rem; flex: 2 1 auto; text-shadow: 0 0 .3em #000; } .page-goback { padding: 0.5rem 1rem; } main a, main a:visited { color: var(--link); } main h5 { padding: 0 0.5rem 0.5rem; margin: 0 0 0.75rem; border-bottom: 1px solid var(--seperator); font-size: 1rem; } main .loading-spinner { position: fixed; left: 50%; top: 50%; } main h2 { font-size: 1.4rem; background: var(--title-bg); color: var(--title-fg); text-align: center; font-weight: 400; padding: 0.375rem; line-height: 1.4rem; } main .container { flex: 2 1 auto; } main .cover picture img { margin-bottom: 1rem; width: 100%; } main button, input[type=submit] { border: var(--button-border); background: #ffad42; color: #000; align-self: center; padding: 0.25rem 1rem; } /* ************** aside ************** */ main aside { padding: 0 0.5rem; margin: 1rem; font-size: 0.875rem; flex: 0 1 250px; } main aside a { display: block; } main aside h5 { margin: 0 -0.5rem 0.75rem; } main aside ul { margin: 0 0 0.5rem; padding-left: 1.5rem; } /* ************** paginator ************** */ paginator { display: flex; justify-content: center; width: 100%; } paginator a { color: var(--link); cursor: pointer; } paginator a, paginator div { display: block; font-size: 0.8rem; max-width: 80px; flex-grow: 2; text-align: center; padding: 0.5rem; margin-top: 1rem; } /* ************** articleslim ************** */ articleslim { display: flex; margin-bottom: 0.75rem; padding-right: 0.5rem; } articleslim p.description { font-size: 0.75rem; } articleslim .cover { flex: 0 0 124px; margin-right: 0.75rem; } articleslim .cover picture img { margin-bottom: 0; } articleslim a.nobg { height: 70px; background: var(--seperator); display: block; } articleslim a.title { display: block; margin-bottom: 0.375rem; } /* ************** article ************** */ article .row { margin: 1rem 0; display: flex; } article .cover { flex: 0 0 auto; margin-right: 1rem; align-self: flex-start; } article a.title { flex: 0 0 100%; margin-bottom: 0.5rem; } article .description { font-size: 0.875rem; margin-bottom: 1rem; } article .meta { font-size: 0.625rem; line-height: 0.75rem; color: var(--light); font-weight: 500; margin-top: 1.25rem; } article.fullsize .row { margin: 1rem; flex-direction: column; } article.fullsize .cover { margin-right: 0; } /* ************** fileinfo ************** */ fileinfo { padding-left: 0.25rem; margin-bottom: 0.5rem; color: var(--light); line-height: 1rem; font-size: 0.75rem; display: block; } fileinfo.slim { padding: 0; margin: 0; } fileinfo p span, fileinfo p a { margin-right: 0.25rem; } fileinfo p a { font-weight: 550; padding-right: 0.25rem; border-right: 1px solid var(--seperator); display: inline-block; } fileinfo p span { font-weight: 700; } fileinfo ul { margin: 0.5rem 0; padding-left: 1.5rem; } /* ===================== login ===================== */ .login { align-items: center; font-size: 1rem; padding: 1rem 1rem 2rem; margin: 1rem; max-width: 400px; } .login .title { font-size: 1.4rem; font-weight: 200; margin-bottom: 2rem; text-align: center; } .login input, .login label { width: 100%; max-width: 300px; } .login input[type=submit] { min-width: 150px; margin-top: 1rem; } /* ===================== footer ===================== */ footer { background: var(--footer-bg); color: var(--footer-color); text-align: center; padding: 1rem; display: flex; flex-direction: column; align-items: center; font-weight: 500; font-size: 0.625rem; } footer ul { margin: 0 0 0.25rem; padding: 0 0 0.25rem; border-bottom: 1px solid var(--footer-seperator); display: flex; justify-content: center; flex-wrap: wrap; min-width: 300px; } footer ul li { padding: 0 0.25rem; list-style-position: inside; } footer a { color: var(--footer-link); margin: 0 0 0.25rem; }