@media (min-width: 1800px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1640px;
    }
}

:root {
    --bs-body-font-family: "Roboto", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --bs-heading-font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --bs-subheading-font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --primary-color: #F25E2A;
    --primary-color-rgb: rgb(242, 94, 42);
    --hd-secondary: #282E36;
    --color-grey-dark: #79889C;
    --color-grey: #BFC6D0;
    --color-grey-lighter: #DFE2E7;
    --color-grey-light: #F5F6F8;
    --bs-body-font-size: 18px;

    --bs-btn-bg: #F25E2A;

    --bs-link-color-rgb: rgb(242, 94, 42);
    --bs-link-color: #F25E2A;
    --bs-link-hover-color: #F25E2A;

    font-size: var(--bs-body-font-size);    

    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 400;    
}

body {
    overflow-x: hidden;
}

.container {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

[data-bs-theme="dark"]{
    --bs-body-bg: #16191D;
    --bs-body-color: #fefefe;
    --bs-gutter-x: 2.5rem;
}

a, a:visited, a:hover, a:active {
  color: var(--primary-color);
  text-decoration: underline;
}

.btn {
  font-family: var(--bs-body-font-family);
  font-weight: 700;
  text-transform: uppercase;
  border-radius: 4px;
}

.btn-lg {
    --bs-btn-padding-y: 0.75rem;
    --bs-btn-padding-x: 2.5rem;
    --bs-btn-font-size: 1.65rem;
    transition: transform 0.2s ease-in-out;
    line-height: 1.1;
}

.btn-lg:hover {
    transform: scale(1.05);
    text-decoration: none;
}


.btn-primary {
  --bs-btn-hover-bg: var(--primary-color);
  --bs-btn-hover-border-color: var(--primary-color);
  --bs-btn-focus-shadow-rgb: var(--primary-color-rgb);
  --bs-btn-active-bg: var(--primary-color);
  --bs-btn-active-border-color: var(--primary-color);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-bg: var(--primary-color);
  --bs-btn-disabled-border-color: var(--primary-color);
  --bs-btn-bg: var(--primary-color);
  --bs-btn-border-color: var(--primary-color);
}

.btn-primary:visited { color: white; }

.btn-dark {
    background: #070708;
    box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.15);
}

.btn-dark:hover, .btn-dark:focus, .btn-dark:active, .btn-dark:visited {
    background: #070708;
    box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.30);
    text-decoration: none;
    color: white;
}


/* Headings */
h1, h2 {
    font-family: var(--bs-heading-font-family);
    font-weight: 700;
    line-height: 1 !important;
    text-transform: uppercase;
}

h3, h4, h5, h6 {
    font-family: var(--bs-subheading-font-family);
    font-weight: 700;
    line-height: 1.15 !important;
    text-transform: uppercase;
}

h2 {
    font-size: calc(1.625rem + 2.5vw);
    margin-bottom: 1.5rem;
    text-align: center;
    position: relative;
    
    @media (min-width: 556px) {
        font-size: 2.5rem;
    }

    @media (min-width: 1200px) {
        font-size: 3rem;
    }

    &::before, &::after {
        content: '/';
        color: var(--primary-color);
        display: block;
        font-size: 65%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);

        @media (min-width: 990px) {
            position: relative;
            display: inline-block;
            transform: translateY(-20%);
        }        
    }

    &::before {
        left: 0px;

        @media (min-width: 990px) {
            margin-right: 40px;
            left: unset;
        }
    }
    &::after {
        right: 0px;

        @media (min-width: 990px) {
            margin-left: 40px;
            right: unset;
        }        
    }    
}

.bg-section-lighter {
    h2 {
        margin-bottom: 45px;
    }
}

.bg-section-white {
    h2 {
        margin-bottom: 60px;
    }
}

.bg-section-vstupenky {
    h2 {
        color: var(--bs-body-bg);
        margin-bottom: 15px;
        margin-top: 10px;

        &::before, &::after {
            color: var(--bs-body-color);
        }
    }
}

/* Layout */
.navbar {
    margin-bottom: 1rem;
    z-index: 5;
}

.navbar-nav {
    .nav-link {
        font-weight: 700;
        text-transform: uppercase;
        color: var(--bs-body-color);
    }

    .nav-item {
        margin-top: 0.5rem;
        position: relative;

        @media (min-width: 990px) {
            margin-top: unset;
            margin-left: 2rem;
        }

        &::before {
            @media (min-width: 990px) {
                content: '/';
                display: block;
                position: absolute;
                left: -1.25rem;
                top: 50%;
                transform: translateY(-52%);
                font-weight: 700;
                color: var(--primary-color);
            }
        }

        &:first-child::before {
            @media (min-width: 990px) {
                display: none;
            }
        }        
    }

    .nav-item-btn {
        background-color: var(--primary-color);
        color: var(--bs-body-color);
        border-radius: 3px;
        padding-left: .55rem;
        padding-right: .55rem;

        @media (min-width: 990px) {
            margin-left: 3rem;
        }

        &::before {
            @media (min-width: 990px) {
                left: -2.25rem;
            }
        }    
    }  
}

.hero {
  position: relative;
  /*height: 100vh;*/
  min-height: 100vh;
  padding-top: 2rem;
}

.solo-video {
  position: absolute;
  height: 100%;
  width: 100%;
}

.bg-video-container {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.bg-video-container::after {
    background: linear-gradient(0deg,rgba(22, 25, 29, 1) 0%, rgba(22, 25, 29, 0) 100%);
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 500px;
    bottom: 0;
    left: 0;
}

.bg-video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.bg-section {
    padding-bottom: 1rem;
}

.bg-section-lighter {
    background-color: var(--color-grey-lighter);
    color: var(--bs-body-bg);
    position: relative;
    margin-top: 10rem;

    &::before {
        content: "";
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='100'%3E%3Cpath fill='%23DFE2E7' d='M0 100 1920 0v100Z' data-name='Path 582'/%3E%3C/svg%3E");
        background-position: bottom center;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        bottom: 99.9%;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: auto;
        z-index: 1;
        aspect-ratio: 18;
    }

    &::after {
        content: "";
        display: block;
        width: 100vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background: var(--color-grey-lighter);
        z-index: -2;     
        height: 100%;
        top: 0;
    }
}

.bg-section-light {
    background-color: var(--color-grey-light);
    color: var(--bs-body-bg);
    position: relative;
    padding-bottom: 4rem;

    &::before {
        content: "";
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='100'%3E%3Cpath fill='%23F5F6F8' d='M0 100 1920 0v100Z' data-name='Path 582'/%3E%3C/svg%3E");
        background-position: bottom center;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        bottom: 99.9%;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: auto;
        z-index: 1;
        aspect-ratio: 18;
    }

    &::after {
        content: "";
        display: block;
        width: 100vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background: var(--color-grey-light);
        z-index: -2;     
        height: 100%;
        top: 0;
    }
}

.bg-section-white {
    background-color: #fff;
    color: var(--bs-body-bg);
    position: relative;
    margin-top: 0rem;
    padding-bottom: 4rem;

    &::before {
        content: "";
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='100'%3E%3Cpath fill='%23ffffff' d='M0 100 1920 0v100Z' data-name='Path 582'/%3E%3C/svg%3E");
        background-position: bottom center;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        bottom: 99.9%;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: auto;
        z-index: 1;
        aspect-ratio: 18;
    }

    &::after {
        content: "";
        display: block;
        width: 100vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background: #fff;
        z-index: -2;     
        height: 100%;
        top: 0;
    }
}

.bg-section-white {
    background-color: #fff;
    color: var(--bs-body-bg);
    position: relative;
    margin-top: 0rem;

    &::before {
        content: "";
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='100'%3E%3Cpath fill='%23ffffff' d='M0 100 1920 0v100Z' data-name='Path 582'/%3E%3C/svg%3E");
        background-position: bottom center;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        bottom: 99.8%;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: auto;
        z-index: 1;
        aspect-ratio: 18;
    }

    &::after {
        content: "";
        display: block;
        width: 100vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background: #fff;
        z-index: -2;     
        height: 100%;
        top: 0;
    }
}

.bg-section-vstupenky {
    position: relative;
    padding-top: 5rem;
    padding-bottom: 4rem;

    &::before {
        content: "";
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='100'%3E%3Cpath fill='%23dfe2e7' d='M0 100 1920 0H0Z' data-name='Path 583'/%3E%3C/svg%3E");
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        top: -1px;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: auto;
        z-index: 1;
        aspect-ratio: 18;
    }

    &::after {
        content: "";
        display: block;
        width: 100vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background-color: var(--primary-color);
        background-image: url("images/bg-vstupenky.webp");
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -2;     
        height: 100%;
        top: 0;
    }    
}

.bg-section-zrejvy {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 0;
    margin-bottom: -10rem;

    &::before {
        content: "";
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1920' height='100'%3E%3Cpath fill='%2316191d' d='M0 100 1920 0H0Z' data-name='Path 583'/%3E%3C/svg%3E");
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        display: block;
        position: absolute;
        top: -1px;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        height: auto;
        z-index: 1;
        aspect-ratio: 18;
    }

    &::after {
        content: "";
        display: block;
        width: 100vw;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background-color: var(--primary-color);
        background-image: url("images/background-zrejvy.jpg");
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -2;     
        height: 100%;
        top: 0;
    }   
    

    .zrejvy-muzikant {
        position: relative;
    }

    .muzikant-img-zrejvy {
       margin-top: -4rem; 

        @media (min-width: 768px) { 
            margin-top: -1rem;
        }          
    }

    .muzikant-info.zrejvy {
        text-align: center;
        width: 100%;
        padding: 0;
        margin: 0;
        left: 0;
        bottom: 5rem;

        .muzikant-name {
            margin-bottom: 5px !important;
            font-size: 40px !important;
        }    
    }

    .unikat-info {
        text-align: center;
        margin-bottom: 3rem;
        margin-left: 20px;

        @media (max-width: 768px) { 
            margin-top: 0;
        }   

        @media (min-width: 768px) { 
            margin-bottom: 7rem;
        }   


        img, svg {
            margin-bottom: 30px;
        }

        .btn {
            margin-right: 10px;
        }
    }
    
}

.centered {
    top: 50%;
    transform: translateY(-50%);
}

.hero-container {
    position: relative;
    margin-bottom: 3rem;
    margin-top: 4rem;
    
    .hero-promo {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.3;
        margin: 20px auto;
        text-transform: uppercase;
        
        strong {
            display: inline-block;
            margin-left: 5px;
            margin-right: 5px;
            color: var(--primary-color);
        }        
    }

    .hd-logo-large {
        margin-bottom: 20px;

         @media (min-width: 768px) { 
            margin-bottom: 40px;
        }
    }

    .hero-countdown {
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 25px;

        @media (min-width: 768px) { 
            margin-bottom: 45px;
            margin-top: 15px;
            font-size: 24px;
        }

        big {
            font-size: 130%;
            color: var(--primary-color);            
        }
    }

    .hero-datetime {
        font-size: 60px;
        font-weight: 700;
        line-height: 1.3;
        margin: 20px auto 0;

        @media (min-width: 768px) { 
            font-size: 88px;
            margin: 40px auto 0;
        }

        strong {
            font-weight: 400;
            color: var(--primary-color);
        }
    }

    .hero-location {
        font-size: 16px;
        font-weight: 700;
        margin: 0px auto 20px;

        @media (min-width: 768px) { 
            font-size: 22px;
        }        
    }

    .hero-cta {
        font-size: 14px;
        line-height: 1.35;

        @media (min-width: 768px) { 
            font-size: 16px;
        }
    }
}

/* Content styles */
.hd-logo {
    width: 97px;
    height: 50px;

    display: block;
    
    text-indent: -9999px;
    
    position: relative;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='125.433' height='65'%3E%3Cg data-name='Group 554'%3E%3Cpath fill='%23fff' d='M55.918 38.456a12.353 12.353 0 0 0-11.105 12.151 10.14 10.14 0 0 0 11.105 10.332 12.353 12.353 0 0 0 11.106-12.15 10.142 10.142 0 0 0-11.106-10.333m0 20.669a8.5 8.5 0 0 1-9.313-8.665 10.36 10.36 0 0 1 9.313-10.189 8.506 8.506 0 0 1 9.313 8.664 10.36 10.36 0 0 1-9.313 10.19' data-name='Path 511'/%3E%3Cpath fill='%23fff' d='m62.475 49.002 1.483-1.021-2.911-4.572-2 .11 1.515 2.415-1.478 1.021-3.231-5.2-3.139 5.622-1.336-.7 1.031-1.826-.314-1.044-1.169.265-2.98 5.274 1.482.779 1.058-1.875 1.344.71-3.072 5.5 6.3-.515v1.557l-2.112.173v1.751l5.795-.474v-1.75l-1.954.16v-1.566l6.231-.51-3.045-4.9 1.48-1.024Zm-10.341 3.355 3.752-6.883 3.885 6.258Z' data-name='Path 512'/%3E%3Cpath fill='%23fff' d='m4.565 14.163-4.564.374v25.411l4.564-.374Z' data-name='Path 513'/%3E%3Cpath fill='%23fff' d='m11.412 39.016 4.564-.374v-25.41l-4.564.374v10.4l-6.023.493v4.62l6.023-.493Z' data-name='Path 514'/%3E%3Cpath fill='%23fff' d='M34.044 29.643V11.738l-4.564.374v17.905a3.45 3.45 0 0 1-3.01 3.113v4.632a8.56 8.56 0 0 0 7.574-8.119' data-name='Path 515'/%3E%3Cpath fill='%23fff' d='M25.645 37.828v-4.632a2.817 2.817 0 0 1-3.013-2.62V12.671l-4.564.374V30.95c0 4.016 3.357 7.022 7.577 6.878' data-name='Path 516'/%3E%3Cpath fill='%23fff' d='m39.284 36.714 4.564-.374V16.383l-4.564.374Z' data-name='Path 517'/%3E%3Cpath fill='%23fff' d='m48.216 10.574-13.293 1.088v4.612l13.293-1.088Z' data-name='Path 518'/%3E%3Cpath fill='%23fff' d='M65.154 34.616 54.107 10.11l-4.929.4c3.689 8.224 7.331 16.261 11.047 24.506Z' data-name='Path 519'/%3E%3Cpath fill='%23fff' d='m53.742 22.765-4.567-10.127v23.29l4.564-.374Z' data-name='Path 520'/%3E%3Cpath fill='%23fff' d='m65.152 9.207-4.564.374v12.835l4.564 10.125Z' data-name='Path 521'/%3E%3Cpath fill='%23fff' d='m73.613 13.966-4.567.374v15.338l-2.281.187v4.62l9.129-.747v-4.62l-2.281.187Z' data-name='Path 522'/%3E%3Cpath fill='%23fff' d='m66.765 13.696 9.129-.747v-4.62l-9.129.747Z' data-name='Path 523'/%3E%3Cpath fill='%23fff' d='M85.008 32.981v-4.646c-5.789-.41-5.789-14.723 0-16.083V7.605c-11.865 1.717-11.865 25.601 0 25.376' data-name='Path 524'/%3E%3Cpath fill='%23fff' d='M85.832 7.525v4.625c2.17-.039 3.582 1.807 4.237 4.264l4.662-.382c-.932-4.85-3.898-8.783-8.899-8.507' data-name='Path 525'/%3E%3Cpath fill='%23fff' d='M85.832 28.307v4.625c5-.546 7.967-4.962 8.9-9.967l-4.662.382c-.656 2.56-2.069 4.64-4.238 4.96' data-name='Path 526'/%3E%3Cpath fill='%23fff' d='m102.093 22.009 4.91 9.182 4.9-.4-7.01-13.111Z' data-name='Path 527'/%3E%3Cpath fill='%23fff' d='m120.479 4.656-2.583 6.167 2.476 5.509 5.062-12.081Z' data-name='Path 528'/%3E%3Cpath fill='%23fff' d='m109.458 5.558.01.023-3.021.247-5.951 9.2V6.315l-4.564.374v25.413l4.564-.374v-8.712l9.5-14.673.424-.656 4.945 10.995v11.806l4.564-.374V17.408l-5.512-12.255Z' data-name='Path 529'/%3E%3Cpath fill='%23fff' d='m121.319 1.045-2.093-1.047-2.98 5.469 1.048.521Z' data-name='Path 530'/%3E%3Cpath fill='%23fff' d='m6.74 43.007-2.193.18v3.9l2.193-.18c1.6-.131 2.889 2.819 2.889 6.587s-1.294 6.929-2.889 7.06l-2.193.179v3.9l2.193-.18c3.722-.3 6.74-5.353 6.74-11.273s-3.021-10.477-6.74-10.173' data-name='Path 531'/%3E%3Cpath fill='%23fff' d='m0 65 3.851-.315V43.244L0 43.559Z' data-name='Path 532'/%3E%3Cpath fill='%23fff' d='m19.151 45.889 8.934-.731v-3.9l-8.934.731Z' data-name='Path 533'/%3E%3Cpath fill='%23fff' d='m19.151 63.438 8.934-.731v-3.9l-8.934.731Z' data-name='Path 534'/%3E%3Cpath fill='%23fff' d='m14.603 63.803 3.851-.315V42.047l-3.851.315Z' data-name='Path 535'/%3E%3Cpath fill='%23fff' d='m24.231 50.347-5.082.416v3.9l5.082-.416Z' data-name='Path 536'/%3E%3Cpath fill='%23fff' d='M29.216 41.165c3.112 6.939 6.186 13.721 9.322 20.679l4.159-.34-9.322-20.679Z' data-name='Path 537'/%3E%3Cpath fill='%23fff' d='m42.694 40.063-3.851.315v10.833l3.851 8.544Z' data-name='Path 538'/%3E%3Cpath fill='%23fff' d='m29.216 62.61 3.851-.315V51.503l-3.851-8.545Z' data-name='Path 539'/%3E%3Cpath fill='%23f25e2a' d='m68.357 59.406 13.479-1.1v-3.9l-13.479 1.1Z' data-name='Path 540'/%3E%3Cpath fill='%23f25e2a' d='M77.983 43.509c0 3.849-9.173 1.913-9.61 11.292l3.861-.316c.564-6.925 9.6-3.052 9.6-11.291a5.91 5.91 0 0 0-6.392-5.8v3.909a2.377 2.377 0 0 1 2.541 2.206' data-name='Path 541'/%3E%3Cpath fill='%23f25e2a' d='M74.749 41.355v-3.909a7.22 7.22 0 0 0-6.391 6.85l3.851-.315a2.915 2.915 0 0 1 2.54-2.626' data-name='Path 542'/%3E%3Cpath fill='%23f25e2a' d='M89.619 36.236v3.934c1.433.287 2.542 3.076 2.542 6.565s-1.111 6.458-2.542 6.982v3.934c3.561-.581 6.393-5.5 6.393-11.231s-2.836-10.187-6.393-10.184' data-name='Path 543'/%3E%3Cpath fill='%23f25e2a' d='M82.532 47.524c0 5.736 2.832 10.186 6.394 10.183v-3.932c-1.433-.29-2.542-3.076-2.542-6.565s1.111-6.46 2.542-6.982v-3.934c-3.562.578-6.394 5.494-6.394 11.23' data-name='Path 544'/%3E%3Cpath fill='%23f25e2a' d='m96.807 57.077 13.479-1.1v-3.9l-13.479 1.1Z' data-name='Path 545'/%3E%3Cpath fill='%23f25e2a' d='M103.199 39.027v-3.909a7.22 7.22 0 0 0-6.392 6.85l3.852-.315a2.915 2.915 0 0 1 2.54-2.626' data-name='Path 546'/%3E%3Cpath fill='%23f25e2a' d='M106.433 41.18c0 3.849-9.173 1.913-9.61 11.292l3.861-.316c.564-6.925 9.6-3.052 9.6-11.291a5.91 5.91 0 0 0-6.391-5.8v3.908a2.377 2.377 0 0 1 2.54 2.207' data-name='Path 547'/%3E%3Cpath fill='%23f25e2a' d='m121.057 39.983 3.851-.315a5.91 5.91 0 0 0-6.393-5.8v3.908a2.38 2.38 0 0 1 2.542 2.207' data-name='Path 548'/%3E%3Cpath fill='%23f25e2a' d='M111.427 40.77v8.771a5.91 5.91 0 0 0 6.392 5.8v-3.907a2.377 2.377 0 0 1-2.54-2.211 2.91 2.91 0 0 1 2.54-2.626v-3.909a7.5 7.5 0 0 0-2.54.809V40.45a2.91 2.91 0 0 1 2.54-2.627v-3.909a7.22 7.22 0 0 0-6.392 6.856' data-name='Path 549'/%3E%3Cpath fill='%23f25e2a' d='M118.515 42.637v3.908a2.38 2.38 0 0 1 2.542 2.211 2.91 2.91 0 0 1-2.542 2.627v3.909a7.22 7.22 0 0 0 6.393-6.85 5.91 5.91 0 0 0-6.393-5.805' data-name='Path 550'/%3E%3C/g%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    
    @media (min-width: 768px) { 
        width: 126px;
        height: 65px;
    }         
}

/* Muizkanti */
.col-muzikant {
    position: relative;

    img {
        border-radius: 1px;
        width: 100%;
        height: auto;
        object-fit: cover;
    }
}

.muzikant-info {
    position: absolute;
    padding: 25px;
    bottom: 0;
    width: calc(100% - 50px);

    @media (min-width: 1800px) { 
        padding: 35px;
        width: calc(100% - 70px);
    }

    .muzikant-name {
        font-size: 30px;
        font-weight: 700;
        text-transform: uppercase;
        margin-bottom: 25px;

        @media (min-width: 768px) { 
            font-size: 24px;
        } 

        @media (min-width: 1200px) { 
            font-size: 28px;
        }

        @media (min-width: 1400px) { 
            font-size: 24px;
        }            
        @media (min-width: 1800px) { 
            font-size: 30px;
        }            
    }

    .muzikant-time {
        font-size: 24px;
        font-weight: 700;
        color: var(--primary-color);
    }
    .muzikant-venue {
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 3px;
        color: var(--color-grey);
        text-transform: uppercase;
    }
}

.muzikant-label,
.zabava-label {
    background: var(--primary-color);
    color: #fff;

    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
    max-width: 220px;
    line-height: 1.2;
}

.muzikant-label {
    font-size: 15px;
    padding: 8px 10px 8px 30px;
    margin-left: -30px;
    margin-bottom: 15px;
}
.zabava-label {
    position: absolute;
    right: 0;
    top: 40px;

    padding: 10px 40px 10px 20px; 
}

/* Zabava */
.zabava-item {
    margin-bottom: 50px;

    @media (min-width: 990px) { 
        display: flex;
    }
}

.row + .zabava-item {
    @media (min-width: 990px) { 
        margin-top: 10px;
    }
}

.zabava-item + .zabava-item {
    @media (min-width: 990px) { 
        margin-top: 50px;  
    }
}

.zabava-img {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;

    @media (min-width: 990px) { 
        width: unset;
        flex-basis: 50%;
        left: unset;
        transform: unset;
    }

    @media (min-width: 1200px) { 
        flex-basis: 65%;
    }

    img {
        @media (min-width: 990px) {
            object-fit: cover;
            position: absolute;
            height: 100%;
            width: auto;            
        }

        @media (min-width: 1200px) {
            object-fit: cover;
            width: 100%;
            height: 100%;
            position: relative;            
        }
    }

    img.agel {
        object-position: left center;
    }
}

.zabava-info {
    position: relative;
    background: var(--bs-body-color);
    padding: 25px 30px 30px 30px;
    margin-top: -40px;
    z-index: 2;

    @media (min-width: 990px) {
        align-self: center;
        margin-top: 40px;
        margin-bottom: 40px;
        margin-left: -60px;
        flex-basis: calc(50% + 40px);
    }    

    @media (min-width: 1200px) {
        padding: 50px;
        margin-left: -70px;
        flex-basis: calc(45% + 70px);
    }

    @media (min-width: 1800px) {
        margin-top: unset;
        margin-bottom: unset;
    }    

    .zabava-name {
        font-size: 28px;
        margin-bottom: 15px;

        @media (min-width: 1200px) {
            font-size: 32px;
        }   
    }

    .zabava-venue {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: 3px;
        color: var(--primary-color);
        text-transform: uppercase;
        margin-bottom: 5px;
    }

    .zabava-description {
        font-size: 20px;
        font-weight: 600;
    }

    .zabava-note {
        font-size: 16px;
        font-weight: 400;
        color: #79889C;
        /* text-transform: uppercase; */
    }

    span {
        color: var(--primary-color);
        font-weight: 700;
    }
}

.zabava-item:nth-child(even) {
    flex-direction: row-reverse;

    .zabava-info {
        @media (min-width: 990px) {
            margin-right: -60px;
            margin-left: -unset;
        }    

        @media (min-width: 1200px) {
            margin-right: -70px;
            margin-left: unset;
        }
    }
}

.vstupenky-sale-info {
    font-size: 24px;
    text-transform: uppercase;
    margin-bottom: 25px;

    @media (min-width: 768px) {
        font-size: 30px;
    }
}
.vstupenky-variant { 
    font-size: 20px; 
    border-bottom: 3px solid white;
    padding-bottom: 15px;
}
.vstupenky-price { 
    font-size: 56px; 
    color: var(--bs-body-bg);

    strong {
        font-weight: 900;
    }

    @media (min-width: 768px) {
        font-size: 64px;
    }
}
.vstupenky-note { 
    font-size: 14px; 
    letter-spacing: 2px;
    font-style: oblique;
    text-transform: uppercase;
}
.vstupenka-disabled { 
    display: none; 
    opacity: 0.3; 

    @media (min-width: 990px) {
        display: block;
    }

    .vstupenky-note {
        display: none;
    }
}
.vstupenky-kids {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    
    strong {
        color: var(--bs-body-bg);
    }
}
.vstupenky-pokladny { font-size: 15px;}

.gastro-photo {
    .img-logo {
        width: 100%;;
        max-width: 240px;
        height: auto;
        margin-bottom: -90px;
        z-index: 2;
        position: relative;
    }
}
.gastro-info {
    margin: 30px auto 30px auto;
    font-size: 22px;
    line-height: 1.3;
    max-width: 300px;

    strong {
        color: var(--primary-color);
    }
}

/* Program */

.program h3 {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 20px;
    margin-top: 50px;
}

.program-item {
    margin-bottom: 30px;
    margin-left: 20px;

    &::before {
        content: "/";
        font-weight: 700;
        font-size: 16px;
        display: block;
        width: 18px;
        color: var(--primary-color);
        margin-left: -20px;
        position: absolute;
    }
}

.program-time {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary-color);
    text-transform: uppercase;

    strong {
        display: inline-block;
        color: var(--primary-color);
        margin: 0 5px;
    }
}

.program-venue {
    color: var(--color-grey-dark);
}

.program-description {
    margin-top: 5px;
    font-size: 17px;
}

.program-description.kapela {
    font-size: 22px;
    font-weight: 700;
}

/* FAQ */ 
.faq-item {
  display: grid;
  grid-template-columns: 48px auto;
  grid-gap: 20px;   
  margin-bottom: 60px;

  @media (min-width: 768px) {
    grid-template-columns: 64px auto;
    grid-gap: 30px;
  }

  @media (min-width: 1200x) {
    grid-template-columns: 80px auto;
    grid-gap: 40px;
  }

  .faq-icon img, 
  .faq-icon svg {
    width: 100%;
    height: auto;
  }
}

.map-legend {
  margin-top: 25px;

  @media (min-width: 556px) {
    margin-top: 35px;
    column-count: 2;
  }

  @media (min-width: 768px) {
    margin-top: 45px;
    column-count: 3;
  }

  @media (min-width: 990px) {
    margin-top: 0;
    align-self: center;
    column-count: 1;
  }
}

.map-legend-item {
  display: grid;
    grid-template-columns: 40px auto;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 16px;
    align-items: center;

    img {
        width: 100%;
        height: auto;
    }

    span {
        display: block;
    }
}

/* Partners */

.partners {
    background-color: var(--hd-secondary);

    img {
        margin: auto auto 16px auto;
    }

    @media (min-width: 768px) {
        img {
            margin: 0 30px 10px 30px;
        }
    }

    p {
        margin: 4rem auto 0 auto;
        color: var(--white);
    }
}

.partners-media,
.partners-normal {
    img {
        margin: auto 16px 16px 16px;

        @media (min-width: 768px) {
            margin: 30px 30px 10px 30px;
        }
    }

}

.acknowledgment {
    font-size: 16px;
    margin-bottom: 0;

    strong {
        letter-spacing: 1px;
        text-transform: uppercase;
        display: block;
        margin-bottom: 5px;
    }
}

.social-footer {
    background: white;
    color: var(--bs-body-bg);
    text-align: center;
    padding: 20px 0;
    font-size: 16px;
}


/* Utilities */
.py-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}
.py-10 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}
.my-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
}
.my-8 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
}
.my-10 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
}
.justify-center {
    justify-content: center !important;
}

.color-primary {
    color: var(--primary-color) !important;
}


/* Flipdown overrides */
.flipdown {
    margin: 10px auto 0;
}
.flipdown .rotor-group-heading {
    position: absolute;
    bottom: -45px;
    margin: 10px auto;
    left: calc(50% - 15px);
    transform: translateX(-50%);
    text-transform: uppercase;
    font-size: 16px;
}

.flipdown .rotor-group:last-child .rotor-group-heading {
    left: calc(50%);
    transform: translateX(-50%);
}