@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600&display=swap');
html { scroll-behavior: smooth;}
body {position: relative; font-family: 'Montserrat', sans-serif; padding: 0; margin: 0; font-size: 14px; }
* {transition: 0.3s;} 
h1 {font-size: 3.5rem; line-height: 4.3rem; padding: 0; margin: 0; }
h2 { font-size: 2.8rem; line-height: 3.5rem;margin: 10px 0; padding: 10px 0;}
p, li, .button, label {font-size: 1rem; line-height: 2rem;}
a {text-decoration: none;}
a:hover {text-decoration: none;}
.title  {text-transform: uppercase; padding-bottom: 0; margin-bottom: 0; }
.subtitle {font-size: 1.2rem; font-weight: bold;}
.imgresp {  width: 100%;  height: auto;}
.imgleft {float: left; max-width: 40%;height: auto;}
.imgright{float: right;}
.center {text-align: center}
.mobilehidden {display: none; visibility: hidden;}
.button {position: relative; padding: 18px 30px; margin-top: 40px;  border-radius: 100px; text-decoration: none; display: inline-block; text-align: left; font-weight: bold; line-height: 1rem; min-width: 145px; }
.page .button, .alignbottom .button {align-self: flex-start;}
.playbutton {    position: absolute;    right: calc(50vw - 420px);    top: 400px;}
.button.small {padding: 13px 30px; min-width: auto;}
.arrow-r:after {content: url("../img/arrow.svg"); position: absolute;right: 30px;transition: 0.3s;}
.button.arrow-r:hover:after {content: url("../img/arrow-hover.svg");  right: 25px;transition: 0.3s;}
.arrow-d:after {content: url("../img/arrow.svg"); position: absolute;right: 30px; top:19px; transition: 0.3s; transform: rotate(90deg);}
.dark.arrow-d:after {content: url("../img/arrow-dark.svg"); position: absolute;right: 30px; top:19px; transition: 0.3s; transform: rotate(90deg);}
.button.arrow-d:hover:after {content: url("../img/arrow-hover.svg");  top: 24px;transition: 0.3s; transform: rotate(90deg);}
.button.dark.arrow-d:hover:after {content: url("../img/arrow-dark.svg");  top: 24px;transition: 0.3s; transform: rotate(90deg);}
.lengbtn {padding-right: 60px;}
.spann span{display: none;}
.relative {position: relative;}
.button a  {text-decoration: none; font-weight: 600;}
 a:hover.button  {text-decoration: none;}
.buttonline {display: flex;}
.pushright {flex: 1;}
.pushdown {flex-grow: 1; min-height: 80px;}
.roundicon {width: 4rem; margin-top: 10vw; padding-right: 1vw;}
.flipy img {transform: rotate(180deg);}
.bigtext {font-size: 2rem;  font-weight: bold;}
.bigtext a { text-decoration: underline;}
.width, .contact4  {max-width: 1440px; margin: 0 auto;}
.width:after, .textleft:after, .textright:after, .contact4:after{visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0;}
.wrapper {display:block;}
.offwidth {padding-left: calc(50vw - 700px); max-width: 1540px;}
.top {height: calc(100vh - 3vw - 220px); min-height: 700px; margin: 0 auto; display: flex; flex-direction: column;padding: 3vw 0 0 3vw; }
.homepage h1 {padding-bottom: 30px; font-size: 5rem; line-height: 6.5rem;}
.homepage {background-size: cover;  background-position: 25%;}
.page .top {  background-repeat: no-repeat;  background-size: contain;  background-position: 550px 100px; padding-bottom: 100px; min-height: 600px; height: auto; }
.news {padding: 5vw; padding-top: 0;  }
.news .button, .news .roundicon {margin-top: 0;}
.news .box { min-width: 450px;}
.news p, .news a{text-decoration: none;}
.carousel-news .button {margin-left: 3px;}
.news .news-text, .news .news-buttons {display: flex;}
.news-text a:hover {text-decoration:  underline;}
.news .date, .news-headline .date {font-size: 1rem; line-height: 1.2rem; text-align: center; text-transform: uppercase; }
.news .date span, .news-headline .date span { display: block; font-size: 2rem; line-height: 2.2rem; font-weight: bold;}
.news .description {font-weight: bold; padding-left: 30px; line-height: 1.8rem;/*max-width: 360px;*/}
.news .ec .ec__nav {bottom:0;}
.news .ec .ec__nav--next {  right: 2em;}
.news .ec .ec__nav--prev {     right: 6em;}
.carousel-news5 {width: 1600px;}
.news5 {padding: 150px;  padding-left: calc(50% - 600px); overflow: hidden; position: relative;}
.news5 .button, .news5 .roundicon {margin-top: 0;}
.news5overlay {position: absolute; bottom: 0; right: calc(50% - 1020px); width: 420px; height: 600px; opacity: 0.8;  z-index: 10;}
.news5 .annotation, .newsPage .annotation {padding-left:70px; margin-top: 0;}
.news5 .ec__item {margin-right:50px; }
.news5 .news-text, .news5 .news-buttons, .newsPage .news-text {display: flex;}
.news5 .news-text.ref-content {display: block;}
.news5 .date, .newsPage .date { font-size: 1rem; line-height: 1.2rem; text-align: center; text-transform: uppercase; }
.news5 .date span, .newsPage .date span {display: block; font-size: 2rem; line-height: 2.2rem; font-weight: bold;}
.news5 .description, .newsPage .description {font-weight: bold; padding-left: 30px; line-height: 1.8rem;}
.news5 .ec .ec__nav { z-index: 11;}
.news5 .ec .ec__nav--next {  right: calc(50% - 380px); top: -77px;  }
.news5 .ec .ec__nav--prev {    right: calc(50% - 325px); top: -77px; }
.news5.notenough .ec__nav {display: none; visibility: hidden;}
.carousel-parta {width: 720px; float: right; height: auto;}
.gradient01:after { content: ""; display: block; position: absolute; top: 0; right: 0;    bottom: 0;    left: 0;  }
.gradient02:after {content: ""; display: block; position: absolute; top: 0; right: 0;    bottom: 0;    left: 0;  }
.gradient03:after {content: ""; display: block; position: absolute; top: 0; right: 0;    bottom: 0;    left: 0;  }
.carousel-parta  .box{ position: relative;}
.carousel-parta .description {position: absolute; bottom: 25px; left: 50px; font-size: 1.2rem; font-weight: bold;}
.carousel-parta .ec__nav.ec__nav--prev {  right: 195px; bottom: 38px;}
.carousel-parta .ec__nav.ec__nav--next {   right: 140px; bottom: 38px;}
.jakselcas { position: relative; min-height: 600px;}
.jakselcas .staticdesc {position: absolute; top: 90px; left: 50%; max-width: 430px; z-index: 10;}
.jakselcas .timeline {position: absolute; top: 350px; left: 130px; z-index: 10;}
.carousel-jakselcas .box {position:relative;}
.carousel-jakselcas img {opacity:0.3;}
.carousel-jakselcas p {position:absolute; top: 410px; left: 196px; z-index: 10; font-size: 1.4rem; font-weight: bold; width: 330px; text-align: center;}
.carousel-jakselcas .ec__nav.ec__nav--prev {  left: 320px; bottom: 15px;}
.carousel-jakselcas .ec__nav.ec__nav--next {  left: 380px; bottom: 15px;}
.carousel-jakselcas .ec__nav {    content: url("../img/arrow-circle-blue.svg");}
.carousel-jakselcas .ec__nav:hover {    content: url("../img/arrow-circle.svg");}
.carousel-jakselcas .rok1 {position:absolute; top: 410px; left: 357px; z-index: 11;}
.carousel-jakselcas .rok2 {position:absolute; top: 410px; left: 600px; z-index: 11;}
.carousel-jakselcas .rok3 {position:absolute; top: 410px; left: 850px; z-index: 11;}
.carousel-jakselcas .rok4 {position:absolute; top: 410px; left: 1100px; z-index: 11;}
.carousel-jakselcas .rok1::before{ content: "";  position: absolute;  top: -40px;  right: 50%;  transform:translate(50%,-50%);  width: 40px;  height: 40px;  border-radius: 50%; z-index: 12;}
.carousel-jakselcas .rok2::before, .carousel-jakselcas .rok3::before, .carousel-jakselcas .rok4::before{ content: "";  position: absolute;  top: -40px;  right: 50%;  transform:translate(50%,-50%);  width: 25px;  height: 25px;  border-radius: 50%;  z-index: 12;}
.top-buttons{ display: flex; }
.top-buttons .button {margin-bottom: 4vw; margin-right: 10px; margin-top:0;}
.zoomable {margin: auto;   width: 100%; overflow: hidden; }
.zoomable img {margin: auto;  width: 200%; margin-left: -50%;}
.slider { padding: 20px 0; margin-bottom:50px; overflow: auto; white-space: nowrap;}
.slider .inner img {width: 14vw; display: block; margin: 0 auto; padding-bottom: 20px;}
.slider .inner a { display: inline-block; text-decoration: none; text-transform: uppercase;  text-align: center; width: 38vw; }
.inner a:last-child { border-right: none;  }
.alignbottom {    display: flex;    flex-direction: column;    min-height: 600px;}
.box-item .alignbottom {min-height: 300px !important; }
.textleft .alignbottom {    padding: 0px 130px 0px 180px;}
 .box-item .textleft .alignbottom{padding: 0px 0px 0px 180px;}
.textleft p {margin-bottom: 0; padding-bottom: 0;}
.textright .alignbottom {   padding: 0px 130px 0px 140px;}
 .box-item .textright .alignbottom {   padding: 0px 180px 0px 0px;}
.textright  {margin: 160px auto;}
.textright .button {margin-top: 0;}
.alignbottom:before {flex-grow: 1; content:" ";}
.orange .arrow-r:after {content: url("../img/arrow-orange.svg");}
.img720 {width: 720px; height: 600px;}
.black20, .black20 p {font-size: 1.32rem; font-weight: bold;}
.black20 a {text-decoration: underline;}
.counters {margin-top: 50px; margin-bottom: 70px;}
.counters div { text-align: center; flex-grow: 1; }
.counters div:last-child {    border-right: none;}
.counters h3 {font-size: 4rem; font-weight: bold;}
.counter {    justify-content: center; height: 4rem; }  
.aboutus {padding: 3vw; padding-bottom: 18vw; background: url("../img/hroch.jpg") no-repeat bottom right;  /*background-position: 150% 230%;*/ background-size: 80%; }
.top0 {padding-top: 0; margin-top: 0;}
.reference .box {padding: 3vw;display: flex;flex-direction: column;align-items: flex-start;height: 100%;}
.reference .ec .ec__item { padding-bottom: 50px;}
.ec__track {display: flex;}
.flex1 {flex: 1; background-size: cover; background-position: 25%;}
.carousel-reference .icon img {border-radius: 50%; padding: 11px}
.reference{ position: relative; }
.reference h2 { /*font-size: 3.7rem; line-height: 4.5rem;*/ margin-bottom: 30px;}
.reference .icon {width: 70px;}
.reference h2 a {text-decoration: none; }
.reference h2 a:hover {text-decoration: underline;}
.reference .button.small {margin-bottom: 8vw; margin-top: 6vw; max-width: 50%; position: absolute;    bottom: 5.2em;    left: 3vw;margin: 0;}
.reference .button {margin-bottom: 110px;}
.contacts {padding: 3vw;}
.contacts p{line-height: 2.4rem;}
.contacts .mapa img { max-width: 90vw;}
.contacts .button {min-width: 200px;}
.sidenav {text-align: center;}
.sidenav a {text-decoration: none; }
.sidenav li {list-style-type: none; padding-bottom: 35px;}
.sidenav ul { padding: 0; margin: 0;}
.sidenav .black p, .footer .black a{font-weight: bold; }
.sidenav .black a{text-decoration: underline;}
.sidenav .social img{width: 4vw;padding: 2vw;}
.sidenav .toggl {  margin: 0;border: none;}
.sidenav .toggl a.togglHref {height: auto; font-weight: normal; padding: 0;}
.sidenav .toggl a.closetoggle { width: 100%; height: 40px; z-index: 22; top:0; display: none; background-size: 10px 10px, 100% 100%;}
.sidenav .togglers [id]:target::before {height: auto; margin:0;}
.sidenav .togglers [id]:target {    display: block;    box-shadow: none;    padding: 0;    padding-top: 0;    margin-top: 0;    outline: none;}
.sidenav .togglers [id] {display: block;}
.sidenav .title a {text-transform: uppercase; font-size:  1rem;}
.arrow-traingle:after {content: "";  display:block;  height:30px;  width:100%;  background-size: 15px 15px;margin-top: -54px;  background-image: url(arrow-triangle-d.svg); background-repeat: no-repeat;background-position: 95% center;padding-bottom: 15px;}
.enteriawhite {background: url("top-logo-white.svg") no-repeat top right; background-size: auto 23px;}
.enteriaorange {background: url("../img/top-logo-orange.svg") no-repeat top right; background-size: auto 23px;}
.enteriaorange.noshadow {box-shadow: none;}
.is-active .sidenav {display: block; visibility:visible; position: absolute; top: 0;left: 0;right: 0;}
.sidenav a:hover {    text-decoration: underline; font-weight: 600; }
#navbar {  position: fixed; z-index: 1000; top: 0;  width: 100%;  display: block;  transition: top 0.3s;  padding-bottom: 16px; min-height: 55px; font-weight: 400;}  
#navbar .logo img {float: left; position: absolute;top: 13px;left: 41px; min-width: 220px;}
#navbar .title {padding-bottom: 40px; padding-top: 60px;}
#navbar .social {padding-top: 40px;}     
#navbar .open-overlay, #navbar .close-overlay {position: absolute; top: 40px; right: calc(50vw - 730px);}   
#navbar .do-li .close-overlay {position: relative; top: auto;right: auto;}   
.noscroll {   overflow: hidden;}
.overlay, .overlay2, .overlay3 {    position: fixed;    overflow-y: scroll; top: 0; right: 0; bottom: 0; left: 0; }
[aria-hidden="true"]  { display: none; }
[aria-hidden="false"] { display: block; }   
.nav-footer {    padding: 3vw;  }
footer {  padding-bottom: 2rem;}
footer .social {  padding-top: 1rem;}
footer p {  font-size: 0.9286rem ;}
.sidenav .nav-footer li { padding-bottom: 0px; height: 33px;}
#submenu-divisions{opacity: 0;  padding: 30px 10px; border-radius: 5px; position: absolute; top: 80px; z-index: 2; max-width:1440px; margin-left: auto; margin-right: auto; left: 40px; right: 40px; text-align: center; visibility: hidden; }
.menurectangle {position: absolute; top:-8px; left: calc( 50% - 280px );}
#submenu-divisions.submenuactive {opacity: 1;top: 90px;  visibility: visible;}
#submenu-divisions .inner img {width: 40px; display: block; margin: 0 auto; padding-bottom: 10px;}
#submenu-divisions .inner a:hover img {margin-top: -5px; padding-bottom: 15px; }
#submenu-divisions .inner a { display: inline-block; text-decoration: none; text-transform: uppercase;  text-align: center; width: 14vw; max-width: 230px; }
#submenu-divisions .inner a:last-child { border-right: none;  }
.intro {padding-top: 45px;}
.overlay2, .overlay3 {padding: 100px 0; z-index: 1001; }
.news-detail {width: 700px; padding: 40px; margin: 0 auto; margin-bottom: 100px; position: relative;}
.video-detail {width: 70%; height: 90%; padding: 0px; margin: 0 auto;}
.video-detail iframe {    width: 100%;    height: 100%;   }


.news-gallery .controls, .video-detail .controls{position: absolute;top: 70px;right: 50px;}
.news-gallery .controls a{padding: 0 2px;}
.news-gallery .left:after {content: url("../img/arrow-circle-l.svg")}
.news-gallery .left:hover:after {content: url("../img/arrow-circle-l-hover.svg")}
.news-gallery .right:after {content: url("../img/arrow-circle-r.svg")}
.news-gallery .right:hover:after {content: url("../img/arrow-circle-r-hover.svg")}
.news-gallery .close:after, .video-detail .close:after {content: url("../img/close-circle.svg")}
.news-gallery .close:hover:after, .video-detail .close:hover:after {content: url("../img/close-circle-hover.svg")}

.certificates #image1 img, .certificates img.gall_thumb { width: auto; padding:0; border-radius:0;}


.news-detail .controls, .video-detail .controls{position: absolute;top: 70px;right: 50px;}
.news-detail .controls a{padding: 0 2px;}
.news-detail .left:after {content: url("../img/arrow-circle-l.svg")}
.news-detail .left:hover:after {content: url("../img/arrow-circle-l-hover.svg")}
.news-detail .right:after {content: url("../img/arrow-circle-r.svg")}
.news-detail .right:hover:after {content: url("../img/arrow-circle-r-hover.svg")}
.news-detail .close:after, .video-detail .close:after {content: url("../img/close-circle.svg")}
.news-detail .close:hover:after, .video-detail .close:hover:after {content: url("../img/close-circle-hover.svg")}


.news-headline {min-height: 80px;}
.news-headline p {font-size: 1.4rem;  max-width: 500px;}
.news-headline .date {float: left;width: 92px;padding-top: 0;margin-top: 0;}
.news-intro, .referece-intro {border-radius: 4px; padding: 20px; margin-bottom: 40px; min-height: 50px}
.news-intro p {padding: 0; margin: 0; line-height: 1.3rem; font-style: italic;}
.news-intro img {float: left; padding-right: 20px;max-width: 50px;}
.news-headline .date img { max-width: 50px;}
.referece-intro {min-width: 100px; overflow: auto;}
.referece-intro .fifty {padding-top: 0;  box-sizing: border-box;}
.referece-intro .fifty .row, .referece-intro .fifty .row:last-child { border: none;}
.referece-intro .fifty:last-child { border-right: none; padding-left: 20px; }
.display-table > div {     display: table-row; }
.display-table > div > p {     display: table-cell;    padding: 5px;}
div.gall {  display: inline-block;}
span.gall_full {  position: fixed;  height: 100%;  width: 100%;  top: 0;  left: 0;  opacity: 0;  pointer-events: none;  transition: opacity 0.5s linear;}
span.gall_full img {  position: fixed;    margin: 0;  padding: 0;  max-height: 90%;  max-width: 90%;  top: 50%;  left: 50%;  margin-right: -50%;  transform: translate(-50%, -50%);  }
span.gall_full iframe {    position: fixed;    margin: 0;       padding: 0;    height: 80%;width: 80%; top: 50%;  left: 50%;  margin-right: -50%;  transform: translate(-50%, -50%);}
a.gall_close,a.gall_prev,a.gall_next, .togglers a.gall_close, .togglers a.gall_prev, .togglers a.gall_next{  position: fixed;  text-decoration: none;  visibility: hidden;  font-size: 36px; z-index:1050;}
a.gall_close {  top: 1%;  right: 1%}

a.gall_prev,a.gall_next {  top: 50%;  transform: translate(0%, -50%);}
a.gall_prev {  left: 5%;}
a.gall_next {  right: 5%;}
a:target ~ a.gall_close,a:target ~ a.gall_prev,a:target ~ a.gall_next {  visibility: visible;}
a:target > img.gall_thumb + span.gall_full {  visibility: visible;  opacity: 1;  pointer-events: initial; z-index: 1049;}
span.gall_full {  cursor: initial;}
img.gall_thumb {border-radius: 4px; padding: 5px; width:220px; height: auto; }
#image1 img{width: 687px;height: auto;}
.fifty {width: 50%;float: left; padding-top: 160px;}
.quarter {width: 25%;float: left; padding-top: 160px; text-align: center;}
.fifty .fifty {padding-top: 40px;}
.fifty .text {padding: 3vw;}
.fifty a {text-decoration: underline;}
.fifty img.round  {width: 360px;}
img.round.img70 {width: 70%; padding: 15%; }
img.round.opa02 {opacity: 0.2;}
.contact4 {margin: 70px auto;}
.contact4 .fifty {padding-top: 0px;}
.contact4 .quarter {padding-top: 0px;}
.contact4 .fifty img.round, .contact4 .quarter img.round  {max-width: 250px;}
/*.contact4 .fifty .text, .contact4 .quarter .text {padding: 30px; max-width: 250px;}*/
.darkrow {padding: 140px 0; margin-top: 70px;}
.darkrow a {font-weight: bold;}
.contact-section h3, .contact4 h3, .carousel-5items h3 {font-size: 1.4rem; margin-bottom: 0;}
.contact-section p, .contact4 p, .carousel-5items p { margin-top: 0;}
.contact-section { padding: 0 3vw;}
.contact-section .fifty .text {    padding-left: 1vw;}
.togglers [id] {display: none; /*max-height:0;*/ overflow: auto; transition:all 0.5s;}

.togglers .gall [id] {display: block; height:auto; padding:0px;}
.togglers .gall a {overflow:visible;}
.togglers #image1 img {width:100%;}
.togglers [id]:target {display: block; /*max-height:1600px;*/  padding: 50px; padding-top: 140px; margin-top: -111px;}
.togglers [id]:target:before {content: "";    display: block;    height: 100px;    margin: -100px 0 0;}
.toggl {margin: 30px; position: relative; }
.toggl a.togglHref, .toggl p.togglHref, .program-headline h2  {font-size: 1.4rem;  text-decoration: none; font-weight: bold; height: 2rem; display: block; padding: 40px; overflow: hidden; position: relative;z-index: 11; }
.toggl p.togglHref {margin:0}
.toggl a span{font-size: 2.8rem; position: absolute; top: 10px; right: 20px; font-weight: bold; z-index: 10;}
.toggl a.closetoggle{font-size: 2.8rem; width: 2rem; position: absolute; top: 20px; right: 20px; font-weight: bold; z-index: 11; text-align: center; padding: 0px;}
.toggl img{padding: 20px 0; width: 100%; height: auto;}
/*.togglers .toggl a:hover {box-shadow: 0 15px 30px 0 rgba(0,0,0,0.20);}*/
.bgletter {font-size: 5rem; font-weight: bold;position: absolute; left: 20px; top: 10px; z-index: 5; user-select: none;}
.files .toggl {margin: 0 30px; border: none;}
.files .toggl:last-child {border-bottom: none;}
.files .toggl a.togglHref {padding: 30px; padding-right: 50px; font-size: 1.4rem;}
.files .togglers [id]:target {    margin-top: -93px; padding-top: 100px; outline:none;}
.files .togglers [id]:target::before {    height: 50px;    margin: -50px 0 0;}
.files .toggl a.closetoggle {font-size: 2.8rem; padding-top: 0; padding-right: 0; text-decoration:none;}
.files .fifty .fifty {    padding: 10px; box-sizing: border-box; min-height: 90px;}
.holder.onlyone {border-top: none;}
.holder {border: 1px solid #DCDCDC; border-right: none; border-bottom: none; overflow: auto;  width: 100%;  display: flex;  flex-flow: row wrap;}
.holder .name {border: 1px solid #DCDCDC; border-top: none; border-left: none; }
.holder .name a:hover {text-decoration: underline;}
.files .name { font-size: 1.125rem;  font-weight: normal;    line-height: 1.5rem; position: relative;   }
.files .name a[href$=".pdf"]:before {background: url(../img/company/chtpce/pdf.svg) no-repeat center; background-size: 40px 40px;}
.files .name a[href$=".zip"]:before {background: url(../img/company/chtpce/zip.svg) no-repeat center; background-size: 40px 40px;}
.files .name a:before {background: url(../img/company/chtpce/other.svg) no-repeat center; background-size: 40px 40px; content: " "; width: 45px; height: 45px; margin-left: -50px; position: absolute;  }
.files .name a {  padding-top: 10px;font-size: 1rem;text-decoration: none;font-weight: bold;height: auto;display: inline-block;padding: 5px;padding-left: 50px; min-height: 50px;}
.files .size {font-size: 0.8rem;position: absolute;top: 60px; }
.thirty {width: 33.33%; height: auto; float: left; min-height: 160px; text-align: center; box-sizing: border-box;}
.thirty .size {position:relative; top: auto;}
.thirty.name a {padding-left: 0px;    min-height: auto; padding-top: 85px;}
.thirty.name a::before {    position: absolute;top: 20px;left: calc(50% - 20px); margin-left: 0;}
.ref {min-height: 350px; position: relative;}
.ref .gradient02 {position: absolute; top: 0; left: 0;}
.ref .description {z-index: 11; align-self: flex-end;}
.ref .icon, .square .icon {z-index: 12; width: 60px; height: 60px; padding: 8px; margin: 30px; position: absolute;border-radius: 50%; background-repeat: no-repeat; background-position: center;}
.kolejove-stavby .icon {background-image: url("divize-kolejove-stavby.svg"); }
.silnicni-stavby .icon {background-image: url("divize-silnicni-stavby.svg");}
.mostni-stavby .icon {background-image: url("divize-mostni-stavby.svg");}
.pozemni-stavby .icon {background-image: url("divize-pozemni-stavby.svg");}
.svarovani .icon {background-image: url("divize-svarovani.svg");}
.doprava .icon {background-image: url("divize-doprava.svg");}
.ref-carousel a.button {position: absolute;top: 252px; right: calc(50% - 468px);}
.ref-carousel h2 {max-width: 700px;}
.darkicon {width: 80px; height: auto; padding-bottom: 40px;}
.square {width: 23%; height: 23%; float: left; margin: 1%; position: relative; overflow: hidden; box-sizing: border-box;}   
.companyReferenceReview .square {margin-bottom: 0.5%;}
.square .icon {margin:20px; width: 40px; height: 40px; background-size: 40px;}    
.square .description {position: absolute;bottom: 20px;left: 20px;z-index: 12;font-size: 1rem; line-height: 1.4rem; margin-bottom: 0; font-weight: bold;padding-right: 20px;}
.square img {width: 100%;height: auto;}   
.item1 .icon, .item6 .icon, .item11 .icon, .item16 .icon, .item21 .icon, .item26 .icon { width: 70px; height: 70px; background-size: 60px; margin: 45px;}
.item1, .item6, .item11, .item16, .item21, .item26 {width: 48%; height: 48%; }  
.item6, .item16, .item26 {float: right;}
.item1 .description,.item6 .description, .item11 .description, .item16 .description, .item21 .description,.item26 .description {position: absolute;bottom: 45px;left: 45px;z-index: 12;font-size: 1.4rem;font-weight: bold;}
.intro .fifty > * {margin: 0 15px;}
.filtry {float: right; padding-top: 50px;}
.filtry img { padding:0 10px; width: 40px; height: auto;} 
.filtry:first-child img { padding-left: 0px;} 
.filtry img.disable { opacity: 0.5;} 
.newsPage {padding-top: 190px;padding-left: 30px;}
.newsPage .title, .newsPage .top0 {padding-left: 10px;}
.newsPageContent{  display: flex;  flex-wrap: wrap;   }
.newsPageContent .box { box-sizing: border-box; margin: 1%; padding: 10px 30px; width: 31%; position:relative; overflow:hidden;}
.newsPageContent .box img {width: 100%;height: auto; position:absolute; top:0; left:0;}
.newsPageContent .box:before {  content: "";  float: left;  padding-top: 100%;}
.newsPageContent .news-text, .newsPageContent .annotation {  position:relative; z-index:10;}
.newsPageContent div.annotation {  position: absolute;bottom: 40px;}
.pagination ul {   width:100%; text-align:center;}
.pagination li {list-style-type: none;  display:inline-block; padding: 10px;}
.pagination a {line-height: 3.2rem; display: block; width: 50px; height: 50px; text-align: center; border-radius: 100px; }
.hr ul { padding: 0; margin: 0;}
.hr li { padding: 30px 0; list-style-type: none; margin: 0;}
.hr li a { text-decoration: none;  font-weight: bold;}
.hr-detail h3 { padding-top: 50px; text-transform: uppercase;}
.c5items { overflow: hidden; margin-left: calc(50% - 720px);position: relative;}
.carousel-5items {width: 1800px; padding-top: 0px;}
.carousel-5items .box {text-align: center;}
.carousel-5items .box img {width:150px; height: auto; user-select: none;}
.carousel-5items.ec .ec__nav--next {right: calc(50% - 540px); bottom: auto;  top: 155px; z-index: 11;}
.carousel-5items.ec .ec__nav--prev {left:0px; right: auto; bottom: auto;  top: 155px; z-index: 11;}
.carousel-5items.ec .ec__nav:hover {    content: url("../img/arrow-circle-blue.svg");}
.carousel-5items img.round.img70{ padding-top: 0; padding: 0;}
/*.carousel-5items .text{ padding-left: 40px;}*/
.c5items .overlay5 {position: absolute; bottom: 0; right:auto; left: 1440px; width: 400px; height: 600px; opacity: 0.8; z-index: 10;}
.program-box #image1 img {    width: auto;}
.program-box img.gall_thumb {border-radius: 5px; padding: 0; width:auto;}
.program {    display: table; }
.program ul {padding-left: 15px;}
.program-headline {padding-bottom: 30px;}
.program-headline .bgletter {left: 20px; top: 30px;}
.program-headline h2 {padding: 0; margin-right: 100px; height: auto;}
.program h3 {font-size: 1.5rem; margin: 0;}
.program-box {     display: table-row; padding: 12px 0;}
.program-box .gall, .program-box .desc { display: table-cell; padding: 5px;text-align: left; vertical-align: top; padding-bottom: 25px;}
.program-box .desc { padding-left: 50px;}
a.more { font-size: 1rem; text-decoration: underline; font-weight: bold; padding: 0; display: inline;}
.logo svg{ max-width: 280px;max-height: 50px;}
.contact2 {padding:0px 0 80px 0;}
.contact2 .quarter img { width: 48px; height: auto; }

.tabs {padding-bottom: 120px; padding-top: 60px; position: relative;}
.tabs .row {overflow: auto;}
.tabs .tab h2{box-sizing: border-box; float: left; display: block; border-bottom: 3px solid #0056bb; padding-right: 10px; position: absolute; top: 0; left: 0; cursor: pointer;}
.tabs .tab:nth-child(2) h2 {left: 330px;}
.tabs .tab:nth-child(3) h2 {left: 500px;}
.tabs .tab:first-child a{ margin-left:0;}
.tabs .dnone {display: none;}
.tabs .quarter, .tabs .thirty  {text-align: left; padding-top: 60px;}

.tabs [id] {padding-top: 150px; margin-top: -150px; overflow: auto; }
.tabs h2:active{  background-color: #0056bb;}
.tabs .thirty img, .contact4 .thirty img{ width: 100px;float: left; padding-right: 20px; padding-bottom: 30px;}
.tabs .thirty, .contact4 .thirty {text-align: left;}
.tabs h2 {font-size: 2rem; padding-bottom:0;}
.tabs h3, .contact4 h3 {margin: 0 auto; font-size: 1.4rem;}
.tabs p {margin-top: 0; margin-bottom: 0;}
.tab {opacity: 0.3;}
.tab.active {opacity: 1;}

.tab .content {visibility: hidden; display: none; opacity: 0; transition: visibility 0s linear 1.33s, opacity 1.33s linear;}
.tab.active .content {visibility: visible; display: block; opacity: 1; transition-delay: 0s;}

.lang {position:absolute; top:5px; right:100px;}
.lang, .lang a {color:#ffffff;}
.lang a:hover {text-decoration: underline;}

.news-text.ref-content a, .news-detail .news-text a {color: #000000 !important; text-decoration:underline;}

.mb-3rem { margin-bottom: 3rem !important;}

.homepage {overflow:hidden;position: relative;}
.background {position: absolute; top: 0; left: 0; width: 100%; height: calc(100vh - 2vw - 152px); min-height: 700px; background-size: cover; transition: transform .5s ease-in-out;}
.background.hidden { transform: translateX(-100%);}
.background.visible {transform: translateX(0);}

/* 750 up breakpoint */
@media (min-width: 750px) {
	.mobilehidden {display: block; visibility: visible; margin-top: 10px;}
	.topmenu {float:right;     position:relative;     left:-50%;     text-align:left;}
	.topmenu ul {list-style:none;     position:relative;    left:50%; padding-top: 6px;}
	.topmenu li {float:left;position:relative;}
	.topmenu a {text-decoration: none; padding: 10px; margin: 0px 5px; font-weight: bold; font-size: 1em;}
	.sidenav .slider, .sidenav .logo {display: none; visibility: hidden;}	
	#navbar .sidenav { padding-top: 200px;}		
	.sidenav {text-align: left; padding-left: 60px;}
	.sidenav .social img {    width: 20px;    padding: 10px;}		
	.overlay { padding-left:75%; }		
	.homepage h1 {max-width: 550px; padding-left: calc(50vw - 720px);}
	.page h1 {max-width: 60%;}
	.top-buttons {align-self: flex-start; padding-left: calc(50vw - 720px);}
	.logo svg	{ padding-top: 14px; padding-left: calc(50vw - 645px); z-index: 50;position: relative; width: 280px;height: 50px;}	
	.news {align-self: flex-end; max-width: 450px; padding: 20px 20px 40px 40px; padding-right: calc(50vw - 670px);}
	.wrapper {    display: flex;    justify-content: space-between;}
	.slider { margin: 0 auto; padding: 70px 0 40px;}
	.slider .inner {display: flex;}	
	.slider .inner a img {width: 50px; }		
	.slider .inner a:hover img {margin-top: -5px; padding-bottom: 25px; }	
	.aboutus {background-position:150px bottom; background-size: 500px;  padding-bottom: 50px; min-height: 700px; display: flex; align-items: center;}		
	.aboutus .text{padding-left: 55%;}	
	.reference .text {padding-right: 40%;}	
	.reference .box {	height: 90%;	}
	.reference .button {margin-bottom:0px;}
	.reference .button.small {right: 200px; left: auto;}	
    .contacts .title:first-of-type {padding-top: 140px;}
	.contacts .text {width: 40%;float: right; z-index: 2;position: relative;}	
	.contacts .mapa {width: 40%; float: left; position: relative; }
	.contacts .mapa img { max-width: 70vw; margin-left: 0vw; }
	.contacts.switch .mapa {width: auto; float: right; }		
	.contacts.switch .text {padding-left:0%; width: 50%; float: none; }
	.nav-footer {position: relative; display: flex; flex-wrap: wrap; margin-top: 3rem; margin-bottom: 2rem; text-align: left; padding: 3vw;}
	.nav-footer a{font-size: 0.9286rem;}
	.nav-footer a:hover{  text-decoration: none; font-weight: normal; }		
	.nav-footer .sideCol-1 {width: 41.333%; order: 2;}
	.nav-footer .sideCol-2 {width: 32.333%; order: 3;}
	.nav-footer .sideCol-3 {width: 26.333%; order: 4;}
	.nav-footer .sideCol-4 {width: 100%; order: 1; margin-bottom: 2rem; }
	.nav-footer .logo {display: block; visibility: visible;}		
	.nav-footer .sideCol-1 details {    margin: 0;    border: none;    box-shadow:none;  }
	.nav-footer .sideCol-1 details .arrow-traingle::after { display: none;}
	.nav-footer .sideCol-3 .black{ font-weight: bold; line-height: 2.143rem;}
	footer {display: flex; text-align: left;}
	footer .social {order: 2; width: 50%; margin-right: 3vw; text-align: right; padding-top: 0;}
	footer .social img {max-width: 16px; max-height: 16px; padding: 2vw 10px !important;}
	footer .copy {display: block; order: 1; width: 50%; margin-left: 3vw;}
	.w50 { width: 50%;}
}

/* 1200up breakpoint */	
@media (min-width: 1190.98px) {
	.topmenu a {padding: 10px 20px;}	
	.nav-footer .sideCol-1 {width: 22%;}
	.nav-footer .sideCol-2 {width: 14%;}
	.nav-footer .sideCol-3 {width: 15%;}
	.nav-footer .sideCol-4 {width: 49%; order: 1; padding-top: 26px;}
	
}
	
@media (min-width: 700px) and (max-width: 1190px) {
	.menurectangle {left: calc( 50% - 230px );}	
	.wrapper{display: block;} /*reset kvuli news carouselu */   
	.contacts .mapa img {    margin-left: -10vw;}	
/*	.contacts .text {    padding-left: 40%;}*/
}	
@media (max-width: 1490px) {
	#navbar .open-overlay, #navbar .close-overlay {position: absolute; top: 40px; right: 20px;}
	#navbar .logo {padding-left: 3vw;}
	.textleft .alignbottom, .textright .alignbottom {padding: 0px 7vw; min-height: 400px;}
	.box-item.textleft .alignbottom {padding: 0px 7vw 0 3vw;}
	.box-item .textright .alignbottom {padding:  0 3vw 0px 7vw;}
	.min-height300 {min-height: 200px !important;}
	.contacts.switch .mapa {  max-width: 100%; position: absolute;left: auto;right: 0;}
	.contacts.switch .text {width: 100%; padding-left: 0; }
    .c5items {margin: 3vw; margin-right: 0;}
    .carousel-5items.ec .ec__nav--next {left: 60px; right: auto; bottom: auto;  top: 0%; z-index: 11;}
    .carousel-5items.ec .ec__nav--prev {left: 0px; right: auto; bottom: auto;  top: 0%; z-index: 11;}
    .contact4, .contact2{padding: 3vw;}
	.imgright{ max-width: 40%;height: auto;}
	.news .description {padding-right: 25px;}
	.tabs {margin: 3vw;}
}	

@media (max-width: 1250px) {
	.counters {display: block;}
	.counters div {border-right: none;  padding: 2rem 3vw;}
	.carousel-parta {float: none;}
	.carousel-parta {width: 100%;}
	.carousel-parta img {width: 97vw; padding-left: 7vw;}
	.carousel-parta .description {left: 100px;}
	.news5 .ec .ec__nav--next { left: 325px; top: auto; bottom: 0px;  }
	.news5 .ec .ec__nav--prev { left: 265px; top: auto; bottom: 0px; }
	.news5 {padding-left: 7vw; padding-bottom: 100px;}
	.carousel-parta .gradient01::after {    margin-left: 7vw;}
	.page .top {background-position: 60px bottom; background-size: cover;}
	.page {    padding-top: 100px;}
	.news5.ref-carousel {padding-bottom:200px;}
	.ref-carousel a.button {  top: auto;  bottom: 120px;    right: auto;    left: 7vw;}
	.ref-carousel .ec .ec__nav--next {left: 265px;right: auto;bottom: -80px;top: auto;}
	.ref-carousel .ec .ec__nav--prev {left: 205px;right: auto;bottom: -80px;top: auto;}
/*	.contacts .mapa img {    padding-top: 120px;}*/
    .files .fifty .fifty {width: 100%;}
    .fifty .row .name:first-child {  border-right: none;}
	.contact4 .quarter .text {  box-sizing: border-box;  max-width: 100%;}	
	.newsPageContent .box {width: 48%;}
	.tabs .thirty, .contact4 .thirty {width: 50%;}
	.tabs .quarter {  width: 50%; text-align: center;}
	.tabs h2 {font-size: 2rem;}
}

@media (min-width: 750px) and (max-width: 920px){
	.toggl .title {
		padding: 45px 0 0 0px !important;
	}
}

@media (max-width: 750px) {
	#navbar {padding-top: 14px;}
	.jakselcas .timeline {    left: 50px;}
	.carousel-jakselcas .rok1 {    left: 50%;}
	.carousel-jakselcas p {		left: calc(50% - 155px);}
	.carousel-jakselcas .ec__nav.ec__nav--prev {  left: calc(50% - 40px);}
	.carousel-jakselcas .ec__nav.ec__nav--next {  left: calc(50% + 23px);}
    .sidenav .togglers [id] {display: none;}
	.sidenav .toggl { box-shadow: 7px 10px 26px -14px rgba(0,0,0,0.75);}
	.sidenav .toggl a.closetoggle {display: block;}
	.sidenav .toggl a {    line-height: 2.2rem;}
	.sidenav .nav-footer li {     height: auto;}
	/*.sidenav .toggl .title a {background: url(../img/arrow-triangle-d.svg) no-repeat calc( 100% - 15px) center; background-size: 10px;}*/
	.sidenav .toggl .title a {
		background: url(../img/arrow-triangle-d.svg) no-repeat right center;
		background-size: 10px;
		padding-left: 1.3rem;
		padding-right: 1.3rem;
	}
#footer-divize:before {content: "";	  width: 15px;  height: 15px; background-color:white; position: absolute; left: calc( 50% + 35px); top:20px;}	
	.contacts.switch .mapa {   position: relative;}
	.program {    display: table;    width: 100%;}
	.program-box .gall, .program-box .desc {    display: block; padding:10px 0; margin: 0 auto; text-align: center;}
	.program-headline h2 {    padding-left: 0;    height: auto;	}	
	.program-headline .bgletter {    left: 0px;}
	.newsPageContent .box {width: 98%;}
	.sidenav .logo {position:absolute; top:20px; left:10px;}	
	.tab.active .content {padding-top: 150px;}
	.tabs .tab:nth-child(2) h2 {left: 0; top: 60px;}
	.tabs .tab:nth-child(3) h2 {left: 0px; top: 120px;}	
	.toggl .title { padding: 10px !important; }
}	

@media (max-width: 920px) {
	.h-b-920 {display: none; visibility: hidden;}
	.imgleft, .imgright {   width: calc(100% - 3rem); max-width: 100%;}
	.box-item .imgleft, .box-item .imgright {width: calc(100% - 15vw) !important ;}
	.box-item .imgleft{ margin-right: 15vw !important;}
	.box-item .imgright{ margin-left: 15vw !important;}
	.box-item .textright .alignbottom,  .box-item .textleft .alignbottom {padding: 0 3vw !important}
	.title {padding-top: 45px;}
	/*.toggl .title {padding: 10px;}*/
	.counters .title {padding-top: 0px; padding-bottom: 20px;}
	.jakselcas .staticdesc {    position: static; padding-left: 7vw;}
	.carousel-parta .description {    max-width: 40%;}
	.news-detail { width: 80%;}
	#image1 img {width: 100%;}
	img.gall_thumb {width: 100%;}
	.news-detail .controls, .video-detail .controls {     top: 20px;    right: 20px;}
	.page .top {background-position: 150px bottom; position: relative;}
	.playbutton {    position: absolute;    right: 30px;    top: auto;    bottom: 100px;    height: 56px;}
	.fifty {width: 100%; padding-top: 60px;}
	.fifty .fifty {width: 50%;float: left; }
/*	.toggl a {    font-size: 5vw; padding-left: 6vw; padding-right: 6vw;}*/
	.sidenav .toggl a {font-size: 1rem;}
	.toggl {    margin: 3vw;}
	.togglers [id]:target {	padding-left: 6vw; padding-right: 6vw;}
	.fifty img.round, .contact4 .fifty img.round, .contact4 .quarter img.round {    max-width: 80%;}
	.referece-intro p {    float: none;}
	.referece-intro .fifty:last-child {    border-left: none; padding-left: 0; padding-top: 20px; margin-top: 20px;}
	.hroch {background-position: 100px right; background-size: 70%;}
	.thirty{    width: 50%;}
	.quarter {width: 100%; padding-top: 30px;}
	a.more { font-size: 1.2rem; text-decoration: underline; font-weight: bold; padding: 0;}
	.square, .item1, .item6, .item11, .item16, .item21, .item26 {width: 48%; height: 48%; }  
	.item1 .icon, .item6 .icon, .item11 .icon, .item16 .icon, .item21 .icon, .item26 .icon {    width: 40px;    height: 40px;    background-size: 40px;    margin: 20px;}
	.item1 .description,.item6 .description, .item11 .description, .item16 .description, .item21 .description,.item26 .description {bottom: 20px;left: 20px;font-size: 1rem;line-height: 1.4rem;}
	.tabs .title {   padding-top: 0px;}
	.tabs .thirty {width: 100%;}
	.contact4 .thirty {width: 100%;}
	.tabs h2 {font-size: 1.7rem;}
	.tabs .tab a {padding: 0 30px 0 20px}	
	.toggl .title {	padding: 0px;	}
}		
	
/* extra small screens */
@media (max-width: 500px) {
	h1 { font-size: 3rem; line-height: 3.5rem;}
	.top-buttons .button { font-size: 0.8rem; padding-right: 50px; padding-left: 20px; min-width: auto;}
	.arrow-r::after {    right: 20px;}
	.button.arrow-r:hover::after {    right: 15px;}
	.reference h2 {    font-size: 2rem;    line-height: 2.5rem;}
	.reference .button.small {    padding: 13px 10px;}
	.ec .ec__nav--prev {    right: 6em;}
	.ec .ec__nav--next {    right: 2em;}
	.bigtext { font-size: 8vw;}
	.carousel-parta .ec__nav.ec__nav--next {    right: 10%;}
	.carousel-parta .ec__nav.ec__nav--prev {    right: calc(10% + 60px);}	
	.news5 .description {    padding-left: 20px; max-width: 80vw;}
	.news5 .annotation {   padding-left: 60px; max-width: 75vw;}
	.news5 .ec .ec__nav--next { left: 250px; top: auto; bottom: 0px;  }
	.news5 .ec .ec__nav--prev { left: 190px; top: auto; bottom: 0px; }
	.homepage h1 {    font-size: 3rem;    line-height: 3.5rem;}
	.ref-carousel .ec .ec__nav--next {left: 265px;right: auto;bottom: -80px;top: auto;}
	.ref-carousel .ec .ec__nav--prev {left: 205px;right: auto;bottom: -80px;top: auto;}	
	.fifty .fifty {width: 100%;float: none; }
	.imgleft, .imgright {   float: none;}
	.contact4 {margin: 3vw;}
	.contact4 h2 {    font-size: 2rem;}	
	.files .toggl a {    padding-bottom: 50px;}
/*	.files .togglers [id]:target {    margin-top: -150px;    padding-top: 150px;}*/
	.thirty {    width: 100%;}
	.square, .item1, .item6, .item11, .item16, .item21, .item26 {width: 98%; height: 98%; }  
	.toggl a, .program-headline h2 {    height: 4rem; line-height: 2rem;}
	.toggl a.closetoggle {		top: 10px;}
/*	.togglers [id]:target {    margin-top: -144px;}*/
	.tabs .quarter {width: 100%;}
	.tabs .tab a {width: 90%;}
	.tabs .tab:first-child a {margin-left:10px;}
	.tabs .thirty, .contact4 .thirty {text-align: center;}
	.tabs .thirty img, .contact4 .thirty img {float: none;}
}
	
/* IE 10+ */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.news {max-height: 110px; overflow: hidden; max-width: 100vh;}
	.news .box {max-width: 90%;}
	.carousel-reference{height:920px; overflow:hidden;}
	.reference .box {		height:806px;	}
	.reference p {max-width: 1380px;}
	.carousel-news5 .box {display: block; padding: 0 1px 40px 0; width: 98%;}
/*	.carousel-news5 .box .description {		padding-top: 260px;	}*/
	.carousel-5items .box {		float: left;	 }
	.overlay5, .news5overlay {display:none; visibility:hidden;}
	.carousel-parta, .carousel-jakselcas {max-height: 600px; overflow: hidden;}
/*	.carousel-parta .box {display:none; visibility: hidden;}
	.carousel-parta .box:first-child {display:block; visibility: visible;}*/

}
@media all and (-ms-high-contrast: none) and (max-width: 1490px), (-ms-high-contrast: active) and (max-width: 1490px) {
		.homepage h1, .top-buttons, .offwidth {padding-left: 0;}
}
@media (orientation: landscape) and (max-height: 600px) {
    .freeprivacypolicy-com---pc-dialog { 
        height: 86vh;
       overflow: scroll;
    }
}
.do-btn-cookies-set {
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    float: right; 
    padding: .5rem 1rem .4rem 1rem;
	border-top-left-radius: 15px;
	font-weight: bold;
}
label {
  display: inline-block;
  margin-bottom: .5rem;
}
.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + .75rem + 2px);
  padding: .375rem .75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
textarea.form-control {
  height: auto;
}
.form-group {
  margin-bottom: 1rem;
}
.invalid-feedback {
	color: #CC3300;
}
.white { color: white !important;}
.video1 {position: absolute; top: 0; left: 0; width: 100%; height: calc(100vh - 220px); object-fit: cover;}
.video-overlay { overflow: hidden; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: calc(100vh - 220px); background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.9) 90% ); z-index: 5; }
.top {  z-index: 50;  position: relative;}	