body{
    font-family: "Manrope", sans-serif;
    padding: 0;
    margin: 0;
}
.page{
    overflow: clip;
}
*{
    scroll-behavior: smooth;
}
*:focus{
    outline: none;
}
img{
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
a{
    transition: all;
}
a.button{
    display: inline-block;
    font-size: 16px;
    line-height: 20px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    padding: 13px 16px 13px 48px;
    background: #41C0F0 url(images/button-arrow.svg) no-repeat 10px center;
}
a.button:hover {
    background-color: #EA5B0C;
}
p{
    font-size: 20px;
    line-height: 24px;
    margin: 0 0 34px;
    letter-spacing: 5%;
    font-weight: 300;
    color: #121C3F;
}
p:last-child{
    margin-bottom: 0;
}
/* header */
header{
    background: #121C3F;
    position: sticky;
    top: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 57px;
    box-shadow: 0px 4px 44px 0px #00000040;
    z-index: 10;
}
header:before{
    content: "";
    display: block;
    width: 518px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: transparent url(images/header-texture-left.svg) no-repeat left center;
}
header:after{
    content: "";
    display: block;
    width: 518px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: transparent url(images/header-texture-right.svg) no-repeat right center;
}
header .logo,
header nav{
    position: relative;
    z-index: 1;
}
header nav ul{
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 37px;
}
header nav ul li{
    padding: 0;
    margin: 0;
}
header nav ul li a{
    display: block;
    font-size: 14px;
    line-height: 20px;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    padding: 20px 0;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    letter-spacing: 5%;
}
header nav ul li a:hover,
header nav ul li a.active{
    border-bottom: 3px solid #EA5B0C;
}
header nav a.toggle{
    display: none;
}
/* obsah */
main{
    width: 100%;
    max-width: 1304px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 20px;
}
section{
    padding: 40px 0;
    scroll-margin-top: 60px;
}
section > h2{
    font-size: 32px;
    line-height: 45px;
    font-weight: 300;
    letter-spacing: 5%;
    color: #121C3F;
    margin: 0 0 45px;
    padding-bottom: 10px;
    text-align: center;
    position: relative;
}
section > h2 strong{
    font-weight: 600;
    text-transform: uppercase;
    color: #41C0F0;
    font-family: "Taviraj", serif;
}
section > h2 em{
    font-style: normal;
    color: #EA5B0C;
}
section > h2:before{
    content: "";
    display: block;
    width: 226px;
    height: 4px;
    background: #41C0F0;
    position: absolute;
    left: calc(50% - 113px);
    bottom: 0;
}
section.uvodnik{
    position: relative;
    height: 545px;
    padding: 0;
    z-index: 1;
}
section.uvodnik:before{
    content: "";
    display: block;
    width: 1920px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -1;
    transform: translate(-50%, 0%);
    background: transparent url(images/uvodnik-podklad-1.jpg) no-repeat right center;
    background-size: contain;
}
section.uvodnik:after{
    content: "";
    display: block;
    width: 1920px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -2;
    transform: translate(-50%, 0%);
    background: transparent url(images/uvodnik-podklad-2.png) no-repeat left 150px center;
    background-size: contain;
}
section.uvodnik .cols:before{
    content: "";
    display: block;
    width: 1920px;
    height: 609px;
    position: absolute;
    left: 50%;
    top: 103px;
    z-index: -1;
    transform: translate(-50%, 0%);
    background: transparent url(images/uvodnik-textura.svg) no-repeat left top;
}
section.uvodnik .cols:after{
    content: "";
    display: block;
    width: 1920px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: -26px;
    z-index: -1;
    transform: translate(-50%, 0%);
    background: transparent url(images/uvodnik-ctverec.svg) no-repeat 73px top;
}
section.uvodnik h1{
    font-size: 22px;
    line-height: 22px;
    letter-spacing: 5%;
    font-weight: normal;
    color: #fff;
    margin: 0;
    padding: 24px 50px 28px;
    text-align: right;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
}
section.uvodnik h1 strong{
    font-weight: 800;
    color: #121C3F;
}
section.uvodnik h1:before{
    content: "";
    display: block;
    width: 100vw;
    max-width: 1920px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    z-index: -1;
    transform: translate(-50%, 0%);
    background: transparent url(images/uvodnik-podklad-nadpis.svg) no-repeat right bottom;
}
section.uvodnik .cols{
    padding-top: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
section.uvodnik .cols p.logo{
    margin: 20px 0 0 100px;
    width: 45%;
    max-width: 498px;
}
section.uvodnik .cols p.okno{
    width: 45%;
    max-width: 485px;
    margin: -100px 0 0 0;
}
section.boxy{
    position: relative;
    padding: 150px 0 100px;
    max-width: 1150px;
    margin: 0 auto;
    scroll-margin-top: 0;
}
section.boxy:before{
    content: "";
    display: block;
    width: 100vw;
    max-width: 1920px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0%);
    z-index: -1;
    background: transparent url(images/boxy-podklad.jpg) no-repeat center top;
    background-size: cover;
}
section.boxy .items{
    gap: 80px 51px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 45px;
}
section.boxy .items > .item{
    width: calc(33.33% - 34px);
}
section.boxy .items > .item .image{
    width: 176px;
    height: 158px;
    margin: 0 auto 25px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: transparent url(images/box-podklad.svg) no-repeat center center;
    background-size: contain;
}
section.boxy .items > .item p{
    text-align: center;
}
section.boxy .items > .item p strong{
    font-weight: 800;
}
section.seznam{
    max-width: 970px;
    margin: 0 auto;
    position: relative;
    padding: 55px 0 85px;
    scroll-margin-top: 45px;
}
section.seznam:before{
    content: "";
    display: block;
    width: 100vw;
    min-width: 1920px;
    z-index: -1;
    height: 100%;
    min-height: 800px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0%);
    top: -39px;
    background-image: url(images/seznam-ctverec-1.jpg), url(images/seznam-ctverec-2.jpg), url(images/seznam-ctverec-3.jpg), url(images/seznam-ctverec-4.jpg);
    background-position: left 300px, left 146px top 0px, right 39px, right 234px top 490px;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
}
section.seznam ul{
    padding: 20px 0 0;
    margin: 0 0 60px;
    list-style: none;
}
section.seznam ul li{
    font-size: 17px;
    line-height: 27px;
    padding: 15px 0 15px 66px;
    letter-spacing: 5%;
    color: #121C3F;
    background: transparent url(images/li.svg) no-repeat left center;
}
section.seznam ul li strong{
    font-weight: bold;
}
section.seznam p{
    text-align: center;
}
section.videa{
    width: 1920px;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0%);
    margin: 0 auto;
    margin-bottom: 15px;
}
section.videa .video-swiper .swiper-slide {
  transform: scale(0.6);
  transition: transform 0.3s;
}
section.videa .video-swiper .swiper-slide-active {
  transform: scale(1);
}
section.videa video{
    width: 100%;
    height: auto;
    max-height: calc(100svh - 65px);
}
section.videa .swiper-button-next, 
section.videa .swiper-button-prev{
    width: 24px;
    height: 42px;
    margin: 0;
    top: calc(50% - 21px);
    background: transparent url(images/slider-arrow.svg) no-repeat center center;
}
section.videa .swiper-button-next:after,
section.videa .swiper-button-prev:after{
    display: none;
}
section.videa .swiper-button-next{
    right: calc(33% - 40px);
}
section.videa .swiper-button-prev{
    transform: rotate(180deg);
    left: calc(33% - 40px);
}
section.mapa{
    position: relative;
    text-align: center;
    padding-bottom: 76px;
}
section.mapa:before{
    content: "";
    display: block;
    width: 100vw;
    height: 700px;
    z-index: -1;
    position: absolute;
    left: 50%;
    bottom: -2px;
    transform: translate(-50%, 0%);
    background: transparent url(images/podklad-mapa.jpg) no-repeat center center;
    background-size: cover;
}
section.recenze{
    position: relative;
}
section.recenze:before{
    content: "";
    display: block;
    width: 100vw;
    min-width: 1920px;
    z-index: -1;
    height: 100%;
    min-height: 530px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0%);
    top: -100px;
    background-image: url(images/recenze-ctverec-1.svg), url(images/recenze-ctverec-2.svg), url(images/recenze-ctverec-3.svg);
    background-position: left 55px, right 146px, right 200px top 0px;
    background-repeat: no-repeat, no-repeat, no-repeat;
}
section.recenze .swiper{
    max-width: 725px;
    margin: 0 auto;
    padding: 10px 0 70px;
}
section.recenze .swiper .swiper-slide{
    padding-left: 112px;
    position: relative;
    box-sizing: border-box;
}
section.recenze .swiper .swiper-slide:before{
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50px;
    background: #41C0F0 url(images/recenze-uzivatel.svg) no-repeat center center;
}
section.recenze .swiper .swiper-slide p{
    font-size: 14px;
    line-height: 18px;
    color: #000;
    margin-bottom: 20px;
}
section.recenze .swiper .swiper-slide p:last-child{
    margin-bottom: 0;
}
section.recenze .swiper-horizontal > .swiper-pagination-bullets, 
section.recenze .swiper-pagination-bullets.swiper-pagination-horizontal, 
section.recenze .swiper-pagination-custom, 
section.recenze .swiper-pagination-fraction,
section.recenze .swiper-pagination{
    top: auto;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
section.recenze .swiper-pagination-bullet{
    margin: 0 !important;
    width: 15px;
    height: 15px;
    background: #D9D9D9;
    border-radius: 10px;
    opacity: 1;
}
section.recenze .swiper-pagination-bullet:hover,
section.recenze .swiper-pagination-bullet-active{
    background: #41C0F0;
}
/* footer */
footer{
    background: #121C3F;
    position: sticky;
    top: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    gap: 62px;
}
footer:before{
    content: "";
    display: block;
    width: 862px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: transparent url(images/footer-texture-left.svg) no-repeat left center;
}
footer:after{
    content: "";
    display: block;
    width: 862px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: transparent url(images/footer-texture-right.svg) no-repeat right center;
}
footer ul.social {
    padding: 0;
    margin: 0 0 33px;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    justify-content: flex-end;
    position: relative;
    z-index: 1;
}
footer ul.social li {
    padding: 0;
    margin: 0;
}
footer ul.social li a {
    display: block;
    font-size: 0;
    text-indent: -9999px;
    width: 40px;
    height: 40px;
    opacity: 1;
}
footer ul.social li a:hover {
    opacity: 0.8;
}
footer ul.social li a[href*="facebook"] {
    background: transparent url(images/footer-facebook.svg) no-repeat center center;
}
footer ul.social li a[href*="instagram"] {
    background: transparent url(images/footer-instagram.svg) no-repeat center center;
}
footer ul.social li a[href*="linked"] {
    background: transparent url(images/footer-linkedin.svg) no-repeat center center;
}
footer p.garantie{
    width: 136px;
    height: 136px;
    font-size: 0;
    text-indent: -9999px;
    background: transparent url(images/footer-garantie.svg) no-repeat center center;
    margin: 0 48px 37px 0;
    position: relative;
    z-index: 1;
}
footer p.whitefinish{
    width: 269px;
    height: 188px;
    font-size: 0;
    text-indent: -9999px;
    background: transparent url(images/footer-whiteinish.svg) no-repeat center center;
    margin: 0 0 15px 0;
    position: relative;
    z-index: 1;
}
footer p.premium-ouvertures{
    width: 291px;
    height: 325px;
    font-size: 0;
    text-indent: -9999px;
    background: transparent url(images/footer-premium-ouvertures.svg) no-repeat center center;
    margin: -113px 0 0 8px;
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 1250px){
    header {gap: 37px;}
}
@media screen and (max-width: 1199px){
    header{justify-content: space-between; padding-right: 0;}
    header nav ul {display: none; position: absolute; width: 100vw; right: 0; top: 100%; background: #121C3F; padding: 10px 20px; box-sizing: border-box; flex-direction: column; align-items: center; gap: 0; box-shadow: 0px 4px 44px 0px #00000040;}
    header.menu-open nav ul{display: flex;}
    header nav ul li a {padding: 10px 0;}
    header nav a.toggle {display: block;}
    header nav a.toggle span {display: block; margin: 31px 20px; width: 30px; font-size: 0px; text-indent: -9999px; height: 4px; background: #fff; position: relative; transition-duration: 0.3s; transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); border-radius: 2px;}
    header nav a.toggle span:before {content: ""; display: block; width: 30px; height: 100%; position: absolute; top: -10px; right: 0px; background: #fff; transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in, background-color 0.15s ease; border-radius: 2px;}
    header nav a.toggle span:after {content: ""; display: block; width: 30px; height: 100%; position: absolute; bottom: -10px; right: 0px; background: #fff; transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0.15s ease; border-radius: 2px;}
    header.menu-open nav a.toggle span {transform: rotate(225deg); transition-delay: 0.14s; transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); width: 30px;}
    header.menu-open nav a.toggle span:before {top: 0; opacity: 0; transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out, background-color 0.15s ease; width: 30px;}
    header.menu-open nav a.toggle span:after {bottom: 0; transform: rotate(-90deg); transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.15s ease; width: 30px;}

    section.uvodnik h1:before {left: 75%;}
    section.uvodnik .cols p.logo {margin: 0 0 0 40px;}
    footer p.garantie {margin: 0 20px 37px 0;}
    footer {gap: 20px;}
}
@media screen and (max-width: 1023px){
    footer {align-items: center; padding: 20px;}
    footer:before{background-position: left bottom;}
    footer:after {background-position: right top;}
    footer p.premium-ouvertures {width: calc(50% - 10px); margin: 0;}
    footer ul.social {width: calc(50% - 10px); justify-content: center;}
    footer p.garantie {width: calc(50% - 10px); margin: 0;}
    footer p.whitefinish {width: calc(50% - 10px); margin: 0;}
    section > h2 {font-size: 28px; line-height: 40px;}
    section.boxy .items > .item {width: calc(50% - 26px);}
    section.boxy {padding: 65px 0 60px;}
    section.videa {width: calc(100vw + 100px);}
}
@media screen and (max-width: 767px){
    footer p.premium-ouvertures {width: 100%;}
    footer ul.social {width: 100%;}
    footer p.garantie {width: 100%;}
    footer p.whitefinish {width: 100%;}
    section > h2 {font-size: 26px; line-height: 40px;}
    section.seznam {padding: 45px 0 30px; scroll-margin-top: 60px;}
    section.seznam ul {padding: 0;}
    section.boxy .items {gap: 55px 51px; padding-top: 10px;}
    section.seznam ul {margin: 0 0 20px;}
    section.videa {width: calc(100vw + 280px);}
    section.uvodnik h1 {font-size: 20px; padding: 24px 0 28px; text-align: center;}
    section.uvodnik h1:before {left: 50%; background-position: left -240px bottom; background-size: 200% auto;}
    section.uvodnik {height: 400px;}
    section.uvodnik .cols p.logo {margin: 0;}
    section.uvodnik .cols {padding-top: 105px;}
}
@media screen and (max-width: 479px){
    section.uvodnik h1:before{background: #EA5B0C;}
    section.boxy .items > .item {width: 100%;}
    section.seznam ul li {padding: 0px 0 20px 55px; background-position: left top 5px;}
    section.videa .swiper-button-next {right: calc(33% - 33px);}
    section.videa .swiper-button-prev {left: calc(33% - 33px);}
    section.recenze .swiper .swiper-slide{padding: 110px 0 0;}
    section.uvodnik .cols {padding-top: 40px;}
    section.uvodnik .cols p.logo{width: 100%;}
    section.uvodnik .cols p.okno {width: 100%; margin: 0;}
    section.uvodnik {height: auto;}
}