body,
html {
    min-height: 100vh;
    height: 100%;
}

body {
    background: #e3e3e3;
    width: 100%;
    overflow-x: hidden;
    font-weight: 500;
    font-family: 'brockmannmedium';
    font-size: 1.1rem;
}

.brockmann {
    font-family: 'brockmannmedium';
}

.loos {
    font-family: "loos-condensed", sans-serif;
    font-weight: 700;
    font-style: normal;
}

section {
    max-width: 100vw;
    overflow-x: hidden !important;
}

a {
    text-decoration: none;
}

.card {
    border-radius: 0;
    border: 0;
    background: transparent;
}

/* Social icons right panel */

.icon-wrapper {
    position: fixed;
    right: 0;
    margin-bottom: 10px;
    top: 15%;
    z-index: 9999999;
}

.icon-wrapper:first-child {
    top: calc(15% + 60px);
    /* Zvýšený odsazení pro Facebook */
}

.icon-wrapper:last-child {
    top: 15%;
    /* Snížený odsazení pro Instagram */
}

.icon-container {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-color: #000;
    color: #fff;
    text-align: center;
    line-height: 50px;
    transition: width 0.3s ease;
    overflow: hidden;
}

.icon-container:hover {
    width: 200px;
}

.icon-container span {
    display: none;
    margin-left: 10px;
}

.icon-container:hover span {
    display: block;
}

.facebook {
    background-color: #3b5998;
}

.instagram {
    background-color: #E1306C;
}

.bi {
    font-size: 24px;
}

/* end */

/* Navbar */

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: none;
}

button.navbar-toggler {
    border: 0px;
    filter: invert(1);
    filter: brightness(300);
}

.navbar.scrolled {
    background: #000;
    /* Replace this with your desired color */
    transition: background 200ms;
    /* Optional, for smooth color transition */
}

a.navbar-brand img {
    filter: invert(1);
}


/* end */

/* Main header video section */

.fullscreen {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

/*
.fullscreen video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.fullscreen .caption {
    position: relative;
    z-index: 1;
}

@media(max-width: 992px){
    .fullscreen {
        position: relative;
        width: 100vw;
        height: 60vh;
        overflow: hidden;
    }

    .fullscreen video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        height: 60%;
        z-index: 0;
        -ms-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
    }
}

@media(min-width: 1919px) and (max-width: 1920px){
    .fullscreen {
        position: relative;
        max-width: 100vw;
        height: 100vh;
        overflow: hidden;
    }

    .fullscreen video {
        position: absolute;
        top: 50%;
        left: 50%;
        max-width: 100%;
        height: 100%;
        z-index: 0;
        -ms-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
    }
}
*/

video {
    height: 100vh;
    width: 100%;
    object-fit: cover;
    position: absolute;
    z-index: 0;
}

@media(max-width: 992px) {
    video {
        height: 65vh;
        width: 100%;
        object-fit: cover;
        position: absolute;
        z-index: 0;
    }

    .fullscreen {
        position: relative;
        width: 100vw;
        height: 65vh;
        overflow: hidden;
    }
}

/* end */

/* Sustainability */

.accordion-button:not(.collapsed) {
    color: var(--bs-accordion-active-color);
    background-color: transparent;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}

.accordion-button:focus {
    z-index: 3;
    border-color: transparent;
    outline: 0;
    box-shadow: none;
}

/* end */

/* map */
.map iframe {
    width: 100%;
    height: 400px;
}

/* end */

.special-corners {
    border-top-right-radius: 32px !important;
    border-bottom-left-radius: 32px !important;
}

.special-corners-reverse {
    border-top-left-radius: 32px !important;
    border-bottom-right-radius: 32px !important;
}

.special-corners-small {
    border-top-right-radius: 18px !important;
    border-bottom-left-radius: 18px !important;
}

.corner-top-right {
    border-top-right-radius: 28px;
}

.corner-bottom-left {
    border-bottom-left-radius: 28px;
}

.image-container {
    position: relative;
    display: block;
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-top-right-radius: 48px;
    border-bottom-left-radius: 48px;
    margin-bottom: 1em;
}

.image-container img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-top-right-radius: 48px;
    border-bottom-left-radius: 48px;
}

.image-container-reverse {
    position: relative;
    display: block;
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-top-left-radius: 48px;
    border-bottom-right-radius: 48px;
    margin-bottom: 1em;
}

.image-container-reverse img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-top-left-radius: 48px;
    border-bottom-right-radius: 48px;
}

@media(max-width: 768px) {
    .image-container {
        position: relative;
        display: block;
        width: 100%;
        height: 400px;
        object-fit: cover;
        border-top-right-radius: 48px;
        border-bottom-left-radius: 48px;
        margin-bottom: 1em;
    }

    .image-container img {
        width: 100%;
        height: 400px;
        object-fit: cover;
        border-top-right-radius: 48px;
        border-bottom-left-radius: 48px;
    }

    .image-container-reverse {
        position: relative;
        display: block;
        width: 100%;
        height: 400px;
        object-fit: cover;
        border-top-left-radius: 48px;
        border-bottom-right-radius: 48px;
        margin-bottom: 1em;
    }

    .image-container-reverse img {
        width: 100%;
        height: 400px;
        object-fit: cover;
        border-top-left-radius: 48px;
        border-bottom-right-radius: 48px;
    }
}

a.navbar-brand img {
    max-width: 140px;
    padding-left: 1em;
}

@media(max-width: 768px) {
    a.navbar-brand img {
        width: 100px !important;
    }
}

.offcanvas {
    background: rgba(000, 000, 000, .90);
}

.offcanvas a {
    color: white;
}

button.btn-close {
    filter: invert(1);
}

#backToTopBtn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    text-align: center;
}

button.accordion-button.collapsed {
    background: #e3e3e3 !important;
}

button.accordion-button.collapsed:hover {
    background: #d9d1e8 !important;
}

.accordion-item {
    background-color: transparent;
}

#services p {
    min-height: 3em;
}

.bg-purple {
    background: #d9d1e8;
}

.bg-light {
    background: #e3e3e3 !important;
}

img.heading-icon {
    width: 60px;
    position: relative;
    top: -30px;
}

.video-mask {
    position: relative;
    width: 680px;
    height: 680px;
}

.video-mask video,
.video-mask img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-mask img {
    mix-blend-mode: lighten;
    -webkit-transform: scale(1.01);
    /* For Safari and older browsers */
    transform: scale(1.01);
}

.videjko {
    position: relative;
    top: -90px;
    right: 80px;
    z-index: -1;
}

.videjko::before {
    content: "";
    position: absolute;
    top: 60px;
    left: 60px;
    width: 610px;
    height: 610px;
    background: url('../img/overlay.svg');
    -webkit-background-size: 100% 100%;
    /* For Safari and older browsers */
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 1;
}


.min-h-100 {
    min-height: 100vh;
}

#contact .card.card-1 {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s;
}

#contact .card.card-1:hover {
    transform: translate(-10%, -10%) scale(1.05);
}

#contact .card.card-2 {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s;
}

#contact .card.card-2:hover {
    transform: translate(10%, -10%) scale(1.05);
}


#services .card.card-1 {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s;
}

#services .card.card-1:hover {
    transform: translate(-10%, -10%) scale(1.05);
}

#services .card.card-2 {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s;
}

#services .card.card-2:hover {
    transform: translate(10%, -10%) scale(1.05);
}



/* contacts border */
#contact .card.card-1 {
    position: relative;
    overflow: visible;
}

#contact .card.card-1 .image-container {
    position: relative;
}

#contact .card.card-1 img {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s;
}

#contact .card.card-1 img.hover {
    opacity: 0;
}

#contact .card.card-1:hover img.still {
    opacity: 0;
}

#contact .card.card-1:hover img.hover {
    opacity: 1;
}

#contact .card.card-1:hover::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    border: 2px solid white;
    overflow: visible;
    border-top-right-radius: 32px;
    border-bottom-left-radius: 32px;
    top: 2%;
    left: 4%;
}

#contact .card.card-2 {
    position: relative;
    overflow: visible;
}

#contact .card.card-2 .image-container {
    position: relative;
}

#contact .card.card-2 img {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.5s;
}

#contact .card.card-2 img.hover {
    opacity: 0;
}

#contact .card.card-2:hover img.still {
    opacity: 0;
}

#contact .card.card-2:hover img.hover {
    opacity: 1;
}

#contact .card.card-2:hover::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    border: 2px solid white;
    overflow: visible;
    border-top-left-radius: 32px;
    border-bottom-right-radius: 32px;
    top: 2%;
    right: 4%;
}

/* end */

/* services border */
#services .card.card-1 {
    position: relative;
    overflow: visible;
}

#services .card.card-1:hover::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    border: 2px solid black;
    overflow: visible;
    border-top-right-radius: 32px;
    border-bottom-left-radius: 32px;
    top: 5%;
    left: 5%;
}

#services .card.card-2 {
    position: relative;
    overflow: visible;
}

#services .card.card-2:hover::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    border: 2px solid black;
    overflow: visible;
    border-top-left-radius: 32px;
    border-bottom-right-radius: 32px;
    top: 5%;
    right: 5%;
}

/* end */

section#services {
    overflow-y: hidden;
    background: linear-gradient(rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.98)), url('../img/craftmanship.svg');
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: cover;
}

/* menu tuning */

.offcanvas ul {
    position: relative;
}

.offcanvas ul li {
    list-style: none;
    text-align: center;
}

.offcanvas ul li a {
    color: #fff;
    text-decoration: none;
    padding: 5px 20px;
    display: inline-flex;
    font-weight: 700;
    transition: 0.2s;
    font-size: 2rem;
}

.offcanvas ul:hover li a {
    color: #fff;
}

.offcanvas ul li:hover a {
    color: #000;
    background: rgba(255, 255, 255, 1);
}

.offcanvas ul li a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 5em;
    color: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    z-index: -1;
    opacity: 0;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 500px;
    transition: letter-spacing 0.2s, left 0.2s;
}

.offcanvas ul li a:hover:before {
    content: attr(data-text);
    opacity: 1;
    left: 50%;
    letter-spacing: 10px;
    width: 1800px;
    height: 1800px;
}

.offcanvas ul li:nth-child(6n + 1) a:before {
    background-color: #000;
    background-image: url('../img/star-white-opacity-10.svg');
    background-size: contain;
    /* Volitelné: přizpůsobí velikost obrázku kontejneru */
    background-position: center;
    /* Volitelné: nastaví pozici obrázku na střed */
    background-size: 60%;
    background-repeat: no-repeat;
}

.offcanvas ul li:nth-child(6n + 2) a:before {
    background-color: #000;
    background-image: url('../img/craftmanship-white-opacity-10.svg');
    background-size: contain;
    /* Volitelné: přizpůsobí velikost obrázku kontejneru */
    background-position: center;
    /* Volitelné: nastaví pozici obrázku na střed */
    background-size: 60%;
    background-repeat: no-repeat;
}

.offcanvas ul li:nth-child(6n + 3) a:before {
    background-color: #000;
    background-image: url('../img/sustainability-white-opacity-10.svg');
    background-size: contain;
    /* Volitelné: přizpůsobí velikost obrázku kontejneru */
    background-position: center;
    /* Volitelné: nastaví pozici obrázku na střed */
    background-size: 60%;
    background-repeat: no-repeat;
}

.offcanvas ul li:nth-child(6n + 4) a:before {
    background-color: #000;
    background-image: url('../img/flexibility-white-opacity-10.svg');
    background-size: contain;
    /* Volitelné: přizpůsobí velikost obrázku kontejneru */
    background-position: center;
    /* Volitelné: nastaví pozici obrázku na střed */
    background-size: 60%;
    background-repeat: no-repeat;
}

.offcanvas ul li:nth-child(6n + 5) a:before {
    background: #000;
}

.offcanvas ul li:nth-child(6n + 6) a:before {
    background: #000;
}

.offcanvas {
    overflow: hidden;
}

.offcanvas-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100vh;
    overflow: hidden;
}

button.btn-close {
    position: absolute;
    top: 30px;
    right: 30px;
}

section#about {
    min-height: 100vh !important;
    height: auto !important;
}

div#cookiescript_badge {
    display: none;
}