/* This file is part of . Copyright (C) 2024 Oscloud This program is free software: you can redistribute it and/or modify it under the terms of the GNU 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* ============================================ IMPORTS ============================================ */ @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"); /* ============================================ CSS PROMĚNNÉ ============================================ */ :root { --primary: #fff; --secondary: rgba(0, 0, 0, 0.5); --tertiary: #151b74; --accent: #1565c0; --transparent: transparent; } /* ============================================ ANIMACE - pohyblivé tečky pozadí ============================================ */ @-webkit-keyframes bg-scrolling-reverse { 100% { background-position: 50px 50px; } } @-moz-keyframes bg-scrolling-reverse { 100% { background-position: 50px 50px; } } @-o-keyframes bg-scrolling-reverse { 100% { background-position: 50px 50px; } } @keyframes bg-scrolling-reverse { 100% { background-position: 50px 50px; } } @-webkit-keyframes bg-scrolling { 0% { background-position: 50px 50px; } } @-moz-keyframes bg-scrolling { 0% { background-position: 50px 50px; } } @-o-keyframes bg-scrolling { 0% { background-position: 50px 50px; } } @keyframes bg-scrolling { 0% { background-position: 50px 50px; } } /* ============================================ ZÁKLAD ============================================ */ * { box-sizing: border-box; } html, body { height: 100%; margin: 0; padding: 0; } body { display: flex; flex-direction: column; justify-content: space-between; color: var(--primary); font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 400; text-align: center; /* img size is 50x50 */ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==") repeat 0 0; -webkit-animation: bg-scrolling-reverse 0.92s infinite; -moz-animation: bg-scrolling-reverse 0.92s infinite; -o-animation: bg-scrolling-reverse 0.92s infinite; animation: bg-scrolling-reverse 0.92s infinite; -webkit-animation-timing-function: linear; -moz-animation-timing-function: linear; -o-animation-timing-function: linear; animation-timing-function: linear; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } img { border: 0; max-width: 100%; } /* ============================================ ODKAZY ============================================ */ a { background-color: var(--transparent); color: var(--accent); text-decoration: none; } a:active, a:hover { outline: 0; } a:hover { text-decoration: underline; } /* ============================================ HLAVIČKA ============================================ */ .page-header { position: relative; padding: 2rem 1rem 1rem 1rem; text-align: center; } .project-name { margin: 0.5rem 0; font-family: "Inter", sans-serif; font-weight: 700; letter-spacing: -0.02em; color: var(--primary); } @media screen and (min-width: 64em) { .project-name { font-size: 4rem; } } @media screen and (min-width: 42em) and (max-width: 64em) { .project-name { font-size: 3rem; } } @media screen and (max-width: 42em) { .project-name { font-size: 1.75rem; } } .project-tagline { max-width: 60ch; margin: 0.5rem auto 1.5rem auto; text-align: center; font-weight: 400; font-family: "Inter", sans-serif; opacity: 0.85; } @media screen and (min-width: 64em) { .project-tagline { font-size: 1.25rem; } } @media screen and (min-width: 42em) and (max-width: 64em) { .project-tagline { font-size: 1.15rem; } } @media screen and (max-width: 42em) { .project-tagline { font-size: 1rem; } } .project-description { margin: 1rem auto; max-width: 70ch; font-size: 1.05rem; line-height: 1.5; color: var(--primary); opacity: 0.85; } /* ============================================ MAIN CONTENT ============================================ */ .main-content { flex: 1; font-family: "Inter", sans-serif; } .larger-name { font-size: larger; } .smaller-name { font-size: smaller; } @media screen and (min-width: 64em) { .main-content { font-size: 1.5rem; } } @media screen and (min-width: 42em) and (max-width: 64em) { .main-content { font-size: 1.25rem; } } @media screen and (max-width: 42em) { .main-content { font-size: 1rem; } } /* ============================================ TLAČÍTKA ============================================ */ .btn { display: inline-block; margin-bottom: 1rem; color: var(--primary); background-color: var(--secondary); border-color: rgba(255, 255, 255, 0.2); border-style: solid; border-width: 1px; border-radius: 0.3rem; font-family: "Inter", sans-serif; font-weight: 500; text-decoration: none; transition: color 0.2s, background-color 0.2s, border-color 0.2s; } .btn:hover { color: rgba(255, 255, 255, 0.95); text-decoration: none; background-color: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.4); } .btn + .btn { margin-left: 1rem; } @media screen and (min-width: 64em) { .btn { padding: 0.75rem 1rem; } } @media screen and (min-width: 42em) and (max-width: 64em) { .btn { padding: 0.6rem 0.9rem; font-size: 0.9rem; } } @media screen and (max-width: 42em) { .btn { display: block; width: 100%; padding: 0.75rem; font-size: 0.9rem; } .btn + .btn { margin-top: 1rem; margin-left: 0; } } /* ============================================ FORMULÁŘOVÉ PRVKY (reset) ============================================ */ button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } /* ============================================ DROPDOWN ============================================ */ .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: relative; } .dropdown:hover .dropdown-content { display: block; } /* ============================================ FOOTER ============================================ */ .site-footer { font-family: "Inter", sans-serif; font-size: 0.95rem; display: block; } .site-footer p { text-align: center; margin: 0; } @media screen and (min-width: 64em) { .site-footer { font-size: 1rem; } } @media screen and (min-width: 42em) and (max-width: 64em) { .site-footer { font-size: 1rem; } } @media screen and (max-width: 42em) { .site-footer { font-size: 0.9rem; } } /* ============================================ SPACER ============================================ */ .spacer { height: 1.5rem; } /* ============================================ NEWS BLOCK ============================================ */ .news-block { margin: 0 auto 1.5rem auto; padding: 1.25rem; max-width: 70ch; border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 0.5rem; background-color: rgba(0, 0, 0, 0.4); text-align: left; } .news-block h2, .news-block h3 { margin-top: 0; color: var(--primary); } /* ============================================ SUB / SUP ============================================ */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sup { top: -0.5em; } sub { bottom: -0.25em; }