header {
    min-width: 100dvw;
    min-height: 9dvh;
    background-color: rgba(15, 15, 15, 0.4);
    position: fixed;
    box-shadow: 0 0 20px 0 rgba(100, 100, 100, 0.75);
    border-bottom: solid 1px;
    border-color: rgba(81, 81, 81, 0.75);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    width: 100%;
    z-index: 9999;
}

html, body {
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    width: 100%;
    background-color: #000000;
}

.heropage {
    
    min-height: 100dvh;
    min-width: 100dvw;
    display: flex;
    justify-content: center;
    align-content: center;
    max-width: 100%;
    max-height: 100%;
    background-size: cover;
    background-position: center;
    background-image: url(img/background.png);
}

.header-title {
    color: white;
    font-family: Montserrat;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    align-self: center;
}

.logo-icon {
    background-image: url("img/zamek.png");
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

.nav {
    display: flex;
    list-style: none;
    align-self: center;
    justify-content: center;
    gap: 50px;
    flex: 1;
}

.nav-button {
    color: white;
    font-family: Montserrat;
    font-weight: 550;
    padding: 20px;
    text-decoration: none;
    transition: 0.5s;
    border-bottom: 2px solid transparent;
}

.nav-button-selected {
    font-family: Montserrat;
    font-weight: 550;
    padding: 20px;
    text-decoration: none;
    color: #e3980e;
    border-bottom: solid 2px;
}

.nav-button:hover {
    color: #e3980e;
    border-bottom: solid 2px;
}

.facebook {
    background-image: url(img/facebook.png);
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    background-position: right center;
    margin-right: 30px;
    transition: 0.5s;
}

.facebook:hover {
    background-image: url(img/facebook-hover.png);
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    margin-left: 30px;
}

.kontakty-container {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    justify-content: flex-end;
    margin-right: 30px;
    background-position: right center;
}

.call-button {
    color: white;
    font-family: Montserrat;
    font-weight: 550;
    text-decoration: none;
    transition: 0.5s;
}

.call-button:hover {
    color: #e3980e;
}

.call-icon {
    background-image: url(img/telefon.png);
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

.heropage-container-left {
    display: flex;
    justify-content: space-between;
    align-self: center;
    flex: 1;
    margin-left: 100px;
    flex-direction: column;
}

.heropage-title {
    font-family: Montserrat;
    font-size: 3rem;
    font-weight: 600;
    color:white
}

.heropage-podnadpis {
    font-family: Montserrat;
    font-size: 1rem;
    font-weight: 600;
    color:white;
    max-width: 37dvw;
    border-left: solid 4px;
    border-color: #e3980e;
    padding-left: 8px;
}

.zavolat-tlacitko {
    font-family: Montserrat;
    font-size: 1.1rem;
    font-weight: 600;
    color:white;
    background-color: #cf1a1a;
    padding: 1dvw;
    max-width: 10dvw;
    text-align: center;
    border-radius: 10px;
    margin-top: 40px;
    box-shadow: 0 0 50px 0 rgba(255, 0, 0, 0.25);
    transition: 0.5s;
    text-decoration: none;
    display: flex;
    justify-content: center;
    gap: 15px;
}

.zavolat-tlacitko:hover {
    background-color: #e3980e;
    box-shadow: 0 0 50px 0 rgba(227, 152, 14, 0.25);
    scale: 1.05;
}

.info-section {
    min-height: 90dvh;
    min-width: 100dvw;
    background-color: #1c1c1c;
    display: flex;
    justify-content: space-between;
    align-content: center;
    max-width: 100%;
    max-height: 90%;
    flex-direction: column;
    gap:50px;
}

.info-bar {
    margin-top: 50px;
    flex: 1;
    max-width: 100dvw;
    max-height: 15dvh;
    background-color: #232323;
    display: flex;
    justify-content: center;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5);
}

.clock-icon {
    background-image: url(img/clock.png);
    width: 35px;
    height: 35px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
    border-right: solid 4px;
    border-color: #e3980e;
    padding-right: 15px;
}

.location-icon {
    background-image: url(img/location.png);
    width: 35px;
    height: 35px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
    margin-left: 500px;
    border-right: solid 4px;
    border-color: #e3980e;
    padding-right: 10px;
}

.pracovni-dny-list {
    align-self: center;
    list-style: none;
    line-height: 5px;
}

.pracovni-dny-text {
    font-family: Montserrat;
    font-size: 1rem;
    font-weight: 500;
    color:white;
    word-spacing: 15px;
}

.oblast-text {
    font-family: Montserrat;
    font-size: 1rem;
    font-weight: 500;
    color:white;
    align-self: center;
    margin-left: 25px;
}

.reference-uvod {
    font-family: Montserrat;
    font-size: 2rem;
    font-weight: 600;
    color:white;
    align-self: center;
}

.reference-container {
    display: flex;
    justify-content: center;
    align-self: center;
    flex: 1;
    gap: 50px;
}

.reference {
    width: 20dvw;
    height: 35dvh;
    background-image: linear-gradient(to right, #232323, #141414);
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    transition: 0.5s;
}

.reference:hover {
    box-shadow: 0 0 30px 0 rgba(81, 81, 81, 0.5);
    scale: 1.05;
}

.reference-jmeno {
    font-family: Montserrat;
    font-size: 1.5rem;
    font-weight: 600;
    color:white;
    align-self: center;
    border-top: solid 4px;
    border-color: #e3980e;
    padding-top: 5px;
    margin-top: auto;
}

.reference-text {
    font-family: Montserrat;
    font-size: 1rem;
    max-width: 80%;
    font-weight: 500;
    color: white;
    align-self: center;
    text-align: center;
}

.star-container {
    display: flex;
    justify-content: center;
    margin-bottom: auto;
    padding-top: 25px;
}

.star {
    background-image: url(img/star.png);
    width: 35px;
    height: 35px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

footer {
    background-color: #111111;
    min-width: 100dvw;
    min-height: 15dvh;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.horizontal-footer {
    display: flex;
    justify-content: center;
    gap: 50px;
    align-self: center;
}

.footer-kontakty {
    font-size: 0.9rem;
    font-family: Montserrat;
    list-style: none;
    color: white;
    align-self: center;
    line-height: 1.5;
}

.footer-odkazy {
    font-size: 0.9rem;
    font-family: Montserrat;
    color: white;
    transition: 0.25s;
    text-align: center;
    align-self: center;
}

.footer-odkazy:hover {
    color:#e3980e;
}

.footer-list {
    list-style: none;
    padding: 0;
    align-self: center;
}

.footer-list2 {
    list-style: none;
    padding: 0;
    align-self: center;
}

.footer-line {    
    width: 1px;
    height: 10dvh;
    background-color: #e3980e;
    align-self: center;
}

.footer-line2 {
    width: 1px;
    height: 10dvh;
    background-color: #e3980e;
    align-self: center;
}

.copyright-text {
    font-size: 0.9rem;
    font-family: Montserrat;
    list-style: none;
    color: white;
    align-self: center;
    margin: 0;
    margin-bottom: 10px;
}

.sluzby {
    min-height: 85dvh;
    min-width: 100dvw;
    background-color: #1c1c1c;
    display: flex;
    justify-content: center;
    align-content: center;
    max-width: 100%;
    max-height: 85%;
    gap:50px;
}

.sluzby-container {
    display: flex;
    justify-content: center;
    align-self: center;
    flex: 1;
    gap: 50px;
}

.sluzby-box {
    width: 25dvw;
    height: 35dvh;
    background-image: linear-gradient(to right, #232323, #141414);
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    transition: 0.5s;
    align-self: center;
}

.sluzby-box:hover {
    box-shadow: 0 0 30px 0 rgba(81, 81, 81, 0.5);
    scale: 1.05;
}

.sluzby-nazev {
    font-family: Montserrat;
    font-size: 1.5rem;
    font-weight: 600;
    color:white;
    align-self: center;
    border-bottom: solid 4px;
    border-color: #e3980e;
    padding-bottom: 5px;
    margin-bottom: auto;
}

.sluzby-text {
    font-family: Montserrat;
    font-size: 1rem;
    font-weight: 500;
    color: white;
    align-self: center;
    margin: auto;
}

.sluzby-list {
    align-self: center;
    list-style: none;
    padding: 0;
    margin-bottom: auto;
    line-height: 2;
}

.mapy {
    align-self: center;
    border-radius: 5px;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5);
}

.kontakty-box-container {
    display: flex;
    justify-content: center;
    align-self: center;
    flex-direction: column;
    gap: 10px;
}

.kontakty-box {
    width: 25dvw;
    height: 10dvh;
    background-image: linear-gradient(to right, #232323, #141414);
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    display: flex;
    justify-content: center;
    transition: 0.5s;
    align-self: center;
    gap: 10px;
}

.kontakty-text {
    font-family: Montserrat;
    font-size: 1.3rem;
    font-weight: 500;
    color: white;
    align-self: center;
}

.mail-icon {
    background-image: url(img/mail.png);
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

.adresa-icon {
    background-image: url(img/home.png);
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

.obchod-icon {
    background-image: url(img/office.png);
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

.call-icon2 {
    background-image: url(img/telefon.png);
    width: 25px;
    height: 25px;
    background-size: contain;
    background-repeat: no-repeat;
    display: block;
    align-self: center;
}

.kontakty {
    min-height: 85dvh;
    min-width: 100dvw;
    background-color: #1c1c1c;
    display: flex;
    justify-content: center;
    align-content: center;
    max-width: 100%;
    max-height: 85%;
    gap:50px;
}

.mobile-menu-box {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: rgba(40, 40, 40, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    transition: 0.5s;
}

.mobile-menu-box-active {
    background-color: #e3980e;
}

.mobile-menu-icon {
    background-image: url('img/menu.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 35px;
    height: 35px;
}

.mobile-menu {
    width: 45dvw;
    height: 100%;
    background-color: #232323;
    position: fixed;
    transform: translateX(-100%);
    top: 0;
    z-index: 9999;
    transition: 0.5s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.mobile-menu-active {
    transform: translateX(0);
}

.nav-button-mobile {
    color: white;
    font-family: Montserrat;
    font-weight: 550;
    padding: 20px;
    text-decoration: none;
    transition: 0.5s;
    text-align: center;
    font-size: 2rem;
    align-self: center;
}

.nav-button-mobile-selected {
    color: #e3980e;
    font-family: Montserrat;
    font-weight: 550;
    padding: 20px;
    text-decoration: none;
    transition: 0.5s;
    text-align: center;
    font-size: 2rem;
    align-self: center;
}

.nav-title-mobile {
    color: white;
    font-family: Montserrat;
    font-weight: 600;
    font-size: 2.25rem;
    text-align: center;
    flex: 0;
}

.nav-button-container-mobile {
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex: 1;
    align-self: center;
}

.info-firma-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nouzove-otevirani {
    font-family: Montserrat;
    font-size: 0.9rem;
    font-weight: 500;
    color:white;
    align-self: center;
    margin-left: 20px;
}


@media screen and (max-width: 1600px) {
    .nav-button {
    padding: 10px;
    }
    
    .nav-button-selected {
        padding: 10px;
    }
    
    .zavolat-tlacitko {
        max-width: 14dvw;
    }
    
    .pracovni-dny-text {
    font-size: 0.8rem;
    }
    
    .info-bar {
        max-height: 20dvh;
    }
    
    .reference {
        height: 50dvh;
        margin-bottom: 5dvh;
    }
    
    .reference-jmeno {
        font-size: 1rem;
    }
    
    .reference-text {
        font-size: 0.9rem;
    }
    
    .sluzby-box {
        height: 45dvh;
    }
    
    .kontakty-text {
        font-size: 1rem;
    }
    
    .kontakty-box {
    width: 30dvw;
    }
    
    .mapy {
        width: 27dvw;
        height: 45dvh;
    }
}

@media screen and (max-width: 1200px) {
    .zavolat-tlacitko {
        max-width: 20dvw;
        padding: 2dvw;
    }
    
    .location-icon {
        margin-left: 100px;
    }
    
    .reference {
        width: 25dvw;
    }
    
    .footer-kontakty {
        font-size: 0.85rem;
    }
    
    .footer-odkazy {
        font-size: 0.85rem;
    }
    
    .copyright-text {
        font-size: 0.85rem;
    }
    
    .sluzby-box {
        height: 50dvh;
        width: 26dvw;
        margin-top: 10dvh;
    }
    
    .sluzby-nazev {
        font-size: 1.1rem;
    }
    
    .sluzby-text {
        font-size: 0.9rem;
    }
    
    .mapy {
        margin-top: 10dvh;
    }
    
    .kontakty-box-container {
        margin-top: 10dvh;
    }
    
    .nav-button {
    padding: 15px;
    }
    
    .nav-button-selected {
    padding: 15px;
    }

        
    @media screen and (max-width: 1024px) {
        
        .zavolat-tlacitko {
            max-width: 35dvw;
            padding: 3dvh;
            font-size: 1.8rem;
        }
        
        .call-icon2 {
            width: 35px;
            height: 35px;
        }
        
        .heropage-podnadpis {
            font-size: 1.9rem;
            max-width: 60dvw;
        }
            
        .pracovni-dny-text {
            font-size: 1.1rem;
        }
        
        .oblast-text {
            font-size: 1.1rem;
        }
        
        .location-icon {
            margin-left: 5px;
        }
        
        .reference-uvod {
            font-size: 2.5rem;
        }
        
        .reference {
            width: 45dvw;
            height: 45dvh;
        }
        
        .reference-jmeno {
            font-size: 2rem;
        }
        
        .reference-text {
            font-size: 1.5rem;
        }
        
        .reference-container {
            flex-direction: column;
        }
        
        .star {
            width: 50px;
            height: 50px;
        }
        
        .sluzby-container {
            flex-direction: column;
            gap: 10px
        }
        
        .sluzby-box {
            width: 50dvw;
            height: 50dvh;
        }
        
        .sluzby-nazev {
            font-size: 2.25rem;
        }
        
        .sluzby-text {
            font-size: 1.5rem;
        }
        
        .sluzby {
            gap: 10px;
            max-height: 200%;
            min-height: 200dvh;
        }
        
        .kontakty {
            flex-direction: column;
        }
        
        .kontakty-box-container {
            margin-top: 0;
            gap: 2dvw;
        }
        
        .kontakty-box {
            height: 6dvh;
            width: 60dvw;
        }
        
        .mapy {
            width: 70dvw;
            height: 35dvh;
        }
        
        .kontakty-text {
            font-size: 1.6rem;
        }
        
        header {
            display: none;
        }
        
        .mobile-menu-box {
            display: flex;
        }
    }
    
    @media screen and (max-width: 950px) {
        .zavolat-tlacitko {
            min-width: 50dvw;
        }
        
        .pracovni-dny-text {
            font-size: 0.9rem;
        }
        
        .oblast-text {
            font-size: 0.9rem;
        }
        
        .heropage-container-left {
            margin: auto;
            flex: 0;
            margin-left: auto;
            justify-content: center;
            align-items: center;
        }
        
        .location-icon {
            margin-left: 5px;
        }
        
        .mobile-menu {
            width: 50dvw;
        }
        
        
        .horizontal-footer {
            flex-direction: column;
            gap: 20px;
        }
        
        .footer-list2 {
            display: none;
        }
        
        .footer-odkazy {
            display: none;
        }
        
        .footer-line2 {
            display: none;
        }
        
        .footer-line {
            width: 80dvw;
            height: 1px;
        }
        
        .copyright-text {
            font-size: 0.9rem;
        }
        
        footer-list {
            margin: auto;
        }
        
        .footer-kontakty {
            font-size: 1rem;
        }
        
        .sluzby-nazev {
            font-size: 1.7rem;
        }
        
        .sluzby-text {
            font-size: 1.25rem;
        }
        
        .sluzby-box {
            height: 40dvh;
        }
        
        .sluzby {
            min-height: 170dvh;
            max-height: 170%;
        }
        
        .kontakty-box-container {
            gap: 5px;
        }
        
        .kontakty-box {
            height: 6dvh;
            width: 50dvw;
            margin-bottom: 10px;
        }
        
        .kontakty-text {
            font-size: 1rem;
        }
        
        .reference-text {
            font-size: 1.1rem;
        }
    }
    
    @media screen and (max-width: 869px) {
        .reference-text {
            font-size: 1.1rem;
        }
        
        .info-bar {
            flex-direction: column;
            max-height: 40dvh;
        }
        
        .clock-icon {
            border-right: none;
            border-bottom: solid 4px;
            border-color: #e3980e;
            padding-right: 0;
            padding-bottom: 10px;
            margin-top: 15px;
            width: 30px;
            height: 30px;
        }
        
        .location-icon {
            margin-left: 0;
            border-right: none;
            border-bottom: solid 4px;
            border-color: #e3980e;
            padding-right: 0;
            padding-bottom: 10px;
            width: 30px;
            height: 30px;
        }
        
        .pracovni-dny-list {
            padding: 0;
        }
        
        .nouzove-otevirani {
            margin-left: 0;
            margin: 0;
            margin-bottom: 25px;
        }
        
        .pracovni-dny-text {
            align-self: center;
            font-size: 0.9rem;
        }
        
        .oblast-text {
            align-self: center;
            font-size: 0.9rem;
        }
        
        .mobile-menu {
            width: 60dvw;
        }
    }
    
    @media screen and (max-width: 700px) {
        .mobile-menu {
            width: 80dvw;
        }
        
        .heropage-title {
            font-size: 2rem;
            min-width: 85dvw;
            text-align: center;
        }
        
        .heropage-podnadpis {
            font-size: 1rem;
            max-width: 75dvw;
        }
        
        .zavolat-tlacitko {
            padding: 2.5dvh;
            min-width: 60dvw;
            font-size: 1.25rem;
            align-self: center;
            gap: 20px;
        }
        
        .call-icon2 {
            width: 25px;
            height: 25px;
        }
        
        .reference-uvod {
            font-size: 1.5rem;
        }
        
        .reference {
            width: 85dvw;
            height: 45dvh;
        }
        
        .sluzby-box {
            width: 85dvw;
            height: 45dvh;
        }
        
        .sluzby {
            min-height: 220vdh;
            height: 220%;
        }
        
        .kontakty-text {
            font-size: 0.9rem;
        }
        
        .copyright-text {
            font-size: 0.9rem;
        }
        
        .footer-kontakty {
            font-size: 0.9rem;
        }
        
        .horizontal-footer {
            height: 35dvh;
        }
        
        footer {
            min-height: 35dvh;
        }
        
        .star {
            width: 45px;
            height: 45px;
        }
        
        .kontakty-box-container {
            gap: 2px;
        }
        
        .kontakty-box {
            height: 6dvh;
            width: 70dvw;
        }
    }
    
    @media screen and (max-width: 480px) {
        .kontakty-box {
            height: 6dvh;
            width: 80dvw;
        }
    }
    
    @media screen and (max-width: 420px) {
        .info-bar {
            max-height: 50dvh;
        }
        
        .footer-kontakty {
            font-size: 0.75rem;
        }
        
        .copyright-text {
            font-size: 0.7rem;
        }
        
        .reference-text {
            font-size: 0.9rem;
        }
        
        .reference-jmeno {
            font-size: 1.5rem;
        }
        
        .star {
            width: 40px;
            height: 40px;
        }
        
        .sluzby-box {
            width: 85dvw;
            height: 40dvh;
        }
        
        .sluzby-nazev {
            font-size: 1.25rem;
        }
        
        .sluzby-text {
            font-size: 1rem;
        }
        
        sluzby {
            height: 300dvh;
            min-height: 300%;
        }
        
        .kontakty-text {
            font-size: 0.7rem;
        }
        
        .kontakty-box {
            height: 7dvh;
            width: 90dvw;
        }
        
        .kontakty-box-container {
            margin-bottom: 15px;
        }
    }
}
