/* @font-face {
    font-family: 'Sawarabi';
    src: url(../fonts/sawarabi-gothic.ttf) format('truetype');
} */
@font-face {
    font-family: 'Mooli';
    src: url(../fonts/Mooli-Regular.ttf) format('truetype');
}
@font-face {
    font-family: 'Bangers';
    src: url(../fonts/Bangers7.ttf) format('truetype');
}

:root {
    /* Colors */
    --yellow:#e7a519;
    --light-yellow:#ebcb88;
    --brown:#bb4f00;
    --light-brown:#6a5651;
    --red:#a82c2c;
    --light-red:#cf6767;
    --dark-red:#7d2626;
    --blue:#024d68;
    --light-blue:#405f6a;
    --white:#f8f5f0;
    --green:#1c6900;
    --light-green:#536e48;
    --dark-green:#1c5900;

    /* Fonts */
    --font-basic: 'Mooli';
    --font-signature: 'Bangers';

    /* Global setup */
    font-family: var(--font-basic);
    font-size: min(15vw, 20pt);
}

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    background-color: var(--yellow);
    overflow: scroll;
    overflow-x: scroll;
}
body {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 200;
    font-stretch: condensed;
    line-height: 1.4;
    margin: 0;
}
img {
    object-fit: contain;
    max-width: 100%;
}

section {
    padding-top: 2em;
    padding-bottom: 1em;
    display: flex;
    flex-direction: column;
    align-items: center;
}
/*
section > div {
    border: 1px solid black;
}
section > p {
    width: 80%;
    border: 1px solid var(black);
}
div {
    border: 1px solid var(black);
}
*/

h2,h3 {
    font-family: var(--font-signature);
    color: var(--brown);
}
h2 {
    font-size: 2.5em;
    padding-top: 0;
    margin-top: 0;
    margin-bottom: 0;
}
h3 {
    color: var(--brown);
    font-size: 1.8em;
    margin-bottom: 0.3em;
}

a {
    text-decoration: none;
}

.menu {
    position: fixed;
    top: 0; left: 0;
    z-index: 1;
    width: 100%;
    height: 2em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.5em;
    font-family: var(--font-signature);
    background-color: var(--yellow);
}
.menu-up {
    transform: translate3d(0, -100%, 0);
    transition: transform 1s;
}
.menu-down {
    transform: translate3d(0, 0, 0);
    transition: transform 1s;
}
.menu ul {
    display: contents;
}
.menu li {
    display: flex;
    align-items: center;
    margin-right: 0.1em;
}
.menu-red {
    color: var(--white);
    border-radius: 1em;
    background-color: var(--red);
}
.menu a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: black;
    padding-left: 1em;
    padding-right: 1em;
}
.menu-red a {
    color: var(--white);
}
.menu li a:hover {
    background-color: var(--brown);
    border-radius: 1em;
}
.menu img {
    padding: 0.5em;
    align-self: stretch;
}
.menu li {
    display: flex;
    align-items: stretch;
    text-decoration: none;
}
.menu-right {
    display: flex;
    align-items: stretch;
}
.menu-end { /* scrollbar compensation */
    width: 1em;
}

.schedule {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.schedule table {
    background-color: var(--light-yellow);
    color: black;
    width: 13em;
    table-layout: fixed;
    border-collapse: collapse;
    margin: 0.75em;
    border-radius: 1em;
}
.schedule a {
    font-family: var(--font-signature);
    color: var(--dark-red);
}
.schedule a:visited {
    color: var(--dark-red);
}
.schedule th.day {
    font-family: var(--font-signature);
    font-size: 2em;
    line-height: 150%;
}
.schedule th.floor {
    font-size: 1.2em;
}
.schedule tr.time {
    border-top: 3px solid var(--yellow);
}
.schedule td {
    text-align: center;
    word-wrap: break-word;
}
.schedule div.time {
    margin-top: 9px;
    border-style: none;
    text-align: center;
    font-size: 0.8em;
}
.schedule div.activity {
    margin: 3px;
    border-style: none;
}
.schedule div.party {
    font-family: var(--font-signature);
    font-size: 1.5em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.schedule div.party img {
    height: 1em;
}
.schedule div.partyactivity {
    color: var(--white);
    background-color: black;
    border-radius: 1em;
    margin-left: 7px;
    margin-right: 7px;
    margin-bottom: 7px;
    height: 50px;
    display: flex; justify-content: center; align-items: center;
    font-size: 1em;
}
.schedule div.group {
    border-radius: 1em;
    margin-left: 0.15em;
    margin-right: 0.15em;
    margin-bottom: 0.15em;
    display: flex; justify-content: center; align-items: center;
    font-size: 1.2em;
}
.schedule div.other {
    background-color: grey;
    color: var(--white);
}
.schedule div.beg {
    background-color: var(--light-green);
    color: var(--white);
}
.schedule div.bi {
    background-color: var(--light-blue);
    color: var(--white);
}
.schedule div.ia {
    background-color: var(--yellow);
    color: var(--white);
}
.schedule div.adv {
    background-color: var(--light-red);
    color: var(--white);
}
/*
.schedule div.auditions {
    background-color: var(--brown);
    color: var(--white);
}
*/

.level-name {
    font-family: var(--font-signature);
    color: var(--brown);
}
.level-desc {
    line-height: 1.2;
    font-size: 0.8em;
}

.band {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0.5em;
    max-width: 25em;
}
.band-desc h3 {
    margin-top: 0;
}
.band-desc p {
    line-height: 1.3;
    font-size: 0.8em;
}

.timer {
    display: flex;
    justify-content: center;
    font-family: var(--font-signature);
    color: var(--white);
    font-size: 2.5em;
    padding-top: 0.5em;
}
.timer > div {
    width: 1.5em;
    text-align: right;
}
.timerunit {
    font-size: 60%;
}

.gallery-content {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    justify-content: center;
}
.gallery-item {
    height: 6em;
    margin: 0.3em;
    object-fit: contain;
}

.register {
    background-color: var(--red);
    color: var(--white);
    width: 100%;
}
.register-button-section {
    display: flex;
    align-items: center;
    margin-top: 2em;
    margin-bottom: 2em;
    height: 4em;
}
.register-button {
    font-size: 3em;
    font-family: var(--font-signature);
}
.register-button-enabled a {
    color: black;
    background-color: var(--yellow);
}
.register-button-enabled a:hover {
    background-color: var(--white);
}
.register-button a {
    display: block;
    height: 100%;
    text-decoration: none;
    padding-left: 0.4em;
    padding-right: 0.4em;
    text-align: center;
}
.register-button-disabled a {
    pointer-events: none;
    color: black;
    background-color: gray;
}
.register p {
    text-align: center;
}
.register div.opendate {
    text-align: center;
    color: var(--yellow);
    font-weight: 900;
    font-size: 1.5em;
}
.register span.discount {
    color: var(--yellow);
    font-weight: 900;
    font-family: var(--font-signature);
    font-size: 200%;
}
.register-heading {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.register-heading-img1 {
    max-height: 100%;
    margin-right: 2em;
    transform: rotate(90deg);
}
.register-heading-img2 {
    max-height: 100%;
    margin-left: 2em;
    transform: scaleX(-1) rotate(90deg);
}

.register lektory-presenter {
}

.register div.prices {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.register div.prices-box {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.register div.price {
    font-family: var(--font-signature);
    /*
    font-size: 1.25rem;
    width: 100%;
    height: 100%;
    */
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--red);
    background-color: var(--white);
    border: solid 5px black;
    border-radius: 1em;
    margin: 0.5em;
    /*
    position: absolute;
    top: 0;
    left: 0;
    */
}
.register div.price > div.early {
    font-size: 220%;
    color: var(--yellow);
}
.register div.price > div.late {
    font-size: 140%;
    margin-top: 0.1em;
}
.register div.price > div.single {
    font-size: 220%;
    color: black;
}
.register div.price > div {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    margin-top: 0.5em;
    margin-bottom: 0.5rem;
    display: block;
    line-height: 90%;
}
.register div.price > div {
    display: flex;
    justify-content: center;
}
.register div.price-name {
    flex: 0 1 35%;
    font-size: 200%;
    display: flex;
    align-items: flex-end;
}
.register div.price-level {
    flex: 0 1 30%;
    font-size: 160%;
    display: flex;
    align-items: flex-start;
}
.register div.price-czk {
    flex: 0 1 15%;
    align-items: flex-end;
}
.register div.price-eur {
    flex: 0 1 20%;
    align-items: flex-start;
    font-size: 180%;
}
.register h2 {
    color: var(--white);
    padding: 0px;
    margin: 0px;
}
.register h3 {
    color: black;
}

.venues {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.venue-left {
    display: flex;
}
.venue-right {
    display: flex;
}
.venues-map {
    width: 90vw;
}
.venues-map iframe {
    width: 100%;
    height: 60vh;
}

.teachers {
    display: flex;
}
.teacher-couple {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 1.5em;
    margin-right: 1.5em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}
.teacher-text {
    color: black;
    line-height: 1.2;
    font-size: 0.8em;
}
.teacher-name {
    margin-top: 0;
    font-size: 1.6em;
}

.bands {
    display: flex;
    flex-direction: column;
}

.soc {
    font-family: var(--font-signature);
    padding-top: 1em;
    padding-bottom: 1em;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.socMail-regular {
    color: black;
}
.socMail-small {
    color: var(--brown);
    font-size: 0.8em;
}

.intro {
    height: 85vh;
    margin-top: 15vh;
    display: flex;
    align-items: center;
    font-weight: bold;
}

.intro-img {
    flex: 0 1 50%;
}
.intro-desc {
    flex: 0 1 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-signature);
    object-fit: contain;
}
.intro-desc a {
    display: contents;
}

.socIcons {
    width: 80vw;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    margin: auto;
    object-fit: contain;
    padding-top: 8vmin;
}
.socIcons a {
    display: contents;
}
.soc-icon {
    object-fit: contain;
}
.socIcons img {
    width: 100%;
    object-fit: contain;
}

@media (min-width: 1200px) {
    .intro {
        flex-direction: row;
        max-width: 80em;
    }
    .intro-desc {
        flex-direction: column;
        align-items: center;
        display: flex;
        font-size: 2em;
        line-height: 1.2;
    }
    .intro-desc-small {
        font-size: 60%;
    }

    .teachers {
        flex-flow: row wrap;
        justify-content: space-evenly;
        padding-top: 2em;
        width: 90vw;
    }
    .teacher-couple {
        max-width: 20em;
    }

    .bands {
        flex-flow: row wrap;
        justify-content: space-evenly;
        width: 90vw;
    }
    .band {
        max-width: 30em;
    }

    .schedule div.schedules {
        display: flex;
        flex-flow: row wrap;
        align-items: start;
        margin-top: 1em;
        font-family: var(--font-signature);
    }
    .levels {
        max-width: 40em;
    }

    .venue-left,.venue-right {
        width: 80%;
        flex-direction: row;
        align-items: center;
    }
    .venue-right .venue-desc {
        order: -1;
    }

    .socIcons {
        justify-content: center;
    }
    .soc-icon {
        width: 10vw;
    }
    .socIcons img {
        height: 15vmin;
    }
}


@media (max-width: 1199px) {
    .intro {
        flex-direction: column;
        max-width: 95vw;
    }
    .menu-hide {
        visibility: hidden;
        width: 0;
    }
    .intro-desc {
        flex-direction: column;
        font-size: 1.3em;
        line-height: 1.2;
    }
    .intro-desc-small {
        font-size: 60%;
    }

    .schedule div.schedules {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .levels {
        max-width: 90vw;
    }

    .register-heading-img1,.register-heading-img2 {
        display: none;
    }
    .register div.prices-box {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    .venue-left,.venue-right {
        width: 80%;
        flex-direction: column;
        align-items: center;
    }

    .teachers {
        flex-direction: column;
    }

    .soc-icon {
        width: 35vw;
    }
    .socIcons img {
        height: 25vmin;
    }
}

footer {
    font-family: var(--font-signature);
    text-align: center;
    font-size: 1rem;
    color: var(--brown);
    padding: 5px;
    font-weight: 400;
}
