* {
    font-family: "Quicksand", serif, Arial, Verdana, Trebuchet MS, Helvetica, sans-serif;
    font-size: 18px;
    color: #323232;
}

.colorWhite {
    color: White;
}

.colorGreen {
    color: #8BA882;
}

.f24 {
    font-size: 24px;
}

.maxW573 {
    max-width: 573px;
    margin-left: auto;
    margin-right: auto;
}

.maxW550 {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
}

.maxW460 {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}

.maxW875 {
    max-width: 875px;
    margin-left: auto;
    margin-right: auto;
}

.maxW980 {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}

.maxW1000 {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.maxW1100 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.maxW1120 {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.maxW1440 {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width : 1600px) {
    .maxW1440 {
        width: 1440px;
    }
}

.lh170 {
    line-height: 170%;
}

.minH430 {
    min-height: 430px;
}

.maxH450 {
    max-height: 450px;
}


.w150 {
    width: 150px;
}

.imgCenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.content {
    padding-top: 20px;
    padding-bottom: 20px;
}

@media only screen and (min-width : 480px) {
    .content {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}

@media only screen and (min-width : 768px) {
    .content {
        padding-top: 35px;
        padding-bottom: 35px;
    }
}

@media only screen and (min-width : 992px) {
    .content {
        padding-top: 55px;
        padding-bottom: 55px;
    }
}

@media only screen and (min-width : 1200px) {
    .content {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.wave1 {
    background-image: url(../pcs/pcs_layout/waves.svg);
    background-position: left center;
    background-repeat: no-repeat;
}

.contentGrey {
    background-color: #F4F4F4;
}

.contentLightBlue {
    background-color: #F2F7F1;
}

.video-background {
    position: relative;
    height: 750px;
    overflow: hidden;
}

.video-backgroundContinue {
    height: 450px;
}

.video-background video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 1;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.video-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 2;
}

.video-overlay {
    position: relative;
    z-index: 2;
    color: white;
    padding-top: 15px;
    /* přizpůsob podle potřeby */
}

@media only screen and (min-width : 992px) {
    .video-overlay {
        padding-top: 50px;
    }
}

.video-background2 {
    position: relative;
    height: 430px;
    overflow: hidden;
}

.video-background2 video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 1;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.video-overlay2 {
    position: relative;
    z-index: 2;
    color: white;
    text-align: center;
}


.media-fixed {
    width: 100%;
    aspect-ratio: 3 / 2;
    background: #000;
    overflow: hidden;
}

.media-content {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.topGreen {
    background-color: #8BA882;
    min-height: 98px;
}

.imageBackground {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 450px;
}

.imageBackgroundDomy {
    background-image: url(../pcs/pcs_layout/header-image-domy.jpg);
}

.imageBackgroundProjekt {
    background-image: url(../pcs/pcs_layout/header-image-projekt.jpg);
}



.topMenu ul {
    margin-bottom: 0;
    margin-top: 10px;
}

.topMenu ul li {
    list-style-type: none;
    margin-left: 10px;
    margin-right: 10px;
    line-height: 30px;
}

@media only screen and (min-width : 1200px) {
    .topMenu ul li {
        margin-left: 20px;
        margin-right: 20px;
    }
}

.topMenu ul li a {
    color: White;
    line-height: 49px;
    line-height: 29px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.topMenu ul li.active {
    border-bottom: 2px solid White
}

.headerContent {
    margin-top: 100px;
}

.headerContent h1 span {
    color: #8BA882;
}

.headerContent h1 {
    color: #FFFFFF;
    margin-bottom: 30px;
}

.headerContent h1,
.headerContent h1 span {
    font-size: 34px;
    line-height: 120%;
}

@media only screen and (min-width : 480px) {

    .headerContent h1,
    .headerContent h1 span {
        font-size: 39px;
    }
}

@media only screen and (min-width : 768px) {

    .headerContent h1,
    .headerContent h1 span {
        font-size: 44px;
    }
}

@media only screen and (min-width : 992px) {

    .headerContent h1,
    .headerContent h1 span {
        font-size: 49px;
    }
}

@media only screen and (min-width : 1200px) {

    .headerContent h1,
    .headerContent h1 span {
        font-size: 52px;
    }
}

.headerTitle {
    font-weight: 500;
    font-size: 28px;
    line-height: 120%;
    color: #FFFFFF;
    margin-bottom: 30px;
}

.headerSubtitle {
    font-weight: 500;
    font-size: 24px;
    line-height: 140%;
    color: #FFFFFF;
    max-width: 450px;
    margin-bottom: 30px;
}

h2,
h2 * {
    font-size: 28px;
    line-height: 120%;
    font-weight: 600;
}

@media only screen and (min-width : 480px) {

    h2,
    h2 * {
        font-size: 30px;
    }
}

@media only screen and (min-width : 768px) {

    h2,
    h2 * {
        font-size: 32px;
    }
}

@media only screen and (min-width : 992px) {

    h2,
    h2 * {
        font-size: 34px;
    }
}

@media only screen and (min-width : 1200px) {

    h2,
    h2 * {
        font-size: 36px;
    }
}

h3 {
    font-weight: 600;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 1%;
    margin-bottom: 1em;
}

.odd {
    background-image: url(../pcs/pcs_layout/odd-wave.svg);
    background-position: center center;
    background-repeat: no-repeat;
    width: 52px;
    height: 14px;
    margin: 20px 0;
}

.oddCenter {
    margin-left: auto;
    margin-right: auto;
}

.button {
    border: none;
    display: block;
    color: White;
    width: 278px;
    height: 44px;
    line-height: 44px;
    background-color: #8BA882;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
    transition: background-color 0.5s;
    font-weight: 600;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
}

.button202 {
    width: 202px;
}

.button119 {
    width: 119px;
}

.buttonByt {
    width: 114px;
    height: 36px;
    line-height: 36px;
    font-size: 15px;
}

.buttonBytDisabled {
    background-color: #CDCCCC;
}

.buttonCenter {
    margin-left: auto;
    margin-right: auto;
}

.button:HOVER {
    color: White;
    text-decoration: none;
    background-color: #66885b;
}

.buttonBytDisabled:HOVER {
    background-color: #CDCCCC;
}

.iconBox {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.ico,
.icoVyhody {
    background-position: top center;
    background-repeat: no-repeat;
    padding-top: 80px;
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    text-align: center;
}

.ico1 {
    background-image: url(../pcs/pcs_layout/ico-1.svg);
}

.ico2 {
    background-image: url(../pcs/pcs_layout/ico-2.svg);
}

.ico3 {
    background-image: url(../pcs/pcs_layout/ico-3.svg);
}

.ico4 {
    background-image: url(../pcs/pcs_layout/ico-4.svg);
}

.icoVyhody1 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-1.svg);
}

.icoVyhody2 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-2.svg);
}

.icoVyhody3 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-3.svg);
}

.icoVyhody4 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-4.svg);
}

.icoVyhody5 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-5.svg);
}

.icoVyhody6 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-6.svg);
}

.icoVyhody7 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-7.svg);
}

.icoVyhody8 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-8.svg);
}

.icoVyhody9 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-9.svg);
}

.icoVyhody10 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-10.svg);
}

.icoVyhody11 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-11.svg);
}

.icoVyhody12 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-12.svg);
}

.icoVyhody13 {
    background-image: url(../pcs/pcs_layout/ico-vyhody-13.svg);
}

.tableByty thead th {
    background-color: #f8f9fa;
    font-size: 15px;
    padding-top: 18px;
    padding-bottom: 18px;
}

.tableByty td {
    font-size: 15px;
}

.kartaBytu {
    background-color: #F2F7F1;
    padding: 38px;
}

.filters {
    margin-bottom: 30px;
}

.filterForm select {
    border-width: 2px;
    padding-top: 6px;
    padding-right: 20px;
    padding-bottom: 6px;
    border-radius: 40px;
    font-size: 16px;
    width: 100%;
}

.filterForm option {
    font-size: 16px;
}

.formBox {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
}

form {
    max-width: 840px;
}

.form-label {
    font-weight: 500;
}

.form-control {
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    box-shadow: none;
    background-color: transparent;
}

.form-control:focus {
    border-color: #90A98F;
    box-shadow: none;
}

textarea.form-control {
    resize: none;
}

.form-check-label a {
    color: #333;
    text-decoration: underline;
}

.btn-custom {
    background-color: #90A98F;
    color: white;
    border: none;
    border-radius: 20px;
    padding: 0.6rem 2rem;
}

.btn-custom:hover {
    background-color: #7e947d;
}


.img-hover-box {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
}

.img-hover-box img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.hover-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 128, 0, 0.35);
    /* zelené překrytí */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.zoom-icon {
    font-size: 48px;
    color: white;
    transform: scale(1);
    transition: transform 0.3s ease;
    background-image: url(../pcs/pcs_layout/zoom-icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    width: 100px;
    height: 100px;

}

.img-hover-box:hover img {
    transform: scale(1.03);
}

.img-hover-box:hover .hover-overlay {
    opacity: 1;
}

.img-hover-box:hover .zoom-icon {
    transform: scale(1.2);
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
    width: 67px;
    height: 80px;
    background-color: transparent !important;
    position: absolute;
}

.owl-carousel .owl-nav .owl-prev {
    width: 67px;
    height: 80px;
    background-color: transparent !important;
    background-image: url(../pcs/pcs_layout/carousel-prev.png) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    transition: all 0.5s ease 0s;
    top: 35%;
    left: -5px;
}

.owl-carousel .owl-nav .owl-next {
    background-image: url(../pcs/pcs_layout/carousel-next.png) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    width: 67px;
    height: 80px;
    transition: all 0.5s ease 0s;

    top: 35%;
    right: -5px;
}


@media only screen and (min-width : 1200px) {
    .owl-carousel .owl-nav .owl-prev {
        top: 50%;
        left: -5px;
        margin-top: -40px !important;
    }

    .owl-carousel .owl-nav .owl-next {
        top: 50%;
        right: -5px;
        margin-top: -40px !important;
    }
}

.projektCard {background-color:     #F2F7F1;
    -webkit-border-radius: 16px;
-moz-border-radius: 16px;
border-radius: 16px;
}

.projektCardContent {min-height:  340px;
padding: 40px 60px;   }

.projectCardTitle {text-align:  center;
font-weight: 600;
font-size: 24px;
line-height: 120%;
letter-spacing: 1%;
max-width: 400px;
margin-left:    auto;margin-right:  auto;
}

.projektCardText {
font-weight: 400;
font-size: 18px;
line-height: 130%;
text-align: center;

}

.mapaIcons {
    background-color: #8BA882;
    max-width: 1120px;
    min-height: 150px;
    margin: 20px auto 30px auto;
    position: relative;
    z-index: 99;
    padding: 33px;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
}


@media only screen and (min-width : 1200px) {
.mapaIcons {
    margin: -75px auto 30px auto;
}
}


.mapaIco {
    background-position: top center;
    background-repeat: no-repeat;
    padding-top: 60px;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 2%;
    text-align: center;
    color: White;
    min-width: 80px;
}

.mapaIco1 {
    background-image: url(../pcs/pcs_layout/ico-mapa1.svg);
}

.mapaIco2 {
    background-image: url(../pcs/pcs_layout/ico-mapa2.svg);
}

.mapaIco3 {
    background-image: url(../pcs/pcs_layout/ico-mapa3.svg);
}

.mapaIco4 {
    background-image: url(../pcs/pcs_layout/ico-mapa4.svg);
}

.mapaIco5 {
    background-image: url(../pcs/pcs_layout/ico-mapa5.svg);
}

.mapaIco6 {
    background-image: url(../pcs/pcs_layout/ico-mapa6.svg);
}

.mapaIco7 {
    background-image: url(../pcs/pcs_layout/ico-mapa7.svg);
}

.mapaIco8 {
    background-image: url(../pcs/pcs_layout/ico-mapa8.svg);
}

.mapaIco9 {
    background-image: url(../pcs/pcs_layout/ico-mapa9.svg);
}

.footer {
    background-color: #585858;
    padding: 55px 0;
    background-image: url(../pcs/pcs_layout/footer-bcg.png);
    background-position: right 25% bottom;
    background-repeat: no-repeat;

}

.footerTitle {
    color: White;
    font-weight: 600;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 1%;
    margin-bottom: 20px;
}

.footerText,
.footerText span,
.footerText a {
    color: #cdcdcd;
    line-height: 32px;
    font-size: 16px;
}

.footerText,
.footerText a {
    font-weight: 500;
    text-decoration: none;
}

.footerText a:HOVER {
    font-weight: 500;
    text-decoration: underline;
}

.footerText span {
    font-weight: 700;
}

.footerIco {
    padding-left: 30px;
    background-image: url(../pcs/pcs_layout/ico-place.svg);
    background-position: top left;
    background-repeat: no-repeat;
}

.footerIco1 {
    background-image: url(../pcs/pcs_layout/ico-phone.svg);
}

.footerIco2 {
    background-image: url(../pcs/pcs_layout/ico-mail.svg);
}

.footerIco3 {
    background-image: url(../pcs/pcs_layout/ico-place.svg);
}

.link {
    color: #323232;
    text-decoration: none;
}

.link:HOVER {
    color: #323232;
    text-decoration: underline;
}

.socials {
    margin-top: 20px;
}

.social {
    display: block;
    background-image: url(../pcs/pcs_layout/ico-fb.svg);
    background-position: center center;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
}

.social1 {
    background-image: url(../pcs/pcs_layout/ico-fb.svg);
}

.social2 {
    background-image: url(../pcs/pcs_layout/ico-insta.svg);
    background-position: bottom right;
    margin-left: 10px;
}

.faqBox {
    background-position: right 50px top 28px;
    background-repeat: no-repeat;
    background-size: 25px 25px;
    background-color: #F4F4F4;
    padding: 20px 40px;
    margin-bottom: 20px;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}

.faqBoxClose {
    background-image: url(../pcs/pcs_layout/faq-close.png);
}

.faqBoxOpen {
    background-image: url(../pcs/pcs_layout/faq-open.png);
}



.faqTitle {
    font-weight: 600;
    font-size: 24px;
    line-height: 170%;
    letter-spacing: -1.5%;
    cursor: pointer;
}

.faqText {
    font-weight: 400;
    font-size: 18px;
    line-height: 130%;
    letter-spacing: -1.5%;
    padding-right: 100px;
    max-width: 770px;
}

.faqBoxOpen .faqText {
    display: none;
}

.faqBoxClose .faqText {
    display: block;
}


@media only screen and (max-width : 1200px) {
    .menuSwitcher {
        cursor: pointer;
        position: absolute;
        top: 20px;
        right: 20px;
        width: 28px;
        height: 28px;
        background-image: url(../pcs/pcs_layout/menu-switch.png);
        background-position: center;
        background-repeat: no-repeat;
    }

    .topGreen .menuSwitcher {
        background-image: url(../pcs/pcs_layout/menu-switch-white.png);
    }

    .openMenu {
        background-color: Black;
        position: absolute;
        position: fixed;
        top: 0px;
        left: 0px;
        width: 100%;
        height: 300px;
        height: 100vh;
        z-index: 99999;
        display: none;
    }

    .mobileMenu {
        margin-top: 100px;
        padding-left: 0;
    }

    .mobileMenu li {
        list-style-type: none;
        display: block;
        text-align: center;
        margin-bottom: 15px;
        margin-top: 15px;
    }

    .mobileMenu li a {
        display: block;
        text-align: center;
        color: White;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: bold;
    }

    .mobileMenu li.mobileMenuButton {
        max-width: 230px;
        line-height: 50px;
        margin-left: auto;
        margin-right: auto;
    }

    .mobileMenu li.mobileMenuButton a {
        background-color: #b06ec6;
        color: White;
    }

    .menuOdd {
        border: 1px solid #336f9d;
    }

    .closeMenu {
        cursor: pointer;
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 10;
        width: 50px;
        height: 50px;
        background-image: url(../pcs/pcs_layout/menu-close.png);
        background-position: center;
        background-repeat: no-repeat;
        z-index: 99;
    }

    .langMenu2 {
        background-color: #0C367F;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding: 5px 7px;
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto;
        width: 155px;
    }

}

@media only screen and (min-width : 1200px) {

    /* schovat */
    .openMenu,
    .mobileMenu {
        display: none !important;
    }

    .xtopMenu {
        display: flex !important;
        position: absolute;
        top: 57px;
        right: 0;
        font-size: 16px;
        z-index: 10;
    }
}