/* Fonty */
@import url('https://fonts.googleapis.com/css?family=Nunito:400,400i,600,600i,700,700i&display=swap&subset=latin-ext');
@import url('https://fonts.googleapis.com/css?family=Inconsolata:400,700&display=swap&subset=latin-ext');
@import url('https://rsms.me/inter/inter.css');

/* Barvy */
:root {
    --themeMain: #2196f3;
    --theme: #384046;
    --theme2: #FFFFFF;
    --mainPozadi: #f6fafd;

    --themeKulicky: #ebecfe;

    --themeGray: #93a1ac;
    --themeGrayInverted: #dde1e5;
    --themeGrayInverted2: #40a6f5;

    --themeHighlight: #ff5d73;
    --themeHighlightLighter: #ff7386;
    --themeLightMain: #e5f3fd;
    --themeGrayHeader: #616e78;

    --themeMainSVGhack: invert(43%) sepia(93%) saturate(1448%) hue-rotate(184deg) brightness(98%) contrast(95%);

    --themeTlacitkoText: var(--theme2);

    --themeGradientTlacitko: linear-gradient(45deg, var(--themeGrayInverted2) 0%, var(--themeMain) 100%);
    --themeGradientTlacitkoKontrast: linear-gradient(45deg, var(--themeHighlight) 0%, var(--themeHighlightLighter) 100%);

    --themeFieldOutline: #dff0fd;

    --themeHoverBackground: #ffedf0;

    --themeHighlightDark: #7f1119;

    --themeStinStredni: 0 7px 15px rgba(15, 71, 113, 0.05);
    --themeStinVelky: 0 7px 30px rgba(15, 71, 113, 0.28);
}

/* Konstanty */
:root {
    --paddingSuperMini: 0.2rem;
    --paddingMini: 0.6rem;
    --paddingMini2x: 1.2rem;
    --padding: 1rem;
    --paddingMedium: 2.4rem;
    --paddingLayout: 5rem;

    --paddingMediumSquishy: 3vw;
    --paddingBigSquishy: 6vw;
    --paddingMaxiSquishy: 10vw;

    --paddingTlacitko: var(--paddingMini) var(--paddingMini2x);

    --iconSize: 10rem; /* Mini verze: --iconSize * 0.8 */

    --hoverOffset: 1px;

    --border: 2px solid;

    --transSmooth: cubic-bezier(.4, 0, 0, 1.01);

    --tlacitkoTransform: 0.3s var(--transSmooth);

    --borderRadiusMini: 2px; 
    --borderRadiusMedium: 5px;
    --borderRadiusBig: 10px;

    --gridConstant: 10;

    --hlavniFont: 'Inter', sans-serif;
}

/* Ostatní */
:root {
    --checkIkona: url(/check-circle-solid.svg);
    --moznaIkona: url(/check-maybe.svg);

    --zvyrazneniVyska: 1px;
}

@supports (font-variation-settings: normal) {
    :root { 
        --hlavniFont: 'Inter var', sans-serif; 
    }
}

/* Důležité resety */
* {
    text-decoration: none;
    box-sizing: border-box;
}

::-webkit-input-placeholder, :-ms-input-placeholder, ::-ms-input-placeholder, ::placeholder {
    color: var(--themeGrayInverted2);
}
.tlacitko::-moz-focus-inner, button::-moz-focus-inner {
    border: 0;
}
.noselect, inlineContainer label, inlineContainer input {
    user-select: none;
}
.centered {
    text-align: center;
}
.ikona {
    width: var(--iconSize);
    z-index: 20;
}
.ikonaTrochuMensi {
    width: calc(var(--iconSize) * 0.8);
}
.ikonaMala {
    width: calc(var(--iconSize) / 3.2);
    height: calc(var(--iconSize) / 3.2);
    min-width: 2rem;
}
.ikonaExtraMala {
    width: calc(var(--iconSize) / 6.4);
    height: calc(var(--iconSize) / 6.4);
}
.sPozadim {
    background-color: var(--themeMain);
    border-radius: 5rem;
    border: 4px solid var(--themeMain);
}

.svgThemeMain {
    filter: var(--themeMainSVGhack);
}

input[type="submit"], input[type="reset"] {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
}
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}
input:not(input[type="checkbox"]) {
    appearance: none;
    -webkit-appearance: none;
}
input[type=number] {
    -moz-appearance: textfield;
}
button {
    border: none;
}

html {
    scroll-behavior: smooth;
}

body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    background-color: var(--mainPozadi);
    font-family: var(--hlavniFont);
    color: var(--theme);
    font-size: 1.05rem;
    letter-spacing: 0.01rem;
    font-weight: 450;
    line-height: 1.7;
    padding: 0;
    margin: 0;
    overflow-x: hidden !important;
    max-width: 100vw;
}

p, li {
    margin-bottom: var(--paddingMini2x);
}
li a {
    display: inline;
}
b {
    font-weight: 600;
    background-color: var(--themeLightMain);
    border-radius: var(--borderRadiusMini);
}
/*b.zvyrazneni {
    font-weight: 450;
}*/
.hidden {
    display: none !important;
}
.noScroll {
    overflow: hidden;
}
.noMargin {
    margin: 0 !important;
}
.noPadding {
    padding: 0;
}
.noAnimation {
    animation: none;
}
.miniText {
    font-size: 70%;
}

/* Kosmetické věci */
.miniIkony {
    --iconSize: 8rem;
}

inlineContainer label, inlineContainer input {
    cursor: pointer;
    z-index: 100;
}
.dropdownToggle:before, inlineContainer:before {
    content: "";
    position: absolute;

    width: calc(100% + 2 * var(--paddingMini));
    height: calc(100% + var(--paddingMini));

    left: calc(-1 * var(--paddingMini));
    top: calc(-1 * var(--paddingMini) / 2);

    border-radius: 1rem;

    transition: 0.3s var(--transSmooth);
}
.dropdownToggle:before {
    z-index: -1;
}
inlineContainer:before {
    z-index: 90;
}
.dropdownToggle:hover:before {
    background-color: var(--mainPozadi);
}
inlineContainer:hover:before {
    background-color: var(--themeKulicky);
}
.dropdownToggle, inlineContainer {
    display: flex;
    position: relative;

    align-items: center;
    justify-content: flex-start;

    cursor: pointer;
}
.dropdownToggle:after {
    content: "";
    display: inline-block;

    margin-left: var(--paddingMini);

    width: 1.2rem;
    height: 1.2rem;

    background-image: url("/dropdownIkona.svg");

    transition: 0.5s var(--transSmooth);
}
.dropdownExpanded:after {
    transform: rotate(180deg);
}
.dropdownToggle {
    align-self: center;
    margin-top: var(--paddingMini2x);
}
.dropdownToggle + * {
    display: none;
}

a:not(.tlacitko), a:not(.tlacitkoKontakt) {
    text-decoration: underline; 
    color: var(--themeHighlight);
    transition: 0.3s var(--transSmooth);
}
a:not(.tlacitko):hover, a:not(.tlacitkoKontakt):hover {
    color: var(--themeHighlightDark);
}

bar {
    position: fixed;
    width: 100vw;
    top: 0;

    font-family: "Nunito", sans-serif;
    font-weight: 600;
    display: flex;

    align-items: center;

    padding: 0 calc(15vw - var(--paddingMini2x));
    background-color: var(--theme2);
    box-shadow: var(--themeStinStredni);
    z-index: 100;
}
bar a {
    display: inline;
    padding: var(--paddingMini2x) var(--paddingMini);
}
bar a:not(.tlacitkoKontrast):hover {
    background-color: var(--themeHoverBackground);
}
bar .tlacitkoKontrast {
    position: relative;
    transition: var(--tlacitkoTransform);
}
bar .tlacitkoKontrast::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1rem;
    left: 0;
    top: -1rem;
    z-index: 20;
    background-attachment: fixed;
}
bar .tlacitkoKontrast:hover {
    transform: translateY(0.5rem);
}
.naDomovskouStranku {
    display: inline-flex;
    align-items: center;
    margin-right: var(--paddingMini2x);
}
.naDomovskouStranku:before {
    content: "<";
    display: inline-block;

    font-weight: 1000;

    width: 0.8em;
    height: 0.8em;

    margin-right: var(--paddingMini);

    background-repeat: no-repeat;

    transform: scale(1,1.5) translateY(-0.2rem);
}

.jazykFull {
    display: inline;
}
.jazykyFull {
    display: block;
}

.jazykKratky, .jazykyKratke {
    display: none;
}

.dotBackground {
    background-image: radial-gradient(var(--themeKulicky) 20%, var(--mainPozadi) 20%);
    background-position: 0 0;
    background-size: 2rem 2rem;
    height: 100%;
    width: 100%;
}
.dodatek {
    color: var(--themeGray);
    font-size: 0.95rem;
    margin: 0.3rem 0;
}

.checkmarkList li::before {
    content: ""; 
    display: inline-block;
    margin-left: -1.3em; 
    width: 1.3em; 
    height: 0.8rem;
    background: var(--checkIkona);
    background-repeat: no-repeat;
    transform: translateY(0.1rem);
}

/* Často používané elementy */
.flex, .flex-start {
    display: flex;
}
.flex-start {
    align-items: flex-start;
}
.flex.vertical, .flex-start.vertical {
    flex-direction: column;
}
.flex.centered {
    align-items: center;
}
.centered.bothAxes {
    justify-content: center;
}
footer {
    position: relative;
    text-align: center;
    width: 100%;

    margin-top: 30vh;
    padding: var(--paddingMedium);

    border-top: 1px dashed var(--themeGrayInverted);

}
footer:after {
    content: "2014-2023";
    position: absolute;
    right: var(--paddingMini2x);
    top: var(--paddingMedium);
    margin: 0;

    font-size: 300%;
    font-weight: bold;
    line-height: 1;

    color: var(--themeGrayInverted);
}
footer h2 {
    margin-top: 0;
}
footer a, footer p{
    margin: 0 var(--paddingMini2x);
}
footer span {
    display: block;
}

.tlacitko:not(.barTlacitkoKontrast), button, .tlacitkoKontrast:not(.barTlacitkoKontrast) {
    font-family: var(--hlavniFont);
    font-size: 0.9rem;
    text-decoration: none !important;
    font-weight: 600;

    padding: var(--paddingTlacitko);

    cursor: pointer;
    outline: none;

    transition: 0.2s var(--transSmooth)
}
.tlacitko:not(.barTlacitkoKontrast), button:not(.vyberSluzby), .tlacitkoKontrast:not(.barTlacitkoKontrast) {
    border-radius: var(--borderRadiusMedium);

    background: var(--themeGradientTlacitko);
    box-shadow: 0px 5px 21px 0px rgba(15, 71, 113, 0.05), 0px 3px 25px 0px rgba(15, 71, 113, 0.20);
}
.tlacitko {
    color: var(--themeTlacitkoText) !important;
}
#kontaktFix {
    transform: translateY(-1em);
}

.tlacitko:hover {
    box-shadow: 0 8px 20px rgba(15, 71, 113, 0.27);
    transform: translate(0, -2px);
}
.tlacitko:not(.barTlacitkoKontrast):active, button:active {
    box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);
    transform: translateY(-1px);
    transition: 0.1s var(--transSmooth);
}

.tlacitkoKontrast, bar .tlacitkoKontrast::before, input[type="submit"] {
    background: var(--themeGradientTlacitkoKontrast) !important;
}
.tlacitkoKontrast {
    font-weight: 700 !important;
    letter-spacing: 0.05rem;

    cursor: pointer;

    text-decoration: none !important;

    background-attachment: fixed;
}
.tlacitkoKontrast:first-of-type, .tlacitko, button {
    transition: var(--tlacitkoTransform);
}

h1, h2, h3, footer:after {
    font-family: "Nunito", sans-serif;
}
h1 {
    font-weight: 900;
    font-size: 300%;
    margin: 5rem 0 0 0;
    letter-spacing: 0;
}
h2 {
    line-height: 1.1;
    margin-top: var(--paddingMedium);
}
h3 {
    line-height: 1.2;
    margin-bottom: 0;
}

/* Rozložení */
article {
    display: grid;
    align-items: start;
}
.sectionArticle {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 5rem;
    grid-template-areas: 
    'titulek text';
}
.sectionArticle:not(.sectionFulltext) h4 {
    line-height: 1.4;
}
.sectionFulltext, article.sectionHalftext {
    padding: 0 20vw;
}
.sectionFulltext {
    grid-template-areas: unset;
}
.sectionFulltext text {
    grid-area: unset;
}
.sectionHalftext {
    padding: 0 20vw;
}
article.sectionHalftext {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}
article.sectionHalftext text {
    grid-area: unset;
    width: 100%;
}

.linkList h4 {
    margin-bottom: var(--paddingMini);
}
.linkList h4:not(:first-of-type) {
    margin-top: var(--paddingMini2x);
}
.linkList li, .checkmarkList li {
    list-style-type: none;
}
.linkList ul {
    margin: 0;
    padding: 0;
}
.linkList li:before {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fullWidth {
    text-align: center;
    width: 100vw;
    margin-left: calc(50% - 50vw);
}

section {
    width: 100%;
    margin-bottom: var(--paddingLayout);
}
article:not(:last-of-type) {
    margin-bottom: var(--paddingMedium);
}

article h1 {
    text-align: center;
    grid-area: gridNadpis;
    background-color: var(--theme2);
}
article titulek {
    position: relative;
    text-align: right;
    grid-area: titulek;
    background-color: var(--theme2);
    padding: 2.5rem;
}
article titulek img {
    position: absolute;
    right: -1rem;
    top: 1rem;
    max-width: 70%;
    max-height: 27rem;
    z-index: -1;
    box-shadow: var(--themeStinVelky);
}
article titulek * {
    margin: 0;
}
text, .linkList text {
    max-width: 45ch;
}
text {
    grid-area: text;
}
.sectionFulltext:not(.linkList) text {
    width: 100%;
}
article text h4, h6 {
    color: var(--themeGrayHeader);
    font-weight: 450;
    font-size: 120%;
    margin-top: 0;
    margin-bottom: var(--paddingMini2x);
}
article text h4 + p:first-of-type {
    color: var(--themeMain);
}

kartyList, .kartyList {
    display: grid;
    padding: 0 8vw;
    padding-bottom: var(--paddingMedium);
    gap: 2vw;
    align-items: start;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-template-rows: min-content;
    grid-auto-flow: dense;
    width: 100vw;
    z-index: 10;
}
kartyList *, .kartyList {
    max-width: 100vw;
}
kartyList gridPage {
    display: flex;
    flex-direction: column;
    align-items: center;
    
    padding-bottom: var(--paddingMedium);
}
kartyList gridPage * {
    margin: 0;
}
kartyList itemText {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    
    position: relative;
    padding: 2rem;
    z-index: 2;
}
kartyList itemText:before {
    content: "";
    position: absolute;
    width: 100%;
    height: calc(100% + calc(var(--iconSize) / 1.5));
    top: calc(calc(var(--iconSize) / 1.5) * -1);
    left: 0;
    background-color: var(--theme2);

    border-radius: var(--borderRadiusBig);
    z-index: -1;
    box-shadow: var(--themeStinStredni);

    will-change: height;
}
kartyList itemText p {
    margin-top: var(--paddingMini);
}

kartyList itemText button {
    margin-top: var(--paddingMini2x);
}
kartyList itemText a {
    margin-left: var(--paddingMini2x);
}

/* Ostatní */
tr:not(.popisky) {
    position: relative;
}
tr:not(.popisky):after {
    content: "";
    position: absolute;
    width: 150vw;
    height: var(--zvyrazneniVyska);
    left: -50vw;
    transform: translateY(1rem);
    background-color: var(--theme2);
    box-shadow: var(--themeStinStredni);
    z-index: -1;

    opacity: 0;
    pointer-events: none;

    transition: 0.5s var(--transSmooth);
}
tr:not(.popisky):hover:after {
    opacity: 1;

    transform: translateY(0);
}

/* Objednávací formulář */
objednaniModalOverlay {
    position: fixed;
    display: flex;

    justify-content: center;
    align-items: center;

    width: 100%;
    height: 100%;

    max-width: 100vw;
    max-height: 100vh;

    transform: scale(0.85);
    filter: opacity(0);
    pointer-events: none;

    z-index: 1000;
    
    animation-name: zavritModal;
}
@keyframes zavritModal {
    0% {
        transform: scale(1);
        filter: opacity(1);
    }
    100% {
        transform: scale(0.85);
        filter: opacity(0);
    }
}
objednaniModalOverlay, transformer, .modalAktivni, .modalNeaktivni {
    animation-fill-mode: forwards;
    animation-timing-function: var(--transSmooth);
    animation-duration: 0.5s;
    will-change: pointer-events, transform, filter;
}
objednaniModalOverlay.aktivni {
    pointer-events: all;
    animation-name: otevritModal;
}
@keyframes otevritModal {
    to {
        transform: scale(1);
        filter: opacity(1);
        pointer-events: all;
    }
}

transformer {
    display: block;
    animation-name: transformerNeaktivni;
}
@keyframes transformerNeaktivni {
    from {
        filter: opacity(0.1);
    }
    to {
        filter: opacity(1);
    }
}
transformer.aktivni {
    animation-name: transformerAktivni;
}
@keyframes transformerAktivni {
    from {
        filter: opacity(1);
    }
    to {
        filter: opacity(0.1);
    }
}


objednaniModal {
    position: fixed;
    display: flex;
    flex-flow: row;

    max-height: 100vh;

    background-color: var(--theme2);
    border-radius: var(--borderRadiusBig);
    overflow: hidden;

    box-shadow: var(--themeStinVelky);
    z-index: 9000000;

    transition: max-height 1s var(--transSmooth);

    will-change: max-height;
}
objednaniModal h1 {
    margin: 0;
}
levaStrana, pravaStrana {
    padding: var(--paddingMediumSquishy);
}
levaStrana {
    position: relative;
    background-color: var(--mainPozadi);
    width: 35vw;

    overflow: hidden;
}
paneSwitcher {
    display: flex;
    flex-direction: column;
    align-items: center;
}
paneSwitcher p {
    margin: 0;
}
buttonContainer { 
    /*display: grid;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    grid-template-rows: min-content;*/

    padding: var(--paddingSuperMini);
    box-sizing: content-box;
    margin-top: var(--paddingMini);
    background-color: var(--theme2);
    border-radius: var(--borderRadiusBig);
    box-shadow: 0 7px 65px rgba(15, 71, 113, 0.12);
    overflow: hidden;
}
.vyberSluzby {
    position: relative;
    color: var(--themeMain) !important;
    background-color: var(--theme2) !important;
    border-radius: var(--borderRadiusMedium);
    
    display: inline-block;
    z-index: 10;
    
    transition: 0.2s, color 0s !important;

    overflow: hidden;
}
.vyberSluzby:hover {
    background-color: var(--themeFieldOutline) !important;
}
.vyberSluzby:active {
    border: none;
    box-shadow: none;
}
.vyberSluzby.activeSelection {
    color: var(--theme2) !important;
}
.vyberSluzby.activeSelection::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--themeMain);
    z-index: -1;
}

levaStrana form {
    position: relative;

    display: flex;
    flex-flow: column;
}
potvrzeniOdeslani {
    position: absolute;

    width: 100%;

    padding: var(--paddingMediumSquishy);

    left: 0;
    top: 100%;

    transform: translateY(0%);

    transition: 1s var(--transSmooth);
    transition-delay: 1.01s;

    background-color: var(--mainPozadi);

    z-index: 1000;
}
potvrzeniOdeslani.odeslano {
    transform: translateY(-100%);
}
objednaniModal.odeslano {
    max-height: var(--odeslanoOverlayVyska);
}

modalContainer {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
modal {
    padding: var(--paddingMedium);
    background-color: var(--theme2);

    border-radius: var(--borderRadiusBig);
    box-shadow: var(--themeStinVelky);
    z-index: 10000000 !important;
}

levaStrana input[type="email"], levaStrana input[type="text"], levaStrana input[type="number"] {
    position: relative;
    display: block;
    margin-top: var(--paddingMini);
    margin-bottom: var(--paddingMedium);
    padding: 0.8rem;
    width: 100%;
    background: var(--theme2);
    border: 1px solid var(--themeFieldOutline);
    box-sizing: border-box;
    box-shadow: 0px 5px 17px rgba(15, 71, 113, 0.06);

    transition: 0.2s var(--transSmooth);
}
levaStrana input[type="email"]:focus, levaStrana input[type="text"]:focus, levaStrana input[type="number"]:focus {
    border: 1px solid #6bbaf7;
    box-shadow: 0px 5px 5px rgba(15, 71, 113, 0.02);
}
input[type="checkbox"] {
    display: inline;
    margin-right: 0.3rem;

    transition: 0.3s var(--transSmooth);

    cursor: pointer;
}
.vybrat {
    display: none;
    margin-top: var(--paddingMedium);
}
.vybrano {
    display: flex;
    position: relative;

    flex-direction: column;
    align-items: flex-start;
}
.vybrano.centered {
    align-items: center;
}
inlineContainer {
    margin-bottom: var(--paddingMini);
}
inlineContainer * {
    display: inline;
}
.easy-autocomplete {
    position: relative;
    width:100% !important
}
  
.easy-autocomplete input {
    width: 100%;
}
.easy-autocomplete-container {
    position: absolute;
    background-color: var(--theme2);

    margin-top: calc(-1 * var(--paddingMedium));
    width: 100%;

    border: var(--border) var(--themeFieldOutline);

    border-radius: var(--borderRadiusMedium);
    border-top-left-radius: 0;
    border-top-right-radius: 0;

    list-style: none;
    z-index: 1000000;
}
.easy-autocomplete-container * {
    list-style: none;
    margin: 0;
}
.easy-autocomplete-container ul {
    padding: 0;
    overflow: hidden;
}
.eac-item {
    cursor: pointer;
    padding: var(--paddingTlacitko);
    border-top: var(--border) var(--themeLightMain);
}
.selected:hover {
    background-color: var(--themeLightMain);
}
#kontaktFormularOdeslat {
    align-self: center;
    margin-top: var(--paddingMedium);
}

pravaStrana {
    position: relative;
    color: var(--theme2);
    background-color: var(--themeMain);

    text-align: center;
}
pravaStrana zavritModal, zavritEmbed {
    font-weight: 600;

    position: absolute;
    color: var(--themeMain);
    top: 1vw;
    right: 1vw;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    border-radius: 50%;
    background-color: var(--theme2);

    cursor: pointer;
}
pravaStrana p:first-of-type, zavritEmbed p {
    margin: 0;
}
pravaStrana table {
    font-family: 'Inconsolata', monospace;
    font-weight: 600;
    font-size: 80%;
    letter-spacing: 0.05rem;
    width: 100%;
    border-collapse: collapse;
}
pravaStrana tr td:nth-child(1n) {
    color: var(--themeGrayInverted);
    text-align: left;
    padding-bottom: 0.2rem;
}
pravaStrana tr td:nth-child(2n) {
    color: var(--theme2);
    text-align: right;
}
.rovnaSe {
    border-top: 1px solid var(--themeGrayInverted);
}

blockquote {
    border-left: 3px solid var(--themeMain);
    margin-left: 0;
    padding-left: 1em;
}
blockquote p {
    margin-top: 0;
}
podpis {
    display: grid;
    justify-items: left;
    grid-template-columns: min-content auto;
    grid-template-areas: 
    "jmeno jmeno"
    "funkce funkce";
}
podpis * {
    margin-bottom: 0;
}
podpis h6 {
    margin: 0 !important;
    grid-area: jmeno;
}
podpis p {
    grid-area: funkce;
}
podpis img {
    grid-area: obrazek;
    margin-right: var(--paddingMini2x);
    max-height: 5rem;
    border-radius: 50%;
}
podpis h6 + p {
    margin: 0;
    color: var(--themeMain);
}

/* Tablet */
@media screen and (max-device-width: 1350px) {
    footer:after {
        display: none;
    }
}

@media screen and (max-device-width: 1070px) {
    input[type="email"],
    input[type="number"],
    input[type="text"],
    select:focus,
    textarea {
        font-size: 16px;
}

    bar a, bar .tlacitkoKontrast {
        padding: var(--paddingMediumSquishy);
    }
    bar .tlacitkoKontrast::before {
        display: none;
    }

    article titulek img {
        top: 0;
        left: 0;
        width: 100%;

        min-width: 100%;
        max-height: unset;
        max-width: 10rem;

        filter: opacity(0.2)
    }

    .sectionArticle {
        grid-template-columns: 1fr;
        grid-template-areas: unset;
        gap: var(--paddingMedium);
    }
    .sectionArticle titulek, .sectionArticle text {
        grid-area: unset;
        overflow: hidden;
        background-color: unset;
    }
    article titulek * {
        text-align: center;
    }

    text {
        justify-self: start !important;
        max-width: 100%;
        padding: 0 var(--paddingMedium);
    }
    article text h4 {
        font-size: 100%;
    }
    article text h4 + p:first-of-type {
        font-size: 90%;
    }
}

/* Mobil */
@media screen and (max-device-width: 800px) {
    :root {
        --paddingLayout: 2rem;
        --iconSize: 30vw;
    }

    body {
        font-size: 1rem;
    }

    objednaniModalOverlay {
        align-items: flex-start;
    }
    objednaniModal {
        margin-top: calc(20vh + var(--paddingMini2x));

        overflow-y: initial !important
    }
    objednaniModal levaStrana {
        width: calc(100vw - var(--paddingMini2x));

        padding: 0;

        overflow-y: auto;

        border-top: 10px solid var(--mainPozadi);
        border-bottom: 10px solid var(--mainPozadi);
    }
    objednaniModal levaStrana.formularPevnaVyska {
        position: relative;
        height: calc(80vh - 5rem);
    }
    objednaniModal form {
        padding: var(--paddingMediumSquishy);
    }

    objednaniModal pravaStrana {
        position: fixed;
        top: 0;
        left: 0;
        
        width: 100vw;
        z-index: 100000;
        -webkit-transform: translate3d(0, 0, 0);
    }
    objednaniModal pravaStrana p, #konecnaCenaValue {
        display: inline-block;
    }
    #vypocet {
        display: none;
    }

    potvrzeniOdeslani {
        position: fixed;
        top: calc(20vh + var(--paddingMini2x));
        filter: opacity(0);
        transform: scale(0.7);
        pointer-events: none;
        transition: 0.3s var(--transSmooth);
    }
    potvrzeniOdeslani.odeslano {
        transition-delay: 1s;
        filter: opacity(1);
        transform: scale(1);
        pointer-events: all;
    }

    h1 {
        font-size: 180%;
    }

    bar {
        padding: 0;
    }

    .jazykFull, .jazykyFull {
        display: none;
    }
    .jazykKratky {
        display: inline;
    }
    .jazykyKratke {
        display: block;
    }

    kartyList {
        padding: 0 var(--paddingMini2x);
    }
    kartyList itemText {
        padding: var(--paddingMini2x);
    }

    text {
        padding: 0 var(--paddingMini2x) !important;
    }
    .sectionFulltext, .sectionHalftext {
        padding: 0 !important;
    }
    article.sectionHalftext text section {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-device-width: 500px) {
    footer a, footer p {
        display: block;
        margin-bottom: var(--paddingMini2x);
    }
    kartyList h3, .dropdownToggle, inlineContainer {
        align-self: center;
    }
    itemText .dodatek, itemText h3 {
        display: block;
    }
    itemText dodatek:first-of-type, itemText h3 {
        text-align: center;
    }
    .dropdownToggle, inlineContainer {
        margin-top: var(--paddingMini2x);
    }
}

@media screen and (max-device-width: 400px) {
    .naDomovskouStranku {
        margin-right: 0;
    }
}

/* Tmavý režim */

@media (prefers-color-scheme: dark) {
    body {
        --themeMain: #1870b3;
        --theme: #f5fafe;
        --theme2: #414b52;
        --mainPozadi: #384046;

        --themeKulicky: #405a6c;

        --themeGray: #93a1ac;
        --themeGrayInverted: #6A7A8B;
        --themeGrayInverted2: #1f8ee2;
        --themeGrayHeader: #b3cee3;

        --themeHighlight: #ff7088;
        --themeLightMain: #71828f;

        --themeTlacitkoText: var(--theme);
        --themeGradientTlacitko: linear-gradient(45deg, var(--themeGrayInverted2) 0%, var(--themeMain) 100%);

        --themeFieldOutline: #313c45;

        --themeHoverBackground: var(--mainPozadi);

        --themeHighlightDark: #fcc5c9;

        --checkIkona: url(/check-circle-solid_dark.svg);
        --moznaIkona: url(/check-maybe_dark.svg)
    }

    ::-webkit-input-placeholder, :-ms-input-placeholder, ::-ms-input-placeholder, ::placeholder {
        color: var(--themeGray);
    }

    b {
        font-weight: 600;
        background-color: var(--themeKulicky);
    }

    .tlacitkoKontrast, tlacitko, button, obrazkyWrapper a {
        color: #f9f9fa !important;
    }
    objednaniModal pravaStrana, pravaStrana tr td:nth-child(n + 1) {
        color: #f9f9fa;
    }

    kartyList itemText:before, bar, objednaniModal {
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 7px 15px rgba(15, 71, 113, 0.05);
    }

    input{
        color: var(--theme);
    } 
}
@media screen and (max-device-width: 362px) {
    .vyberSluzby {
        font-size: 4.5vw;
        padding: var(--paddingMediumSquishy);
    }
}