
:root {    
    --color-cta: #f7e32f; /* CTA */
    --color-cta-hover: #e6d21e;

    --fw-light: 300;
    /* ! Nové barvy */
    --highlight: #4B6587;
    --highlight-hover: #4B6587;
    --highlight2: #d29504;

    --color-fg-1: #4B6587;
    --color-fg-2: #2D2D2D;
    --color-fg-3: #ffffff;
    --color-bg-1: #4B6587;
    --color-bg-2: #e9e9e9;
    --color-bg-3: #F7F6F2;
    --color-bg-4: #2D2D2D;

    --h1-font-family: "Playfair Display", serif;
    /* --h1-font-size: 88px; */
    --h1-font-size: 55px;
    --h1-font-weight: 400;
    --h1-line-height: 1;

    --h2-font-family: "Playfair Display", serif;
    --h2-font-size: 50px;
    --h2-font-weight: 400;
    --h2-line-height: 1.2;

    --h2--v2-font-family: "Playfair Display", serif;
    --h2--v2-font-size: 100px;
    --h2--v2-font-weight: 400;
    --h2--v2-line-height: 1;

    --h3-font-family: "Playfair Display", serif;
    --h3-font-size: 34px;
    --h3-font-weight: 400;
    --h3-line-height: 1.3;

    --h4-font-family: "Playfair Display", serif;
    --h4-font-size: 16px;
    --h4-font-weight: 400;
    --h4-line-height: 1.25;
}
html {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    font-optical-sizing: auto;

    font-size: 16px;
    line-height: 1.6;
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    color: var(--color-fg-2);
}
body {
    position: relative;
    background-color: var(--color-bg-3);
}
/******************************************************************************/

/* h1, .h1, h2, .h2, h3, .h3, h4, .h4 { } */
h1,
.h1 {
    font-optical-sizing: auto;
    font-family: var(--h1-font-family);
    font-size: var(--h1-font-size);
    font-weight: var(--h1-font-weight);
    line-height: var(--h1-line-height);
    margin-top: 0em;
    margin-bottom: 0em;
    text-wrap: balance;
    color: var(--color-fg-2);
}

h2,
.h2 {
    font-optical-sizing: auto;
    font-family: var(--h2-font-family);
    font-size: var(--h2-font-size);
    font-weight: var(--h2-font-weight);
    line-height: var(--h2-line-height);
    margin: 0;
    text-wrap: balance;
    color: var(--color-fg-2);
}

.h2--v2 {
    font-optical-sizing: auto;
    font-family: var(--h2--v2-font-family);
    font-size: var(--h2--v2-font-size);
    font-weight: var(--h2--v2-font-weight);
    line-height: var(--h2--v2-font-height);
    /* font-size: 100px; */
    /* font-weight: 400; */
    /* line-height: 1; */
    margin: 0;
    text-wrap: balance;
    color: #D9D9D9;
}

h3,
.h3 {
    font-optical-sizing: auto;
    font-family: var(--h3-font-family);
    font-size: var(--h3-font-size);
    font-weight: var(--h3-font-weight);
    line-height: var(--h3-line-height);
    margin: 0;
    text-wrap: balance;
    color: var(--color-fg-2);
}

h4,
.h4 {
    font-optical-sizing: auto;
    font-family: var(--h4-font-family);
    font-size: var(--h4-font-size);
    font-weight: var(--h4-font-weight);
    line-height: var(--h4-line-height);
    margin: 0;
    text-wrap: balance;
    color: var(--color-fg-2);
}

h6, .h6 {
    color: var(--color-fg-1);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    text-transform: uppercase;
    margin-bottom: 1em;
}

/* h1, .h1 { font-size: 30px; font-weight: 800; line-height: 1.25; margin-top: 1em; margin-bottom: 1em; text-wrap: balance; color: var(--color-fg-1);}
h2, .h2 { font-size: 24px; font-weight: normal; line-height: 1.25; margin: 0; margin-top: 1em; margin-bottom: 1em; text-wrap: balance; color: var(--color-fg-1);}
h3, .h3 { font-size: 20px; font-weight: normal; line-height: 1.25; margin: 0; margin-top: .5em; margin-bottom: .5em; text-wrap: balance; color: var(--color-fg-1); }
h4, .h4 { font-size: 16px; font-weight: normal; line-height: 1.25; margin: 0; text-wrap: balance; color: var(--color-fg-1); } */

.h1, .h2, .h3, .h4 { display: block; }

h1 strong, .h1 strong,
h2 strong, .h2 strong,
h3 strong, .h3 strong {
    font-weight: 900;
}

table {	border-collapse: collapse; }
p { margin: 0; }
a { color: inherit; }
a:hover { text-decoration: none; }
img { border: 0; margin: 0; padding: 0; vertical-align: bottom; }


ul {
    padding-left: 1em;
    margin: 1em 0;
}

input, textarea, select { font-family: inherit; font-size: 1rem; }

hr {opacity: .15;height: 1px;background: currentColor;border: none;margin: 1em 0;}

@media (max-width: 600px) {
    /* h1, .h1 { font-size: 32px; margin-top: .5em; margin-bottom: .5em;} */
    /* h2, .h2 { font-size: 22px; margin-top: .5em; margin-bottom: .5em; } */
    /* h3, .h3 { font-size: 18px; margin: 0; } */
    /* h4, .h4 { font-size: 16px; margin: 0; } */
}

/******************************************************************************/

.velka-pismena { text-transform: uppercase; }

/******************************************************************************/

/* .zvyrazneni { color: #00a1e2; } */
.zvyrazneni { color: var(--color-fg-1); }
.zvyrazneni-seda { color: #666; }
.zvyrazneni-zluta { color: #d39603; }

/******************************************************************************/

.text-tentky { font-weight: 300; }

/******************************************************************************/
/* tabulka */

.table {}
.table tr th { line-height: 1.5; }
.table tr th, .table tr td { padding: 0px 15px 0px 0; }
.table tr th, .table thead tr td, .table tr.th td { background: var(--highlight); background: #ccc; color: #111; font-weight: normal; }

/******************************************************************************/
/* .machine-table {font-size: 14px;line-height: 1.5em;width: 100%;}
.machine-table td {position: relative;}
.machine-table td::after {position: absolute;bottom: 0;width: 95%;}
.machine-table td:first-child {text-align: right;padding: .25em calc(2em + 8px) .25em 1em;width: 50%;}
.machine-table td:last-child {color: var(--color-fg-1);}
.machine-table td::after {border-bottom: 1px solid currentColor;content: "";display: block;opacity: .2;}
.machine-table td:first-child::after {margin-left: -1em;margin-right: -2em;}
.machine-table tr:first-child td::before {border-bottom: 1px solid currentColor;content: "";display: block;opacity: .2;width: 95%;position: absolute;top: 0;left: 0;}
@media (max-width: 600px) {
    .machine-table {font-size: 15px;}
} */

/******************************************************************************/
/* tlačítka */

.button {
    --color-1: var(--__btn-bg, #d35400);
    --color-2: var(--__btn-fg, var(--color-fg-3));
    position: relative;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    isolation: isolate;
    padding: 16px 28px;
    color: var(--color-2);
    appearance: none;
    border: none;
    background: var(--color-1);
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    transition: .2s background, .2s color, .2s transform, .2s filter;
    box-sizing: border-box;
    /* border-radius: 4px; */
}
.button:hover {
    /* --color-1: #000;
    --color-2: #fff; */
    filter: brightness(.90);
}
.button:active {
    transform: scale(0.95);
}
.button.button--light {
    --color-1: var(--color-bg-3);
    --color-2: var(--color-fg-1);
}
.button.button--light:hover {
    --color-1: #000;
    --color-2: #fff;
}
.button.button--outline {
    --color-1: var(--__btn-bg, var(--color-bg-1));
    --color-2: var(--__btn-fg, var(--color-bg-3));
    border: 1px solid currentColor;
    background: transparent;
    background: var(--color-2);
    color: var(--color-1);
}
.button.button--outline:hover {
    /* filter: brightness(.95); */
}


.button-black { background: #000; color: #fff; }
.button-black:hover { background: #111; }
.button-white { background: #fff; color: #222; }
.button-white:hover { background: #eee; }
.button-yellow { background: var(--yellow); color: #222; }
.button-yellow:hover { background: var(--yellow-hover); }
.button-cta { background: var(--color-cta); }
.button-cta:hover { background: var(--color-cta-hover); }

/* .button-float-right {float: right;} */

/******************************************************************************/

ul.check-list {
    list-style: none;
    padding-left: 0;
}
ul.check-list li::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1.25em' width='1.25em' viewBox='0 0 24 24'%3E%3Cpath fill='%234B6587' d='m9.55 15.15l8.475-8.475q.3-.3.7-.3t.7.3t.3.713t-.3.712l-9.175 9.2q-.3.3-.7.3t-.7-.3L4.55 13q-.3-.3-.288-.712t.313-.713t.713-.3t.712.3z'/%3E%3C/svg%3E") " ";
    display: inline-block;
    vertical-align: -0.3em;
    height: 1em;
    width: 1em;
    margin-right: 1em;
}

/******************************************************************************/
.text-max4 { width: 100% !important;height: auto !important;}
.text-max4 tr { height: auto !important;}
.text-max4 td { width: 100% !important;height: auto !important;columns: 230px;column-gap: 1em;}
/******************************************************************************/

.content-table { width: 100% !important;height: auto !important;}
.content-table tr {display: grid;grid-template-columns: 1fr 1fr;gap: 6em;height: auto !important;}
.content-table td {/* font-size:14px; */display: block;width: 100% !important;height: auto !important;}
.content-table img {max-width: 100%;object-fit: contain;height: auto;}
@media (max-width: 650px) {
    .content-table tr {grid-template-columns: 1fr;}
}
/******************************************************************************/

.content-table-reverse { width: 100% !important;height: auto !important;}
.content-table-reverse tr {display: grid;grid-template-columns: 1fr 1fr;/* grid-template-columns: repeat(auto-fill, minmax(440px, 1fr)); */gap: 0em;height: auto !important;}
.content-table-reverse td {/* font-size:14px; */display: grid;width: 100% !important;height: auto !important;align-content: center;}
.content-table-reverse tr>:not(:first-child) {padding-left: 6em;}
.content-table-reverse img {max-width: 100%;object-fit: contain;height: auto;}
@media (max-width: 900px) {
    .content-table-reverse tr {grid-template-columns: 1fr; gap: 1rem}
    .content-table-reverse td:first-child {order: 2;}
    .content-table-reverse tr>:not(:first-child) {padding-left: 0em;}
}
@media (max-width: 650px) {
    .content-table-reverse tr {grid-template-columns: 1fr;}
}

/******************************************************************************/

.content-table-3 { width: 100% !important;height: auto !important;}
.content-table-3 tr {display: grid;grid-template-columns: 1fr 1fr 1fr;gap: 6em;height: auto !important;}
.content-table-3 td {/* font-size:14px; */display: block;width: 100% !important;height: auto !important;}
.content-table-3 img {max-width: 100%;object-fit: contain;height: auto;}
@media (max-width: 900px) {
    .content-table-3 tr {gap: 2em;}
}
@media (max-width: 650px) {
    .content-table-3 tr {grid-template-columns: 1fr; gap: 1em;}
}

/******************************************************************************/

.content-table-4 { width: 100% !important;height: auto !important;}
.content-table-4 tr {display: grid;grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));gap: 1em;height: auto !important;}
.content-table-4 td {/* font-size:14px; */display: block;width: 100% !important;height: auto !important;}
.content-table-4 img {max-width: 100%;object-fit: contain;height: auto;}
@media (max-width: 650px) {
    .content-table-4 tr {grid-template-columns: 1fr;}
}

/******************************************************************************/

.content-table-list {
    width: 100% !important;height: auto !important;
}
.content-table-list td {
    width: 100% !important;height: auto !important;
    display: block;
    /* columns: 2; */
}
.content-table-list p {
    break-inside: avoid;
    page-break-inside: avoid;
    column-break-inside: avoid;
    display: block;
    margin-bottom: 36px;
    line-height: 1;
}

/******************************************************************************/
/* tabulka - ceník */

/* .table-price-list { max-width: 500px; width: 100% !important; }
.table-price-list tr th { background: #777; color: #fff; font-size: small; padding: 0 15px; }
.table-price-list tr th:first-child { text-align: left; }
.table-price-list tr td { padding: 0px 15px; vertical-align: top; }
.table-price-list tr td:first-child { }
.table-price-list tr td:last-child { text-align: right; white-space: nowrap; }
.table-price-list tr:nth-child(even) td { background: #efefef; }
.table-price-list tr:nth-child(odd) td {} */

/******************************************************************************/
/* tabulka - o nás */

/* .table-about-us { width: 100%; }
.table-about-us tr td { padding: 10px 15px; vertical-align: top; width: 100%; }
.table-about-us tr td:first-child { border-right: 1px solid #ddd; width: 25%; }
.table-about-us tr:nth-child(even) td { background: #eee; }
.table-about-us tr:nth-child(odd) td {} */

/******************************************************************************/
/* tabulka - otvírací doba */

/* .table-opening-hours {}
.table-opening-hours tr td { padding: 0 15px; }
.table-opening-hours tr:nth-child(even) td { background: #eee; }
.table-opening-hours tr:nth-child(odd) td {} */

/******************************************************************************/
/* tabulka - adresa */

/* .table-address { width: 100% !important; }
.table-address tr td { overflow: hidden; position: relative; vertical-align: top; }
.table-address iframe { height: 210px; width: 99.99%; } */

/******************************************************************************/
/* tabulka - kontakty */

/* .table-contacts { width: 100% !important; }
.table-contacts tr td { padding: 0 15px 45px 0; vertical-align: top; width: 33.33% !important; } */

/******************************************************************************/

/* .table-block-gray, .table-block-blue {
    --space-inline: 3rem;
    --space-block: 2rem;
    width: calc(100% + var(--space-inline, 0) * 2) !important;
    max-width: calc(100vw + var(--space-inline, 0));
}
.table-block-gray td, .table-block-blue td {
    background: var(--background, transparent);
    color: var(--color, inherit);
    padding-top: var(--space-block, 0);
    padding-bottom: var(--space-block, 0);
    padding-left: var(--space-inline, 0);
    padding-right: var(--space-inline, 0);
    transform: translateX(calc(-1 * var(--space-inline, 0)));
}
.table-block-gray {
    --background: #e9e9e9;
    --color: #182744;
}
.table-block-blue {
    --background: #02428a;
    --color: #ffffff;
} */

/******************************************************************************/
/* Vyjimky pro konkretni stranky */
/******************************************************************************/
.page--blog h1 {
    /* font-size: 55px; */
    --h1-font-size: 55px;
}
.page--blog article {
    /* font-family: inherit; */
    /* font-weight: 600; */
    
    --h1-font-family: "Open Sans", sans-serif;
    --h1-font-weight: 600;
    
    --h2-font-family: "Open Sans", sans-serif;
    --h2-font-weight: 600;
    
    --h3-font-family: "Open Sans", sans-serif;
    --h3-font-weight: 600;
    
    --h4-font-family: "Open Sans", sans-serif;
    --h4-font-weight: 600;
}



/******************************************************************************/
/* TinyMCE Responsive */
@media (max-width: 1000px) {
    :root {
        --h1-font-size: 50px;
        --h2-font-size: 45px;
        --h2--v2-font-size: 80px;
        --h3-font-size: 34px;
        --h4-font-size: 16px;
    }
    .page--blog h1 {
        --h1-font-size: 50px;
    }
}
@media (max-width: 800px) {
    :root {
        --h1-font-size: 45px;
        --h2-font-size: 36px;
        --h2--v2-font-size: 70px;
        --h3-font-size: 30px;
        --h4-font-size: 16px;
    }
    .page--blog h1 {
        --h1-font-size: 45px;
    }
}
@media (max-width: 700px) {
    :root {
        --h1-font-size: 40px;
        --h2-font-size: 30px;
        --h2--v2-font-size: 60px;
        --h3-font-size: 24px;
        --h4-font-size: 16px;
    }
    .page--blog h1 {
        --h1-font-size: 40px;
    }
}
    