:root {
    --headerPadding: 15vw;
}

.buttonLike, zavritModal {
    cursor: pointer;
}

.atd {
    position: relative;
    display: inline-block;
    text-align: right;
    z-index: 20000;
}

.atd > p {
    display: inline-block;
    margin-top: 0;
    position: relative;
    cursor: default;
    z-index: 200;
}
.atd > p::after {
    content: "▶";
    vertical-align: 25%;
    font-size: 50%;
    margin-left: 0.5rem;
}
.atd atd {
    position: absolute;
    display: block;
    text-align: left;

    opacity: 0;
    visibility: hidden;

    left: 0;

    width: 500%;
    max-height: 50vh;

    transform: translateY(-50%);

    border-radius: 1rem;
    background-color: var(--theme2);
    padding: 1rem;

    box-shadow: var(--stin);

    z-index: 100;

    overflow: scroll;

    transition: 0.7s var(--transSmooth);
}
.atd:hover atd {
    visibility: visible;
    opacity: 1;
    transform: translateX(5rem) translateY(-50%);
}

content {
    display: flex;
    flex-direction: column;
}

bImage {
    position: absolute;

    left: 0;
    top: 0;

    z-index: -100;
}
#cenikGrid h2 {
    font-weight: 600;
    font-size: 1.25rem;
}

header {
    padding-left: var(--headerPadding);
    padding-top: 13vh;
    padding-bottom: 2rem;
    width: 100%;
    height: 80%;
    overflow-x: hidden;
}

header h1 {
    margin-bottom: -1rem;
}
header p {
    max-width: 40ch;
}
.titulekTecky {
    position: relative;
}
.titulekTecky:after {
    content: "";
    position: absolute;
    width: 200vw;
    height: 300%;

    top: -200%;
    transform: translateX(-100vw);

    background-image: radial-gradient(var(--themeKulicky) 20%, var(--mainPozadi) 20%);
    background-position: 0 0;
    background-size: 2rem 2rem;

    z-index: -1;
}

cenikContainer {
    position: relative;
    margin-left: 1.5vw;
    padding: var(--paddingTlacitko);
}
#cenik {
    margin: 0;
    display: inline-block;
    position: relative;
    z-index: 20;
}
#cenik-menu, #cenikMenuMobile {
    background-color: var(--theme2);

    border-radius: 0.5rem;
    box-shadow: 0 7px 65px rgba(15, 71, 113, 0.12);
    
    z-index: 10;

    overflow: hidden;
}
#cenik-menu {
	position: absolute;
    max-height: 100%;
    max-width: 100%;
    top: 0;
    left: 0;
    padding: 0;
    color: var(--theme2);
    
    white-space: nowrap;
    
    transform: translate(0, 0);
    transition: 1s var(--transSmooth);

    will-change: max-height, max-width, padding, transform, color;
}
#cenik-menu a {
    margin-top: 1rem;
}
cenikContainer:hover #cenik-menu {
    max-height: 30em;
    max-width: 30vw;
    padding: 1rem;
    -webkit-transform: translate(7rem, -50%);
    transform: translate(7rem, -50%);
    color: var(--theme1);
}
.cenikOdkaz {
    display: none;
}

#cenik-menu h3 {
    margin-bottom: 0;
    margin-top: 1rem;
	font-size: 120%;
}
#cenik-menu h3:first-of-type {
    margin-top: 0;
}

.fullWidthNadpis {
    background-color: var(--theme2);
    text-align: center;
    margin-top: 0;
}

.fullWidthNadpis + * {
    margin-top: var(--paddingMedium);
}

#cenikGrid {
    grid-template-columns: unset;
    grid-auto-columns: minmax(min-content, 0.7fr) minmax(300px, 1fr);
    gap: var(--paddingMini2x);
}
popisSluzby {
    grid-column: 1;
}
popisSluzby h2 {
    margin: 0;
}
cena {
    grid-column: 2;

}
cena table {
    border-collapse: collapse;
    width: 100%;
    vertical-align: top;
}

cena table tr td, .popisky th {
    padding-right: var(--paddingMini2x);
}
cena table tr td {
    border: none;
}
.popisky {
    text-align: right;
}
.seznamSluzeb {
    padding: var(--paddingMini2x);
}
.seznamSluzeb p {
    margin: 0;
}
.cena {
    text-align: right;
}

whoami {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;

    position: relative;
    
    padding: 0 10vw;
    z-index: 2;
}
whoami img {
    margin-right: 1rem;
    border-radius: 10px;
    box-shadow: var(--stin);
}

gridpage ul {
    font-size: 90%;
    padding-left: 1.3em;
}
gridpage li, #whoami li {
    list-style-type: none;
}
gridpage li {
    margin-top: var(--paddingMini);
}


whoami karta {
    justify-content: center;
    z-index: 1;
}
whoami {
    position: relative;
    text-align: center;
    padding: 0 20vw;
    margin-top: 15vh;
}
whoami:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 50%;
    top: 50%;
    left: 0;
}

karta h1, karta h2 {
    font-weight: 600;
    margin: 0;
}
karta h1 {
    flex-grow: 2;
    flex-basis: 100%;

    font-size: 150%;
    margin: 0;

    background-color: var(--theme2);
    padding: 1rem;
}

section a, section h2 {
    margin-top: 1rem;
}
#spolecnosti {
    text-align: center;

    flex-basis: 100%;
    align-content: center;
    justify-items: center;

    margin-bottom: 1.6rem;
}
obrazky {
    display: flex;

    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: center;

    padding: 2vw;
    transition: 1s var(--transSmooth);
}
obrazkyWrapper {
    display: block;
    position: relative;

    margin-top: var(--paddingMedium);
    margin-bottom: var(--paddingMedium);
    margin-left: calc(-1 * var(--headerPadding)) !important;
}
obrazkyWrapper.transformovat a {
    position: absolute;
    left: 50%;
    bottom: 0;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.9) translateX(-50%) !important;
    transition: 0.75s var(--transSmooth) !important;
    z-index: 10;
}
obrazkyWrapper.transformovat:hover obrazky {
    filter: blur(0.5rem);
    transform: scale(0.85);
}
obrazkyWrapper.transformovat:hover a {
    opacity: 1;
    bottom: 25%;
    transition: 0.75s var(--transSmooth);
    
    pointer-events: visible;
}

obrazky * {
    margin: 0 1rem;
    max-height: 2rem;
}
obrazky h1 {
    width: 100%;
    margin-bottom: 3rem;
    text-align: center;
    font-size: 2rem;
}
obrazky img, obrazky svg {
    height: 50%;
    will-change: filter, transform;
}

.konec {
    color: var(--themeGray);
    font-size: 60%;
}

.pak h1, td.pak {
    color: var(--themeMain);
}
.tl h1 {
    color: var(--themeMain);
}

#referenced {
    min-width: 15rem;
}
.ns {
    font-size: 0.8rem;
}
container, odkazy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    margin-top: 20vw;
}
container h2 {
    text-align: center;
}

.subtitle {
    margin-top: 0;
    color: var(--themeGray);
}

/* MOBILIZACE ZAČÁTEK*/
/*objednaniModal {
    margin-top: 10vh;
}
pravaStrana {
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    top: 0;
    left: 0;
    width: 100%;
}
levaStrana {
    width: 90vw;
    padding: 1.5rem;
}
buttonContainer a {
    padding: 0.8rem;
}
#vypocet {
    display: none;
}*/
/* MOBILIZACE KONEC */

testimonialWrapper {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;

    padding: var(--paddingMedium) 0;
    padding-bottom: 0;
    max-width: 100vw;
    overflow: scroll;
}
testimonialWrapper blockquote {
    margin: 0;
}
testimonialWrapper + a {
    padding-bottom: var(--paddingMedium);
}
.studentska.aktivni {
    border-left: var(--border) var(--themeMain);
    border-right: var(--border) var(--themeMain);
}
.cena.aktivni {
    color: var(--themeGray);
}

footer {
    padding-bottom: 0;
}
deepFooter {
    display: block;
    margin-top: var(--paddingMedium);
    padding: var(--paddingMedium);

    color: var(--themeGrayHeader);
    background-color: var(--themeLightMain);
}
deepFooter p {
    display: inline-block;
}

@media screen and (max-device-width: 1070px) {
    .cenikOdkaz {
        display: inline;
    }
    cenikContainer:first-of-type {
        display: none;
    }
}

@media screen and (max-device-width: 800px) {
    :root {
        --headerPadding: var(--paddingMini2x)
    }
    header {
        padding-left: var(--headerPadding);
        padding-right: var(--paddingMini2x);
    }

    cenikContainer {
        display: none;
    }

    obrazkyWrapper {
        margin-bottom: var(--paddingMini);
    }
    
    obrazky * {
        max-height: 1.5rem;
    }

    #cenikGrid {
        grid-auto-columns: auto;
        grid-auto-rows: min-content;
        width: 100%;
        padding: 0 var(--paddingMini);
    }
    popisSluzby, cena {
        grid-column: 1 / span 2;
    }
    popisSluzby, .seznamSluzeb {
        padding: var(--paddingMini);
        padding-top: 0;
    }
    popisSluzby:first-of-type h2 {
        margin-top: 0;
    }

    testimonialWrapper {
        justify-content: flex-start;
    }
    testimonialWrapper blockquote {
        min-width: 20ch;
        margin: 0 var(--paddingLayout);
    }
}