@charset "UTF-8";

:root { --highlight: #005f97; --highlight-hover: #005f97; --gray: #f3f3f3; --yellow: #fab800; --yellow-hover: #fbc911; }

*, *::before, *::after {
    box-sizing: inherit;
}
html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
body>main {flex: 1;overflow-x:hidden;}

/* Obecne */
p {margin: 0;padding:0;}

/* Wrappery a helpery pro content */

:root {
    --max-content-width: 1280px;

    /* --content-max-width: 1280px; */
    --content-max-width: 1142px;
    --content-padding-left: 0;
    --content-padding-right: 0;
    --content-padding-top: 36px;
    --content-padding-bottom: 36px;
    --content-margin-top: 36px;
    --content-margin-bottom: 36px;
}
.content-max-width {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--content-max-width);
}
.content-padding-x {
    padding-left: var(--content-padding-left);
    padding-right: var(--content-padding-right);
}
.content-padding-y {
    padding-top: var(--content-padding-top);
    padding-bottom: var(--content-padding-bottom);
}
.content-padding-t {
    padding-top: var(--content-padding-top);
}
.content-padding-b {
    padding-bottom: var(--content-padding-bottom);
}
.content-margin-y {
    margin-top: var(--content-margin-top);
    margin-bottom: var(--content-margin-bottom);
}
.content-margin-t {
    margin-top: var(--content-margin-top);
}
.content-margin-b {
    margin-bottom: var(--content-margin-bottom);
}
.content {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--content-max-width);
    padding-left: var(--content-padding-left);
    padding-right: var(--content-padding-right);
    padding-top: var(--content-padding-top);
    padding-bottom: var(--content-padding-bottom);
}
@media screen and (max-width: 1280px) {
    :root {
        --content-padding-left: 1rem;
        --content-padding-right: 1rem;
    }
}
@media screen and (max-width: 600px) {
    :root {
        --content-padding-left: 3%;
        --content-padding-right: 3%;
        --content-margin-top: 1rem;
        --content-margin-bottom: 1rem;
    }
}

/* html, body { scroll-behavior: smooth; } */

/******************************************************************************/

input, textarea, select { padding: 4px 5px; }
select option[disabled="disabled"] { color: #990033; }
fieldset { background: rgba(230, 230, 230, 0.25); border: 1px solid #dedede; border-radius: 5px; float: left; margin-right: 10px; padding: 5px 10px; }
fieldset legend .fa { color: #aaa; padding: 0 2px; }
fieldset legend .fa:hover { color: #444; }
/* ul { list-style: none; } */
/* ul li::before {content: "»"; color: var(--highlight); display: inline-block; margin-left: -1em; width: 1em; } */

.input { padding: 7px; width: calc(100% - 16px); }
.select { padding: 7px; width: 100%; }
.submit { padding: 10px; width: 100%; }

.responsive-design { font-size: 1em; }

details summary {cursor: pointer;white-space: nowrap;}

/******************************************************************************/

.ui-widget, .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: oswald; font-size: 1em; }
.custom-combobox-toggle { margin: -2px 0 0 1px; padding: 8px 2px 8px 1px; }

a[href^="tel"] { color: inherit; text-decoration: none; } /*, a[href^="mail"]*/
a[x-apple-data-detectors] { color: inherit !important; text-decoration: none !important; font-size: inherit !important; font-family: inherit !important; font-weight: inherit !important; line-height: inherit !important; }

/******************************************************************************/

.highlight { color: var(--higlight); }
.highlight2 { color: var(--yellow); }
.nu { text-decoration: none; }
.nu:hover { text-decoration: underline; }
.un { text-decoration: underline; }
.un:hover { text-decoration: none; }
.nn { text-decoration: none; }
.nn:hover { text-decoration: none; }
.nc { text-decoration: none; }
.nc:hover { color: #eb2332; color: #1aa9e6; }
.ui-tooltip { background: #444; border: 0; border-radius: 2px; box-shadow: none; color: #fff; font-family: oswald; font-size: 12px; }
.hidden { display: none; }
.clear { clear: both; }
.text-shadow { text-shadow: 1px 2px 3px #222; }
.center { text-align: center; }
.uppercase { text-transform: uppercase; }
.go-back { display: inline-block; margin-top: 0em; text-transform: lowercase; }

/******************************************************************************/
/* hlášky */

.msg-ok { background: #0a0; color: #fff; margin-bottom: 1em; padding: 5px 15px; }
.msg-error { background: #c00; color: #fff; margin-bottom: 1em; padding: 5px 15px; }
.msg-ok a, .msg-error a { color: #fff; }

/******************************************************************************/

.wrap1 { clear: both; position: relative; width: 100%;}
.wrap2 {
    /* dev */
    /* outline: 1px solid #ffc8c8;  */
}
.wrap2.is-limited {
    max-width: var(--max-content-width, 1280px);
    margin-left: auto;
    margin-right: auto;
}
/* .content {padding: 1em 0;} */
.anchor {display: block;height: 0;width: 0;}

.wrap1--footer {
    background: var(--color-bg-1);
    color: var(--color-fg-3);
    padding-top: 50px;
    padding-bottom: 100px;
}
.wrap1--footer-2 {
    background: var(--color-bg-1);
    color: var(--color-fg-3);
    padding-bottom: 2em;
    text-align: right;
}

.wrap1--hp-slider {
    background: var(--color-fg-2);
    color: var(--color-fg-3);
}
.wrap1--about-us-1 {
    margin-top: 60px;
}
.wrap1--hr-1 {
    margin-top: 90px;
    margin-bottom: 64px;
}
.wrap1--machines-1 {}
.wrap1--machines-2 {}
.wrap1--realization-1 {
    padding-top: 33px;
    --h1-line-color: white;
}
.wrap1--realization-2 {}
.wrap1--quality-1 {
    margin-top: 86px;
    margin-bottom: 58px;
}
.wrap1--news-1 {}
.wrap1--news-2 {
    padding-top: 30px;
    padding-bottom: 52px;
}
.wrap1--services-1 {}
.wrap1--services-2 {
    margin-bottom: 80px;
}

.wrap1--contact-form {
    --bg-line-height: 70px;
    background: var(--color-bg-3);
    background-image: linear-gradient(0deg, var(--color-bg-1) var(--bg-line-height,110px), var(--color-bg-3) var(--bg-line-height,110px));
    /* padding-top: 100px; */
}
.wrap1--bg-blue {
    background: var(--color-bg-1);
    color: var(--color-fg-3);
}
.wrap1--bg-silver {
    background: var(--color-bg-2);
    color: var(--color-fg-2);
}
.wrap1--bg-white-silver {
    --bg-line-height: 150px;
    background-image: linear-gradient(180deg, var(--color-bg-4) var(--bg-line-height,110px), var(--color-bg-2) var(--bg-line-height,110px));
}
.wrap1-bg-blue-white {
    --bg-line-height: 76px;
    background-image: linear-gradient(0deg, var(--color-bg-4) var(--bg-line-height,110px), var(--color-bg-1) var(--bg-line-height,110px));
    color: var(--color-fg-3);
}

@media (max-width: 600px) {
    .wrap1--about-us-1 {
        margin-top: 2em;
    }
    .wrap1--hr-1 {
        margin-top: 2em;
        margin-bottom: 2em;
    }
    .wrap1--realization-1 {
        padding-top: 1em;
    }
    .wrap1--news-2 {
        padding-top: 2em;
        padding-bottom: 2em;
    }
    .wrap1--quality-1 {
        margin-top: 2em;
        margin-bottom: 2em;
    }
    .wrap1--services-2 {
        margin-bottom: 40px;
    }
}

/******************************************************************************/
/* Hlavička */
.head-content {
    display: grid;
    grid-template-areas:
        "logo topbar"
        "logo menu"
    ;
    grid-template-columns: auto 1fr;
    justify-items: end;
}
.head-logo {
    grid-area: logo;
    align-self: center;
}
.head-logo__img {
    height: 62px;
    width: 250px;
}
.head-topbar {
    grid-area: topbar;
    display: grid;
    grid-template-columns: 1fr auto;
    width: min(100%, 325px);
    border-bottom: 1px solid #cecece;
    padding: 8px 0;
    align-items: center;
}
.head-contact {
    display: flex;
    align-items: center;
}
.head-contact__icon {
    font-size: 20px;
    display: flex;
}
.head-lang {
    display: flex;
}
.head-lang__item {
    display: flex;
}
.head-lang__item:not(:first-child)::before {
    content: "/";
    display: inline;
    margin: 0 .25em;
    color: #bbbbbb;
}
.head-lang__link {
    text-decoration: none;
    color: #bbbbbb;
}
.head-lang__link--active {
    color: var(--color-fg-1);
}
.head-lang__link:hover {
    color: var(--color-fg-1);
}
.head-menu {
    grid-area: menu;
    display: flex;
    align-items: baseline;
}
.head-menu__list {
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
    gap: 40px;
}
.head-menu__item {
    /* border-bottom: 6px solid transparent; */
    font-size: 18px;
    position: relative;
}
.head-menu__item::after {
    content: "";
    display: block;
    background: var(--color-fg-1);
    width: 100%;
    height: 6px;
    transform: scaleX(0);
    transform-origin: right;
    transition: .4s transform;
}
.head-menu__item--active {
    color: var(--color-fg-1);
    border-bottom-color: var(--color-fg-1);
    font-weight: 500;
}
.head-menu__item:hover,
.head-menu__item:focus-within {
    color: var(--color-fg-1);
    /* border-bottom-color: var(--color-fg-1); */
}
.head-menu__item--active::after,
.head-menu__item:focus-within::after,
.head-menu__item:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.head-menu__link {
    text-decoration: none;
    padding: 27px 0;
    display: inline-block;
}

.head-menu__mobile-only {
    display: none;
}
.head-menu__button {
    font-size: 36px;
    color: currentcolor;
    text-decoration: none;
}

.head-menu__list--2 {
    position: absolute;
    z-index: 3;
    display: block;
    min-width: 300px;
    background: var(--color-bg-2);
    padding: 0.5em 1em;
    font-weight: 400;
    color: var(--color-fg-2);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform;
    transition-duration: .2s;
    transition-delay: .3s;
}
.head-menu__list--2.head-menu__list--active {
    font-weight: 500;
    color: var(--color-fg-1);
}
.head-menu__item:hover .head-menu__list--2,
.head-menu__item:focus-within .head-menu__list--2 {
    transform: scaleY(1);
}
.head-menu__list--2 .head-menu__item {
    font-size: .9em;
    line-height: 1;
}
.head-menu__list--2 .head-menu__item::after {
    height: 1px;
}
.head-menu__list--2 .head-menu__link {
    padding: .5em 0;
    display: block;
}

body.menu-open .head-menu__button-icon-open {
    display: none;
}
body:not(.menu-open) .head-menu__button-icon-close {
    display: none;
}
@media (max-width: 1000px) {
    .head-menu__list {
        gap: 20px;
    }
}
@media (max-width: 850px) {
    .head-menu__list {
        display: none;
    }
    .head-menu__mobile-only {
        display: block;
    }
}
@media (max-width: 650px) {
    .head-logo__img {
        height: 50px;
        width: 200px;
    }
    .head-topbar {
        width: auto;
    }
    .head-contact {
        margin-right: 1em;
    }
}
@media (max-width: 530px) {
    .head-contact {
        display: none;
    }
}
@media (max-width: 300px) {
    .head-logo__img {
        width: 150px;
        height: 40px;
    }
}

/******************************************************************************/
/* Mobilní menu */
.mobile-menu {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background: #00000066;
    z-index: 99;
    isolation: isolate;

    opacity: 0;
    visibility: hidden;
    transition: opacity, visibility;
    transition-duration: .3s, 0s;
    transition-delay: 0s, .3s;
}
.mobile-menu__content {
    background: white;
    display: grid;
    grid-template-areas:
        "logo lang"
        "logo button"
        "list list";
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto 1fr;
    min-height: 100vh;
    max-height: 100vh;
    padding: 8px 3% 0px 3%;
    transition: transform;
    transition-duration: .3s;
    transform: translateX(-100%);
}
.mobile-menu__logo {
    grid-area: logo;
    align-self: center;
}
.mobile-menu__lang {
    grid-area: lang;
    border-bottom: 1px solid #cecece;
    padding-bottom: 8px;
}
.mobile-menu__list {
    grid-area: list;
    padding: 0;
    margin: 0;
    list-style: none;
    margin-top: 1em;
}
.mobile-menu__content>.mobile-menu__list {
    overflow: auto;
}
.mobile-menu__item {
    margin-bottom: .5em;
    font-size: 18px;
}
.mobile-menu__item:not(:last-child) {
    border-bottom: 1px solid #cecece;
}
.mobile-menu__item--active {
    color: var(--color-fg-1);
    font-weight: 500;
}
.mobile-menu__item:hover {
    color: var(--color-fg-1);
}

.mobile-menu__link {
    text-decoration: none;
    display: block;
    padding: 4px;
}
.mobile-menu__button {
    grid-area: button;
    justify-self: end;
}

.mobile-menu__list--2 {
    margin-top: 0;
    margin-bottom: 1em;
    margin-left: .5em;
    padding-left: .5em;
    border-left: 1px solid #cecece;
}
.mobile-menu__list--2 .mobile-menu__item {
    font-size: 0.9em;
    color: var(--color-fg-2);
    font-weight: 400;
}
.mobile-menu__list--2 .mobile-menu__item--active {
    color: var(--color-fg-1);
    font-weight: 500;
}


body.menu-open .mobile-menu__content {
    transform: translateX(0%);
}
body.menu-open .mobile-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity, visibility;
    transition-duration: .3s, 0s;
    transition-delay: 0s, 0s;

}
@media (max-width: 850px) {
    .mobile-menu {
        display: block;
    }
}

/******************************************************************************/
/* Rozcestník (Machines) */

.signpost__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(246px, 1fr));
    gap: 20px;
}
.signpost__item {
    max-width: 300px;
}
.signpost__link {
    text-decoration-line: none;
}
.signpost__link:hover {
    text-decoration-line: underline;
}
.signpost .signpost__title {
    display: grid;
    align-items: end;
}
.signpost__title {
    min-height: 2em;
}
.signpost__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 271/204;
}
.signpost__menu {
    line-height: 1.625;
    padding-left: 16px;
    margin: 26px 0;
}
.signpost__menu-item::marker {
    color: var(--color-fg-1);
    font-size: .6em;
}
.signpost__mini-title {
    font-weight: bold;
}
.signpost__mini+.signpost__menu {
    margin-top: .5em;
}
@media (max-width: 600px) {
    .signpost {
        display: grid;
        justify-content: center;
    }
    .signpost__list {
        gap: 0;
    }
    .signpost__title {
        min-height: unset;
    }
    .signpost__img {
        max-height: 180px;
    }
    .signpost__menu {
        margin-top: 1em;
        margin-bottom: 1em;
    }
}
/******************************************************************************/
/* HP slider - video background 1 */
.wrap1--hp-slider {
    display: grid;
    align-items: center;
}
.wrap1--hp-slider>* {
    grid-row: 1;
    grid-column: 1;
}
.wrap2--hp-slider {
    display: grid;
    align-self:stretch
}
.video-bg__video {
    width: 100%;
    height: 100%;
    max-height: 640px;
    object-fit: cover;
}
/******************************************************************************/
/* Slider 1 */
.slider1 {
    --swiper-pagination-bullet-width: 6px;
    --swiper-pagination-bullet-height: 6px;
    --swiper-pagination-bullet-inactive-color: silver;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-color: silver;
    --swiper-pagination-color: white;
    --swiper-navigation-color: white;
    display: flex;
    user-select: none;
    /* position: relative; */
}
.slider1 .swiper-pagination {
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 16px;
    justify-content: center;
}
.slider1 .swiper-pagination-bullet-active {
    --swiper-pagination-bullet-width: 10px;
    --swiper-pagination-bullet-height: 10px;
}
.slider1__arrow {
    display: grid;
    align-items: center;
    cursor: pointer;
    font-size: 32px;
    color: var(--color-bg-4);
    transition: .2s filter;
}
.slider1__arrow:hover {
    filter: brightness(0.8);
}
.slider1__arrow--prev {
    transform: translateX(-200%);
    margin-right: -1em;
}
.slider1__arrow--next {
    transform: translateX(200%);
    margin-left: -1em;
}
.slider1__arrow.swiper-button-disabled {
    opacity: 0;
    cursor: not-allowed;
}
.slider1__arrow.swiper-button-lock {
    opacity: 0;
}
.slider1__content {
    width: 100%;
    height: 100%;
}
.slider1__list {
    /* padding-top: 24px; */
}
.slider1 .swiper-slide {
    height: 100%;
    width: 100%;
}
.slider1__slide {}
.slider1__text {
    max-width: min(514px, 100%);
    font-size: 14px;
}
.slider1 h1, .slider1 .h1 {
    text-align: inherit;
    margin-top: .5em;
    margin-bottom: .5em;
    line-height: 1.25;
}
.slider1 h1::after, .slider1 .h1::after {
    content: none;
}
.slider1 h2, .slider1 .h2 {
    text-align: inherit;
    margin-top: .5em;
    margin-bottom: .5em;
    font-size: 18px;
    font-weight: 400;
}
@media (max-width: 600px) {
    .slider1 h1, .slider1 .h1 {
        line-height: 1;
    }
}
/******************************************************************************/
/* Slider 2 */
.slider2 {
    --swiper-pagination-bullet-width: 6px;
    --swiper-pagination-bullet-height: 6px;
    --swiper-pagination-bullet-inactive-color: silver;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-color: silver;
    --swiper-pagination-color: white;
    --swiper-navigation-color: white;
    display: flex;
    user-select: none;
    position: relative;
}
.slider2 .swiper-pagination-bullet-active {
    --swiper-pagination-bullet-width: 10px;
    --swiper-pagination-bullet-height: 10px;
}
.slider2__arrow {
    display: grid;
    align-items: center;
    cursor: pointer;
    font-size: 32px;
    color: var(--color-bg-4);
    transition: .2s filter;
}
.slider2__arrow:hover {
    filter: brightness(.8);
}
.slider2__arrow--prev {
    transform: translateX(-200%);
    margin-right: -1em;
}
.slider2__arrow--next {
    transform: translateX(200%);
    margin-left: -1em;
}
.slider2__arrow.swiper-button-disabled {
    opacity: 0;
    cursor: not-allowed;
}
.slider2__arrow.swiper-button-lock {
    opacity: 0;
}
.slider2__content {
    width: 100%;
    height: 100%;
}
.slider2 .swiper-slide {
    height: auto;
    width: auto;
}
.slider2__slide {
    display: grid;
    grid-template-areas:
        "picture . text"
        "picture more more"
    ;
    grid-template-columns: 1fr 2em 1fr;
    grid-template-rows: 1fr auto;
}
.slider2__picture {
    grid-area: picture;
}
.slider2__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 274/213;
}
.slider2__text {
    grid-area: text;
    line-height: 1.5;
    font-weight: 300;
    padding-bottom: 70px;
}
.slider2__text ul li::marker {
    color: currentColor;
}
.slider2__more {
    grid-area: more;
    background: var(--color-bg-2);
    height: var(--bg-line-height);
    display: grid;
    align-items: end;
    justify-items: end;
    max-width: 400px;
}
.slider2 .swiper-pagination {
    bottom: calc(var(--bg-line-height) + 30px);
    width: 50%;
    display: flex;
    align-items: center;
    margin-left: calc(50% + 1em);
    z-index: 3;
}
@media (max-width: 1280px) {
    .slider2__arrow {
        position: absolute;
        bottom: 19px;
        left: calc(50% + 1rem);
        z-index: 2;
    }
    .slider2__arrow--prev {
        transform: translateX(0);
    }
    .slider2__arrow--next {
        transform: translateX(300%);
    }
}
@media (max-width: 600px) {
    .slider2__slide {
        grid-template-areas:
            "picture"
            "text"
            "more"
        ;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto;
    }
    .slider2__picture {
        justify-self: stretch;
    }
    .slider2__img {
        max-height: 200px;
        margin-bottom: 1em;
    }
    .slider2 .swiper-pagination {
        width: 100%;
        margin-left: 0;
        justify-content: center;
        z-index: 1;
    }
    .slider2__arrow {
        bottom: calc(var(--bg-line-height) + 20px);
        left: 0;
        right: unset;
    }
    .slider2__arrow--next {
        right: 0;
        transform: none;
        left: unset;
    }
}

/******************************************************************************/
/* Slider 3 */
.slider3 {
    display: flex;
    user-select: none;
}
.slider3__arrow {
    display: grid;
    align-items: center;
    cursor: pointer;
    font-size: 32px;
    color: var(--color-bg-4);
    transition: .2s filter;
}
.slider3__arrow:hover {
    filter: brightness(0.8);
}
.slider3__arrow--prev {
    transform: translateX(-200%);
}
.slider3__arrow--next {
    transform: translateX(200%);
}
.slider3__arrow.swiper-button-disabled {
    opacity: 0;
    cursor: not-allowed;
}
.slider3__arrow.swiper-button-lock {
    opacity: 0;
}
.slider3__content {
    width: 100%;
    height: 100%;
}
.slider3 .swiper-slide {
    height: auto;
    width: auto;
}

.slider3__slide {
    display: grid;
    grid-template-areas:
        "picture text"
        "picture more"
    ;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto;
    gap: 1em 2em;
    height: 100%;
}
.slider3__picture {
    grid-area: picture;
    justify-self: end;
}
.slider3__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 254/210;
}
.slider3__text {
    grid-area: text;
    font-size: 14px;
}
.slider3__text h3, .slider3__text .h3 {
    font-size: 24px;
}
.slider3__more {
    grid-area: more;
    height: var(--bg-line-height);
}

@media (max-width: 1280px) {
    .slider3__arrow--prev {
        transform: translateX(0);
        margin-right: 8px;
    }
    .slider3__arrow--next {
        transform: translateX(0);
        margin-left: 8px;
    }
}
@media (max-width: 600px) {
    .slider3__slide {
        grid-template-areas:
            "picture"
            "text"
            "more"
        ;
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr auto;
    }
    .slider3__picture {
        justify-self: stretch;
    }
    .slider3__img {
        max-height: 200px;
    }
}
/******************************************************************************/
/* Slider v4 - foto galerie */
.slider4 {
    display: flex;
    user-select: none;
}
.slider4__arrow {
    display: grid;
    align-items: center;
    cursor: pointer;
    font-size: 32px;
    color: var(--color-bg-4);
    transition: .2s filter;
}
.slider4__arrow:hover {
    filter: brightness(0.8);
}
.slider4__arrow--prev {
    transform: translateX(-200%);
}
.slider4__arrow--next {
    transform: translateX(200%);
}
.slider4__arrow.swiper-button-disabled {
    opacity: 0;
    cursor: not-allowed;
}
.slider4__arrow.swiper-button-lock {
    opacity: 0;
    display: none;
}
.slider4__content {
    width: 100%;
    height: 100%;
}
.slider4 .swiper-slide {
    height: auto;
    width: auto;
    display: grid;
    align-items: center;
}
.slider4__img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 300px;
}

@media (max-width: 1280px) {
    .slider4__arrow--prev {
        transform: translateX(0);
        margin-right: 8px;
    }
    .slider4__arrow--next {
        transform: translateX(0);
        margin-left: 8px;
    }
}
@media (max-width: 600px) {
    .slider4__img {
        max-height: 200px;
    }
}


/******************************************************************************/
/* Divě ohraničený box (Quality) */
.box-outlined {
    position: relative;
    padding-bottom: 2em;
}
.box-outlined::before {
    content: "";
    position: absolute;
    border: 1px solid #b9b9b9;
    inset: 0;
    top: 128px;
    z-index: -1
}
.box-outlined__text {
    margin: 0 15%;
    padding: 0 1em;
    background: var(--color-bg-4);
    text-align: center;
}
.box-outlined__photos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: max(9%, 1em);
    padding-top: 2em;
}
.box-outlined__photos img {
    max-height: 340px;
    box-shadow: 0 0 4px hsl(0deg 0% 0% / 20%);
}
@media (max-width: 600px) {
    .box-outlined__text {
        margin-left: 5%;
        margin-right: 5%;
    }
}
/******************************************************************************/
/* Rozcestník Služby HP */

.signpost-services__list {
    display: grid;
    /* grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); */
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
}
.signpost-services__item {
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 1.5em;
}
.signpost-services__item:nth-child(2n) {
    background: var(--color-bg-2);
}
.signpost-services__image {
    overflow: hidden;
    display: block;
}
.signpost-services__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4/3;
    transition: .3s transform;
}
.signpost-services__image img:hover {
    transform: scale(1.1) rotate(6deg);
    transition-duration: 2s;
    transition-timing-function: linear;
}
.signpost-services__title {
    font-size: 24px;
    color: var(--color-fg-1);
    text-transform: uppercase;
    text-decoration-thickness: 1px;
    text-decoration-line: none;
    display: inline-block;
    margin-top: 1rem;
    margin-bottom: 1rem;
    justify-self: start;
    align-self: start;
}
.signpost-services__title:hover {
    text-decoration-thickness: 1px;
    text-decoration-line: underline;
}


@media (max-width: 900px) {
    .signpost-services__list {
        grid-template-columns: repeat(2, 1fr);
    }
    .signpost-services__item:nth-child(n) {
        background: transparent;
    }
    .signpost-services__item:nth-child(4n-2),
    .signpost-services__item:nth-child(4n-1)
    {
        background: var(--color-bg-2);
    }
}
@media (max-width: 650px) {
    .signpost-services__item {
        padding: 1em;
    }
}
@media (max-width: 600px) {
    .signpost-services__title {
        font-size: 20px;
    }
}
@media (max-width: 500px) {
    .signpost-services__list {
        grid-template-columns: repeat(1, 1fr);
        grid-auto-rows: auto;
    }
    .signpost-services__item:nth-child(n) {
        background: transparent;
    }
    .signpost-services__item:nth-child(2n)
    {
        background: var(--color-bg-2);
    }
}



/******************************************************************************/
/* Patička */

.foot-content {
    display: grid;
    grid-template-areas:
        "social social social social"
        "logo logo . menu"
        "text0 text1 . menu"
    ;
    grid-template-columns: auto auto 1fr auto;
}
.foot-social {
    grid-area: social;
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    border-bottom: 1px solid currentColor;
    padding-bottom: 30px;
    margin-bottom: 22px;
    font-size: 24px;
}
.foot-social__item {
    transition: .2s color, .2s transform;
}
.foot-social__item:not(:first-child) {
    margin-left: max(16px, 3%);
}
.foot-social__item:hover {
    color: silver;
    transform: scale(1.5);
}
.foot-logo {
    grid-area: logo;
}
.foot-logo__img {
    margin-bottom: 1em;
    width: 240px;
}
.foot-menu {
    grid-area: menu;
}
.foot-menu__list {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: end;
    list-style: none;
}
.foot-menu__link {
    line-height: 1.875;
    text-decoration: none;
}
.foot-menu__link:hover {
    text-decoration: underline;
}
.foot-menu__item--active .foot-menu__link {
    text-decoration: underline;
}
.foot-text {
    margin-right: 64px;
}
.foot-text--0 {
    grid-area: text0;
}
.foot-text--1 {
    grid-area: text1;
}

@media (max-width: 900px) {
    .foot-content {
        grid-template-areas:
            "social social social"
            "logo . menu"
            "text0 . menu"
            "text1 . menu"
        ;
        grid-template-columns: auto 1fr auto;
    }
    .foot-text--1 {
        margin-top: 1em;
    }
}
@media (max-width: 550px) {
    .foot-content {
        grid-template-areas:
            "social "
            "menu"
            "logo"
            "text0"
            "text1"
        ;
        grid-template-columns: 1fr;
    }
    .foot-menu__list {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .foot-menu__item {
        margin-bottom: 1em;
    }
    .foot-menu__item:not(:first-child) {
        margin-left: 1em;
    }
}
/******************************************************************************/
/* Patička v3 */

.wrap1--footer-3 {
    background: var(--color-bg-1);
    color: var(--color-fg-3);
    /* padding-bottom: 100px; */
    padding-bottom: 4em;
    overflow: hidden;
}
.foot3-logo__img {
    margin-bottom: 1em;
    width: 240px;
}
.foot3-content {
    display: grid;
    grid-template-areas:
        "text0 logo text1";
    grid-template-columns: auto 1fr auto;
    justify-items: center;
    border-top: 1px solid currentColor;
    padding-top: 2em;
    margin-top: 2em;
}
.foot3-logo { grid-area: logo;}
.foot3-text--0 { grid-area: text0;}
.foot3-text--1 { grid-area: text1;}
@media (max-width: 950px) {
    .foot3-content {
        grid-template-areas: 
            "logo text0"
            "logo text1"
        ;
        justify-items: start;
        gap: 1em 1em;
        grid-template-columns: auto auto;
    }
}
@media (max-width: 650px) {
    .foot3-content {
        grid-template-areas: 
            "logo"
            "text0"
            "text1"
        ;
        justify-content: center;
        gap: 1em 1em;
        grid-template-columns: auto;
    }
}
@media (max-width: 300px) {
    .foot3-logo__img {
        width: 80%;
    }
}
/******************************************************************************/
/* Patička v4 */
.wrap1--footer-4 {
    background: var(--color-bg-3);
    color: var(--color-fg-3);
    overflow: hidden;
}
.foot4-content {
    --padding-block: 1.5em;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    padding-top: var(--padding-block);
    padding-bottom: var(--padding-block);
    gap: 1em
}
.foot4-social {
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
    font-size: 24px;
}
.foot4-social__item {
    transition: .2s color, .2s transform;
}
.foot4-social__item:not(:first-child) {
    margin-left: 24px;
    /* margin-left: max(24px, 3%); */
}
.foot4-social__item:hover {
    color: silver;
    transform: scale(1.3);
}
.foot4-menu__list {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    gap: 1em;
}
.foot4-menu__link {
    text-decoration: none;
}
.foot4-menu__link:hover {
    text-decoration: underline;
}
.foot4-menu__item--active .foot4-menu__link {
    text-decoration: underline;
}

/******************************************************************************/


.cf {
    background: var(--color-bg-4);
    overflow: hidden;
    padding: 0 78px 55px 78px;
}
.cf__body {
    color: #646363;
    margin-top: 80px;
}
.cf__col--info {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px,1fr));
    gap: 0 60px;
}
.cf__label {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    border-bottom: 1px solid currentColor;
    font-size: 18px;
    margin-bottom: 46px;
}
.cf__label:focus-within {
    color: var(--color-fg-1);
}
.cf__label span::after {
    content: ":";
}
.cf__label input {
    appearance: none;
    border: none;
    outline: none;
    color: inherit;
}
.cf__label textarea {
    appearance: none;
    border: none;
    outline: none;
    color: inherit;
    padding: 0;
}
.cf__col--text .cf__label {
    grid-template-columns: 1fr;
}
.cf__foot {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
}
.cf__foot-checkbox {
    flex: 1;
}
.cf .checkbox {
    --mark-checked-color: var(--color-fg-1);
}
@media (max-width: 600px) {
    .cf {
        padding-left: 10%;
        padding-right: 10%;
    }
    .cf__body {
        margin-top: 2em;
    }
    .cf__col--info {
        grid-template-columns: 1fr;
    }
    .cf__label {
        margin-bottom: 1.5em;
    }
}

/******************************************************************************/

.hero__picture {
    display: block;
}
.hero__img {
    width: 100%;
    object-fit: cover;
    min-height: 240px;
    max-height: 240px;
}

/******************************************************************************/

.history {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    gap: 0 54px;
}
.history::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: silver;
    width: 1px;
    bottom: 0;
    top: 10px;
}
.history__item:nth-child(2n) {
    text-align: left;
}
.history__item:nth-child(2n+1) {
    text-align: right;
}
.history__item::before {
    content: "";
    display: block;
    background: var(--color-fg-1);
    border-radius: 100%;
    height: 13px;
    width: 13px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.history__item--empty::before {
    content: none;
    display: none;
}
.history__item>:nth-child(1) {
    font-size: 24px;
    color: var(--color-fg-1);
}
.history__item>:nth-child(2) {
    font-weight: bold;
    text-transform: uppercase;
}
.history__item--2008 {
    margin-top: 1em;
}
.history__item--2020 {
    margin-top: 6em;
}
.history__item--2021 {
    margin-top: -2em;
}
/******************************************************************************/
.wrap1--machine-box--0 {
    margin-top: 60px;
}
.wrap1--machine-box--1 {
    background: var(--color-bg-2);
    padding-top: 100px;
    padding-bottom: 30px;
}
.wrap1--machine-box--last {
    margin-bottom: 50px;
}
.image-bg {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
    min-width: 0;
    width: 100%;
}
.image-bg__picture {
    display: flex;
    justify-content: end;
    min-width: 0;
}
.wrap1--machine-box--1 .image-bg__picture {
    grid-column: 2;
    justify-content: start;
}
.machine-box__2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
}
.machine-box__2col>* {
    grid-column: 2;
}
.wrap1--machine-box--1 .machine-box__2col>* {
    grid-column: 1;
}
.wrap2--machine-box {
    display: grid;
}
.wrap2--machine-box>* {
    grid-column: 1;
    grid-row: 1;
}
.machine-box__title {
    /* border-bottom: 1px solid silver; */
    padding-bottom: 1em;
    font-size: 30px;
    color: var(--color-fg-1);
    text-transform: uppercase;
    text-decoration-thickness: 1px;
    text-decoration-line: none;
}
.machine-box__title:hover {
    text-decoration-thickness: 1px;
    text-decoration-line: underline;
}
.machines-list__title {
    font-size: 18px;
    text-decoration-thickness: 1px;
    margin-bottom: 8px;
    display: inline-block;
}
.machines-list__item {padding: 16px 0;font-size: 14px;}
.machines-list__item:not(:last-child) {border-bottom: 1px solid silver;}
.machines-list__item:first-child {border-top: 1px solid silver;}
.machines-list__item--perex {padding-top: 0;padding-bottom: 3em;}
.machines-list__item--perex:first-child {border-top: none;}

.machines-list--noone-has-perex {border-top:1px solid silver;}
.machines-list--noone-has-perex .machines-list__item {border-top: none;border-bottom: none;padding: 0;margin: 1.5em 0;}
.machines-list__more {margin-top: 8px;text-align: right;}
.machines-list__more__link {color: var(--color-fg-1);}

.machines-list--one-row .machines-list__item {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0 1em;}
.machines-list--one-row .machines-list__title {margin-bottom: 0;}


@media (max-width: 850px) {
    .machine-box__2col {
        grid-template-columns: 1fr;
    }
    .machine-box__2col>* {
        grid-column: auto;
    }
    .wrap2--machine-box>* {
        grid-column: auto;
        grid-row: auto;
    }

    .image-bg {
        grid-template-columns: 1fr;
    }
    .image-bg__picture {
        justify-content: center;
        margin-bottom: 1em;
    }
    .wrap1--machine-box--0 {
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .wrap1--machine-box--1 {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .wrap1--machine-box--1 .image-bg__picture {
        grid-column: auto;
        justify-content: center;
    }
    .image-bg__img {
        max-height: 300px;
        width: 100%;
        object-fit:contain;
    }
}
@media (max-width: 600px) {
    .wrap1--machine-box--0 {
        margin-top: 2em;
        margin-bottom: 2em;
    }
    .wrap1--machine-box--1 {
        padding-top: 2em;
        padding-bottom: 2em;
    }
    .machine-box__title {
        padding-bottom: .5em;
        font-size: 24px;
    }
    .machines-list__title {
        font-size: 20px;
        margin-bottom: 0;
    }
    .machines-list--noone-has-perex .machines-list__item {
        padding: 0;
        margin: 1em 0;
    }
}

/******************************************************************************/

.wrap1--machine-box2 {
    padding-top: 24px;
    padding-bottom: 60px;
}
.wrap1--machine-box2--1 {
    background: var(--color-bg-2);
}

.machine-box2__2col {
    display: grid;
    grid-template-areas: "photo text";
    grid-template-columns: 1fr 1fr;
    align-items: center;
}
.wrap1--machine-box2--1 .machine-box2__2col {
    grid-template-areas: "text photo";
}

.machine-photos {
    grid-area: photo;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.machine-photo__img {
    width: 100%;
    height: auto;
    max-height: 450px;
    object-fit: scale-down;
}
.machine-photos>:first-child {
    grid-column: 1/-1;
}

.machine-text {
    grid-area: text;
    --margin-beetween: min(90px, 15%);
    font-size: 14px;
    margin-left: var(--margin-beetween, 90px);
}
.wrap1--machine-box2--1 .machine-text {
    margin-right: var(--margin-beetween, 90px);
    margin-left: 0;
}
@media (max-width: 1200px) {
    .machine-text {
        --margin-beetween: 5%;
    }
}
@media (max-width: 700px) {
    .machine-box2__2col {
        grid-template-areas: "text" "photo";
        grid-template-columns: 1fr;
        gap: 1em;
    }
    .wrap1--machine-box2--1 .machine-box2__2col {
        grid-template-areas: "text" "photo";
    }
    .machine-text {
        --margin-beetween: 0;
    }
}
@media (max-width: 600px) {
    .wrap1--machine-box2 {
        padding-top: 1em;
        padding-bottom: 2em;
    }
}

/******************************************************************************/
/* Foto galerie - Mřížka */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1em;
}
.gallery-grid__figure {
    margin: 0;
    padding: 0;
}
.gallery-grid__picture {
    display: block;
    position: relative;
    max-height: 250px;
}
.gallery-grid__picture::before {
    content: "";
    padding-top: 100%;
    display: block;
}
.gallery-grid__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}


/* ! *****************************************************************************/
/* ! *****************************************************************************/

@keyframes shake1 {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
}
@keyframes shake2 {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(-10deg); }
    20% { transform: rotate(10deg); }
    30% { transform: rotate(0deg); }
    40% { transform: rotate(10deg); }
    50% { transform: rotate(-10deg); }
    60% { transform: rotate(0deg); }
    70% { transform: rotate(-10deg); }
    80% { transform: rotate(10deg); }
    90% { transform: rotate(0deg); }
    100% { transform: rotate(-10deg); }
}

/******************************************************************************/
/* obsah */

#homepage #content { display: none; }

/* #breadcrumbs { margin-bottom: 1em; } */
#breadcrumbs {background: transparent;border: none;padding: 0;margin-top: 2em;font-size:14px;}
#breadcrumbs>* {margin: 0 4px;text-decoration: none;}
#breadcrumbs>:last-child {color: var(--color-fg-1); text-decoration: underline;}
#breadcrumbs a:hover, #breadcrumbs a:focus {color: var(--color-prim);text-decoration: underline;}

#content { margin: auto; padding: 8px 0; }
#content .text { line-height: 1.75em; font-weight: var(--fw-light); }

#content.view-menu-left .content { background: url('../img/bg_content.png') 225px 0 repeat-y; }

/******************************************************************************/
/* pomocná kotva; řeší zafixované menu */

.anchor { position: absolute; top: -100px; }

/******************************************************************************/
/* obsah - levá + pravá strana */

.wrap-left.view-menu-left { display: inline-block; padding-right: 25px; vertical-align: top; width: 200px; }
.wrap-right.view-menu-left { display: inline-block; padding-left: 25px; vertical-align: top; width: calc(100% - 250px); }

#content .wrap-left ul { margin-top: 0; }

/******************************************************************************/
/* fotografie */

.wrap-photo { display: flex;flex-wrap: wrap;justify-content: center;text-align: center; }
.wrap-photo { margin: 1rem 0; }
.wrap-photo img { max-width: 100%; max-height: 15rem; object-fit: contain; }

.photo { display: inline-block; margin: 5px; }
.photo img { height: auto; vertical-align: top; width: 147px; }
.photo:hover img { opacity: 0.95; }

.photo-product { display: inline-block; margin: 1em 28px 8px 0; }
.photo-product .title { font-weight: 300; margin-bottom:.5em; }
.photo-product img {width: 240px;height: 240px;object-fit: cover;}

/******************************************************************************/
/* mapa */

#map-title { }
#map-title .content { font-size: 50px; font-weight: bold; padding: 100px 0; text-align: center; }

#map { position: relative; text-align: center; }
#map .wrap2 { width: 100%; }
#map .content { padding: 0; }

#google-maps { }
#google-maps iframe { pointer-events: none; z-index: -1; }

/******************************************************************************/
/* Contact form */

/* #contact-form { background: #3b3330; color: #eee; } */
#contact-form { background-color: var(--contact-form-bg-color); color: var(--contact-form-fg-color-prim); margin-top: 3rem;padding-top: 2rem; }
#contact-form a { color: var(--contact-form-fg-color-link); }


#contact-form .content>* { flex: 1 1 0px; }
#contact-form .content img { object-fit: cover; width: 100%; height: 100%; max-height: 57em; max-width: 100vw; }
.mapsitna { display: none; }

.wrap-contact-form { padding: 2rem 0 2rem 0; }

.contact-form2 { display: flex; flex-direction: column; /* padding: 2em; */ }
.contact-form2 .basic { display: grid; grid-template-columns: 1fr 1fr; justify-items: right; grid-gap: 0 10vw;font-size: 14px; }
.contact-form2 input[type="submit"] {color: var(--contact-form-submit-fg-color);background-color: var(--contact-form-submit-bg-color);width: min-content;margin-left: auto;padding: .7rem 4rem;text-transform: capitalize;font-size: inherit;font-weight: unset;border-radius: var(--contact-form-submit-radius);appearance: none;-moz-appearance: none;-webkit-appearance: none;font-weight: 400;}
.contact-form2 input[type="submit"] {filter: var(--hp-filter-shadow-dark);transition: 0.3s transform, 0.3s background-color;}
.contact-form2 input[type="submit"]:hover, .contact-form2 input[type="submit"]:focus {transform: scale(1.1);background-color: var(--contact-form-submit-bg-color-hover);}

.contact-form2 .basic * { color: var(--contact-form-fg-color-prim); }
.contact-form2 .basic label { width: 100%; border-bottom: 1px solid var(--contact-form-line-color); display: flex; white-space: nowrap; padding: 2rem 0 .1rem 0; }
/* .contact-form2 .required::before { content: '* '; } */
.contact-form2 .not-required > span::after { content: '* '; }
.contact-form2 label > span { font-weight: 500; }
.contact-form2 .basic > label > span { min-width: 130px; }
.contact-form2 .basic label span { padding: 0 .5em 0 .1em; }
.contact-form2 .basic input,
.contact-form2 .basic textarea {border: none;border-radius: unset;width: 100%;height: 1.5em;background-color: transparent;appearance: none; -moz-appearance: none; -webkit-appearance: none;padding-top: 0;padding-bottom: 0;resize: vertical;}
.contact-form2 .basic .textarea {grid-column: 2;grid-row: 1/5;}
.contact-form2 .checkbox { align-self: flex-end; margin: 3rem 0 2rem 0; max-width: 50%; }

.contact-form2 .basic input, .contact-form2 .basic textarea {height: 100%;padding: 0;}
.contact-form2 .basic label.textarea {flex-direction: column;}
.contact-form2 .basic label span {opacity: 0.5;text-transform: uppercase;font-size: 1em;}
.contact-form2 input[type="submit"] {font-weight: 400;text-transform: uppercase;}

.contact-form2 .additional { display: flex; margin: 3rem 0 2rem 0; justify-content: space-between;font-size: 14px; }
.contact-form2 .additional .checkbox { margin: 0; }
.contact-form2 .additional .legend { text-transform: uppercase; }
.contact-form2 span, .contact-form2 .basic label span { font-weight: 600;}

/* checkbox */
.checkbox {
    --mark-border-color: var(--contact-form-line-color);
    --mark-border: 1px solid var(--mark-border-color);
    --mark-color: #000;
    --mark-background: transparent;
    --mark-checked-color: #fff;
    --mark-checked-background: var(--color-prim);
    --mark-size: 1.5em;
    --mark-transition-duration: 0.3s;
}
.checkbox { color: inherit; display: inline-grid; grid-template-columns: auto 1fr; grid-template-areas: "input label"; position: relative; justify-content: center; align-items: center; gap: 0.8em;grid-gap: 0.8em; cursor: pointer; }
.checkbox__input { box-sizing: content-box; grid-area: input; display: grid; grid-template-areas: "mark"; width: var(--mark-size); height: var(--mark-size); border: var(--mark-border, 1px solid currentColor); color: var(--mark-color, currentColor); background: var(--mark-background, transparent); box-shadow: inset 0px 0px 0.1em var(--mark-border-color); }
.checkbox__mark { grid-area: mark; transition: color, background-color; transition-duration: var(--mark-transition-duration); height: var(--mark-size);}
.checkbox__mark > * { opacity: 0; transform: scale(0); transform-origin: left bottom; transition: opacity, transform; transition-duration: var(--mark-transition-duration); }
.checkbox__mark svg { width: 100%; height: 100%; }
.checkbox__input input { grid-area: mark; width: 100%; height: 100%; margin: 0; padding: 0; z-index: -10; appearance: none; -moz-appearance: none; -webkit-appearance: none; }
.checkbox__input input:focus ~ .checkbox__mark {outline: 2px solid;}

.checkbox input:focus { border: none; outline: none; }
.checkbox input:focus + .checkbox__mark, .contact-form2 input[type="submit"]:focus { outline: var(--default-focus-outline); }
.checkbox__input input:checked + .checkbox__mark { color: var(--mark-checked-color); background-color: var(--mark-checked-background); }
.checkbox__input input:checked + .checkbox__mark > * { opacity: 1; transform: scale(1); }
.checkbox__label{user-select:none;}


/* Pomocné */

.f-weight { font-weight: 700; }

.m-0 { margin: 0 !important; }
.m-1 { margin: 0.5rem !important; }
.m-2 { margin: 1rem !important; }
.m-3 { margin: 1.5rem !important; }
.m-4 { margin: 2rem !important; }

.mx-0 { margin-left: 0 !important; margin-right: 0 !important;}
.mx-1 { margin-left: 0.5rem !important; margin-right: 0.5rem !important;}
.mx-2 { margin-left: 1rem !important; margin-right: 1rem !important;}
.mx-3 { margin-left: 1.5rem !important; margin-right: 1.5rem !important;}
.mx-4 { margin-left: 2rem !important; margin-right: 2rem !important;}

.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: 0.5rem !important; }
.ml-2 { margin-left: 1rem !important; }
.ml-3 { margin-left: 1.5rem !important; }
.ml-4 { margin-left: 2rem !important; }

.mr-0 { margin-right: 0 !important;}
.mr-1 { margin-right: 0.5rem !important;}
.mr-2 { margin-right: 1rem !important;}
.mr-3 { margin-right: 1.5rem !important;}
.mr-4 { margin-right: 2rem !important;}

.my-0 { margin-top: 0 !important; margin-bottom: 0 !important;}
.my-1 { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important;}
.my-2 { margin-top: 1rem !important; margin-bottom: 1rem !important;}
.my-3 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important;}
.my-4 { margin-top: 2rem !important; margin-bottom: 2rem !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-1 { margin-bottom: 0.5rem !important;}
.mb-2 { margin-bottom: 1rem !important;}
.mb-3 { margin-bottom: 1.5rem !important;}
.mb-4 { margin-bottom: 2rem !important;}

.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 0.5rem !important; }
.mt-2 { margin-top: 1rem !important; }
.mt-3 { margin-top: 1.5rem !important; }
.mt-4 { margin-top: 2rem !important; }

.p-0 { padding: 0 !important; }
.p-1 { padding: 0.5rem !important; }
.p-2 { padding: 1rem !important; }
.p-3 { padding: 1.5rem !important; }
.p-4 { padding: 2rem !important; }

.px-0 { padding-left: 0 !important; padding-right: 0 !important;}
.px-1 { padding-left: 0.5rem !important; padding-right: 0.5rem !important;}
.px-2 { padding-left: 1rem !important; padding-right: 1rem !important;}
.px-3 { padding-left: 1.5rem !important; padding-right: 1.5rem !important;}
.px-4 { padding-left: 2rem !important; padding-right: 2rem !important;}

.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: 0.5rem !important; }
.pl-2 { padding-left: 1rem !important; }
.pl-3 { padding-left: 1.5rem !important; }
.pl-4 { padding-left: 2rem !important; }

.pr-0 { padding-right: 0 !important;}
.pr-1 { padding-right: 0.5rem !important;}
.pr-2 { padding-right: 1rem !important;}
.pr-3 { padding-right: 1.5rem !important;}
.pr-4 { padding-right: 2rem !important;}

.py-0 { padding-top: 0 !important; padding-bottom: 0 !important;}
.py-1 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important;}
.py-2 { padding-top: 1rem !important; padding-bottom: 1rem !important;}
.py-3 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important;}
.py-4 { padding-top: 2rem !important; padding-bottom: 2rem !important;}

.pb-0 { padding-bottom: 0 !important;}
.pb-1 { padding-bottom: 0.5rem !important;}
.pb-2 { padding-bottom: 1rem !important;}
.pb-3 { padding-bottom: 1.5rem !important;}
.pb-4 { padding-bottom: 2rem !important;}
.pb-5 { padding-bottom: 2.5rem !important;}
.pb-6 { padding-bottom: 3rem !important;}
.pb-7 { padding-bottom: 3.5rem !important;}
.pb-8 { padding-bottom: 4rem !important;}

.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: 0.5rem !important; }
.pt-2 { padding-top: 1rem !important; }
.pt-3 { padding-top: 1.5rem !important; }
.pt-4 { padding-top: 2rem !important; }
.pt-5 { padding-top: 2.5rem !important; }
.pt-6 { padding-top: 3rem !important; }
.pt-7 { padding-top: 3.5rem !important; }
.pt-8 { padding-top: 4rem !important; }

.line-height-1 { line-height: 1em }
.line-height-1-1 { line-height: 1.1em }
.line-height-1-2 { line-height: 1.2em }
