mamweb/mamweb/static/css/layout.css

719 lines
11 KiB
CSS

@charset "utf-8"; /* vynuť utf-8 */
/* Rozložení webu a jeho prvky (hlavička, menu, footer) */
:root {
--footer-height: 200px;
--login-bar-height: 20px;
}
/**** KONTEJNER ****/
div.container {
width: 970px;
margin: auto;
min-height: 100vh;
position: relative;
padding: 0px;
}
.org-logged-in div.container {
margin-top: var(--login-bar-height);
}
div.content-wrapper {
padding-bottom: var(--footer-height);
}
div.content {
padding: 15px 30px;
}
/* Roztáhne obsah z containeru na celou šířku obrazovky: */
.full_width {
width: 100vw;
margin-left: calc(-50vw + 485px);
}
/* Na úzkém displeji nechceme nic dělat. */
@media(max-width: 860px) {
.full_width{
margin-left: 0;
width: unset;
}
}
/*******************/
/**** HLAVIČKA ****/
#title { /*dělá blbosti šířka, je to kvůli fixed pozici, zatím natvrdo, vyřešit*/
height: 55px;
width: 970px;
position: fixed;
z-index: 2048;
background-color: var(--hlavni-oranzova);
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
font-size: 28px;
color: var(--barva-pozadi);
font-weight: 400;
font-variant: small-caps;
text-align: center;
text-decoration: none;
padding-top: 8px;
text-shadow: none;
}
#header {
position: relative;
background: url("../images/header/vikendovka.jpg") no-repeat center top; /* poměr 350:970, TODO: aby to nemuselo být přesně na pixely */
background-size: 100%;
top: 58px;
}
#header img.logo {
width: 100%;
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
}
#header img.logo-mobile {
display: none;
}
.no-mobile {
background-size: contain;
}
/******************/
/**** MENU ****/
ul.menu_mobile {
display: none;
}
nav.nav-button {
display: none;
}
div.dropdown-backdrop { /* tohle způsobuje, že funguje mobilní menu */
z-index: -1;
}
/* nové menu */
ul.menu {
width: 100%;
padding: 0px;
margin-top: -5px; /* posune celé menu nahoru (pak potřeba zvětšit mezeru mezi menu a submenu) */
font-variant: small-caps;
}
ul.menu a {
text-decoration: none;
font-weight: bold;
font-size: 105%;
}
ul.menu li {
margin: 0px;
display: inline-block;
width: 16.666667%;
text-align: center;
font-size: 140%;
font-weight: 400;
}
ul.menu li>a:hover {
color: black;
}
ul.menu li>a:active { /* TODO: nefunfuje */
color: black;
}
ul.submenu {
background-color: var(--hlavni-oranzova);
margin-top: 10px; /* mezera mezi hlavním menu a submenu */
margin-bottom: 10px;
padding-top: 10px;
padding-bottom: 5px;
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
}
ul.submenu {
background-color: var(--hlavni-oranzova);
z-index: 50;
font-weight: 400;
}
ul.submenu li {
width: auto;
padding: 0px 20px 0px 20px;
display: inline-block;
}
ul.submenu li>a {
color: var(--svetla-oranzova);
text-decoration: none;
text-shadow: none;
}
ul.submenu li>a:hover {
color: black;
}
ul.menu li.active>a {
color: var(--svetla-oranzova);
}
ul.submenu li.active>a, .parentactive ul li:first-child>a {
color: black;
}
/**************/
/**** Footer ****/
#footer {
position: absolute;
bottom: 0;
width: 100%;
background: url("../images/mozaika-footer.svg") no-repeat top center;
height: var(--footer-height);
background-size: 100%;
filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4));
padding-top: 3.5%;
}
#footer p.license {
text-align: center;
font-weight: 400;
bottom: 0px;
}
#footer p.license a {
color: #333;
}
p.license-mobile {
display: none;
margin-bottom: 0px;
}
/****************/
/**** LOGIN BAR ****/
div.login-bar {
background: var(--orgovska-fialova);
color: var(--svetla-oranzova);
width: 100%;
position: fixed;
margin-top: calc(-1 * var(--login-bar-height));
min-height: var(--login-bar-height);
z-index: 4086;
padding-left: 5px;
padding-right: 5px;
}
div.login-bar div {
display: inline;
}
a.login-ref-admin {
display: inline;
color: var(--barva-pozadi);
}
.napis-webarum {
display: inline;
color: var(--barva-pozadi);
float: right;
}
.napis-webarum a {
color: var(--svetla-oranzova);
text-decoration: underline;
}
/*******************/
/**** ROZLIŠENÍ MEZI LOKÁLNÍM, TESTOVACÍM A PRODUKČNÍM WEBEM ****/
body.localweb:before, body.localweb:after,
body.testweb:before, body.testweb:after,
body.suprodweb:before, body.suprodweb:after {
content: "";
position: fixed;
width: 20px;
height: 100%;
top: 0;
z-index: -1000;
}
body.localweb:before, body.testweb:before, body.suprodweb:before {
left: 0;
}
body.localweb:after, body.testweb:after, body.suprodweb:after {
right: 0;
}
body.localweb:before, body.localweb:after { background: greenyellow; }
body.testweb:before, body.testweb:after { background: darkorange; }
body.suprodweb:before, body.suprodweb:after { background: red; }
/****************************************************************/
/**** ZBYTEK ****/
/* (konkrétní stránky) */
/* titulni stranka */
.titulnistrana {
display: flex;
text-align: justify;
}
.titulnistrana h1 {
text-align: center;
}
.zjistit_vic{
text-align: center;
margin-bottom: 30px;
}
.zjistit_vic hr {
display: none;
}
.graf-svg {
display: flex;
}
#svg-graf {
width: 100%;
height: auto;
margin: 30px;
}
.titulnistrana_obsah {
width: 66%;
}
.vitej_titulka, .temata_titulka {
width: 49%;
padding: 10px;
display: table-cell;
}
.titulnistrana_novinky {
width: 33%;
padding: 10px;
}
.novinka_obrazek {
margin: 10px 0px 10px 0px;
width: 100%;
}
.novinka_datum {
font-weight: bold;
}
.novinka_autor {
text-align: right;
font-style: italic;
}
div.org-text {
font-style: italic;
}
div.odpocet {
margin: 20px;
text-align: center;
}
/*stránka organizátorů*/
div.seznam_orgu, div.rozcestnik_temat, div.seznam_archiv {
text-align: center;
padding-bottom: 10px;
}
div.org_pole, div.rocnik_pole, div.tema_pole {
display: inline-block;
width: 30%;
min-width: 300px;
text-align: center;
}
div.tema_pole {
display: inline-block;
width: 40%;
min-width: 350px;
padding-bottom: 20px;
text-align: center;
}
div.cislo_pole {
display: inline-block;
width: 15%;
min-width: 165px;
text-align: center;
padding: 10px;
}
div.seznam_orgu h3 {
text-align: center;
margin-top: 10px;
margin-bottom: 0px;
}
div.org_email {
margin-bottom: 10px;
font-weight: bold;
}
/* aktuální zadání */
.stranka_aktualni_zadani {
text-align: center;
}
#azad_obrazek {
margin-top: 15px;
}
div.zadani_termin {
text-align: center;
font-size: large;
font-weight: bold;
}
@media (max-width: 420px) {
div.zadani_termin {
font-size: small;
}
}
div.zadani_termin .datum {
color:var(--hlavni-oranzova);
margin:0px;
}
#obrazek_cisla_archiv {
text-align: center;
margin: 10px;
}
/* Jak řešit */
.jakresit svg {
width: 33%;
padding: 10px;
filter: none;
}
@media(max-width: 860px) {
.jakresit svg {
margin: auto;
display: grid;
width: 100%;
max-width: 360px;
}
}
/****************/
/**********************
* Zmenšování displeje
***********************/
/* stránka přes celý displej */
@media (max-width: 970px) {
div.container {
width: 100%;
}
#title {
width: 100%;
text-align: center;
}
#header {
background-size: 100%;
}
#header img.logo {
width: 100%;
}
#footer {
width: 100%;
}
ul.menu {
font-size: 90%;
margin-top: -7px;
}
ul.menu li {
margin-top: 10px; /* posunutí textu hlavního menu níže */
}
ul.submenu li {
margin-top: 0px; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */
}
ul.submenu {
margin-top: 8px; /* mezera mezi hlavním menu a submenu */
}
}
/* stránka přes celý menší displej, větší mobil, tablet */
@media(max-width: 800px){
ul.menu {
font-size: 80%;
margin-top: -2px;
}
ul.menu li {
margin-top: 10px; /* posunutí textu hlavního menu níže */
}
ul.submenu li {
margin-top: 0px; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */
}
ul.submenu {
margin-top: 8px; /* mezera mezi hlavním menu a submenu */
}
a.ref-org-foto {
pointer-events: none;
}
table#reseni.form td, table#reseni.form tr {
display: inline-grid;
max-width: 300px;
}
/* titulni stranka */
.titulnistrana {
display: block;
}
.graf {
padding-top: 40px;
}
.titulnistrana_obsah {
width: 100%;
}
.vitej_titulka, .temata_titulka {
width: 49%;
padding: 10px;
display: table-cell;
}
.titulnistrana_novinky {
width: 100%;
max-width: 500px;
padding: 10px;
margin: auto;
}
#svg-graf {
width: 100%;
max-width: 500px;
padding: 10px;
margin: auto;
}
.zjistit_vic hr {
display: flex;
}
}
/* malý tablet, mobil */
@media (max-width: 650px) {
.no-mobile{
display: none;
}
#hide-if-small.login-bar-flatpage {
display: none;
}
#title {
display: none;
}
#header {
width: 100%;
top: 0px;
background-image: none;
}
#header img.logo {
display: none;
}
#header img.logo-mobile {
display: block;
top: 0px;
left: 0px;
width: 100%;
filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.4));
margin-bottom: 3px;
}
/* mobilní menu */
ul.menu {
display: none;
}
ul.menu_mobile {
display: block;
z-index: 10;
position: sticky;
font-variant: small-caps;
font-size: 150%;
font-weight: bold;
list-style-type: none;
padding-top: 3px;
padding-bottom: 3px;
padding-left: 12px;
}
ul.menu_mobile a:active,
ul.menu_mobile a:hover,
ul.menu_mobile a:focus {
text-decoration: none;
color: black;
}
ul.menu_mobile ul {
list-style-type: none;
font-size: 90%;
color: black; /*černé šipky submenu*/
}
ul.menu_mobile ul li>a {
color: black;
}
ul.menu_mobile ul li::before {
content: ' \276D '; /*https://www.w3schools.com/cssref/css_entities.asp*/
}
ul.menu_mobile br {
display: none;
}
nav.nav-button {
display: block;
position: sticky;
position: -webkit-sticky;
top: 0;
z-index: 10;
}
#navbar-content {
background-color: var(--hlavni-oranzova);
}
button.navbar-button {
color: #f9d59e;
background-color: var(--hlavni-oranzova);
font-variant: small-caps;
font-size: 160%;
border-radius: 0px;
border-width: 0px;
width: 100%;
text-align: right;
}
button.navbar-button span::after{
content: ' \2261 ';
font-size: 120%;
}
li.dropdown div.submenu_mobile{
display: none;
--bs-dropdown-bg: var(--hlavni-oranzova);
}
li.dropdown div.submenu_mobile.show{
display: block;
}
/*patička mobil*/
#footer {
display: none;
}
p.license-mobile {
position: relative;
display: block;
font-size: 90%;
background-color: var(--hlavni-oranzova);
padding: 5%;
text-align: justify;
}
table.form td, table.form tr {
display: inherit;
}
/* titulni stranka */
.titulnistrana {
display: block;
}
.graf {
padding-top: 40px;
}
.titulnistrana_obsah {
width: 100%;
}
.vitej_titulka, .temata_titulka {
width: 100%;
padding: 10px;
display: block;
}
.titulnistrana_novinky {
width: 100%;
padding: 10px;
}
}