:root{
    --red : rgb(161, 28, 43);
}

/* fonts */
@font-face {
    font-family: Calibri;
    src: url(../font/Calibri-Regular.ttf);
}

@font-face {
    font-family: days-later;
    src: url(../font/28-Days-Later.ttf);
}

html, body {
    font-family:"Calibri";
}

h1, h2, h3{
    font-family:"Calibri";
}

/* intro */
.intro{
    max-height: 100%;
    max-width: 100%;
    overflow: hidden;
}

.intro #mapa{
    z-index: 0;
}

.smap .card {
    text-align: center;
    padding: 16px 16px 8px 16px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

.smap .card .card-footer{
    display:flex;
    justify-content:  center;
}

.smap .card .open-profile{
    background: linear-gradient(0deg, rgba(0,0,0,0.6),rgba(0,0,0,0.6)), url(/img/black.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}

.smap .card .open-profile:hover{
    background: linear-gradient(0deg, rgba(0,0,0,0.8),rgba(0,0,0,0.8)), url(/img/black.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.smap .card .open-profile img{
    max-width: 18px;
    margin-right: 15px;
}

.smap .card img{
    width: 100%;
}

.smap .card .close{
    margin: 5px;
}

.smap .card .close:after{
    content:none;
}

.intro .modal-content{
    background: url(../img/infobox.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.intro .btn-close{
    --bs-btn-close-bg: none;
    background: url(../img/icon_X-zavrit.png);
    background-size: cover !important;
    margin: 0 0 0 1rem;
}

.intro .navigate{
    background-image: linear-gradient(0deg, rgba(0,0,0,0.5),rgba(0,0,0,0.5)), url(../img/black.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    color: white;
}

.intro .navigate:hover{
    background-image: linear-gradient(0deg, rgba(0,0,0,0.7),rgba(0,0,0,0.7)), url(../img/black.png);
}

.intro .navigate img{
    max-width: 15px;
    margin-right: 12px;
}

.carousel .carousel-caption{
    position: relative;
    left: 0;
    right: auto;
    top: 0;
    bottom: auto;
    margin: auto;
    text-align: center;
    padding: 5px 0 8px 0;
    margin: 0;
}

.carousel-item img {
    width: 100vw;
    height: 500px;
    object-fit: contain;
    object-position: 50% 50%;
}

.carousel-control-next, .carousel-control-prev{
    position: relative !important;
    width: auto;
    padding: 0 0.5rem;
}

.carousel-control-next img, .carousel-control-prev img{
    width: 25px;
    height: 25px;
}

.intro .logo{
   z-index: 1;
   max-width: 450px;
   max-height: 50%;
   top: 50%;
   padding: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   -webkit-transform: translate(-50%, -50%);
   -moz-transform: translate(-50%, -50%);
   -ms-transform: translate(-50%, -50%);
   -o-transform: translate(-50%, -50%);
}

.intro .logo.vanished{
    animation: logo-vanish 3s forwards;
    -webkit-animation: logo-vanish 3s forwards;
}

@keyframes logo-vanish{
    0%{
        opacity: 1;
    }
    90%{
        opacity: 1;
    }
    99%{
        max-width: 50%;
        max-height: 50%;
        opacity: 0;
        top: 50%;
    }
    100%{
        opacity: 0;
        top: 150%;
    }
}

.intro .footer{
    width: 100%;
    text-align: center;
    background: url(../img/podklad-footer.png);
    background-position: center;
    background-size: 335px 50px;
    background-repeat: no-repeat;
    bottom: -10px;
    font-size: 0.8rem;
    font-weight: bolder;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 1;
    color: black;
    padding: 1rem 0;
}

.intro .footer.vanished{
    animation: footer-vanish 3s forwards;
    -webkit-animation: footer-vanish 3s forwards;
}

@keyframes footer-vanish{
    0%{
        opacity: 1;
        width: 100%;
        left: 50%;
    }
    10%{
        opacity: 0;
    }
    90%{
        width: 100%;
        left: 50%;
    }
    95%{
        width: 100%;
        left: 50%;
    }
    100%{
        opacity: 0;
        width: 0;
        left: 0;
    }
}

.intro .col-lg-6{
    overflow: hidden;
}

.intro .col-lg-6.active .concept{
    display: none;
}

.intro .col-lg-6.toggle-description{
    background: rgba(161, 28, 43, 0.95);
    transition: all 0.5s;
}

.intro .col-lg-6.toggle-description.active .concept{
    background: linear-gradient(0deg,rgba(161, 28, 43, 0.7),rgba(161, 28, 43, 0.7)) ,url(../img/pozadi-Oprojektu3.png);
    display: block;
    opacity: 0;
    width: 100%;
    min-height: 100%;
}

.intro .col-lg-6.toggle-description.active .concept.show{
    animation: show-dialog 4s forwards;
    -webkit-animation: show-dialog 4s forwards;
}

@keyframes show-dialog{
    0%{
        opacity: 0;
    }
    80%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

.intro .concept h2{
    display: flex;
    align-items: center;
    transition: all 1s;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
}

.intro .col-lg-6.toggle-description.active .concept h2{
    justify-content: center;
}

.intro .concept h2 span{
    min-width: 220px;
    padding: 0.5rem 2.5rem;
    cursor: pointer;
}

.intro .col-lg-6.toggle-description .concept h2 span{
    background: url(/img/black.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}

.intro .col-lg-6.toggle-map .concept h2 span{
    background: url(/img/red.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.intro .col-lg-6.toggle-description.active h2 span{
    background: transparent;
    border-color: transparent;
}

.intro .concept h2 img.arrow{
    max-width: 0;
    height: auto;
    transition: all 1s;
    margin: 0 0;
}

.intro .concept h2:hover img.arrow{
    margin: 0 1rem;
    max-width: 30px;
}

.intro .col-lg-6.toggle-description.active .concept h2:hover img.arrow{
    max-width: 0;
    margin: 0 0;
}

.intro .col-lg-6.toggle-map.active{
    width: 0%;
    animation: width-100-disapearing 3s;
    -webkit-animation: width-100-disapearing 3s;
}

@keyframes width-100-disapearing {
    0%{
        width: 50%;
        opacity: 1;
    }
    90%{
        opacity: 1;
    }
    100% {
        width: 100%;
        opacity: 0;
    }
}

.intro .col-lg-6.toggle-description.active{
    display: block !important;
    max-height: 100%;
    overflow: auto;
    animation: width-100 3s forwards;
    -webkit-animation: width-100 3s forwards;
    background: rgba(161, 28, 43, 1);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.intro .col-lg-6.toggle-description.active .row img{
    max-width: 350px;
}

@keyframes width-100 {
    0%{
        width: 50%;
    }
    100% {
        width: 100%;
    }
}

.intro .col-lg-6.closed{
    animation: width-to-0 3s forwards;
    -webkit-animation: width-to-0 3s forwards;
}

@keyframes width-to-0 {
    from {width: 50%;}
    to {width: 0%;}
}

.intro .description{
    display: none;
}

.intro .description p{
    margin: auto;
    max-width: 900px;
}

.small {
    font-size: small;
}

.intro .col-lg-6.toggle-description.active .description{
    display: block;
}

.intro .buttons{
    display: none;
}

.intro .buttons button{
    padding: 5px 20px !important;
    color: white;
    background-image:linear-gradient(0deg, rgba(0,0,0, 0),rgba(0,0,0, 0)), url(../img/black.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: all 1s;
}

.intro .buttons button:hover{
    background-image: linear-gradient(0deg, rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)),  url(../img/black.png);
}

.intro .buttons button img{
    max-width: 22px;
    margin-right: 0.5rem;
}

.intro .buttons .nav-brand{
    max-width: 150px;
}

.intro .col-lg-6.toggle-description.active .buttons{
    display: flex;
    align-items: center;
}

.intro .sponsor{
    display: none;
}

.intro .col-lg-6.toggle-description.active .sponsor{
    display: flex;
}

.wrapper-1{
    max-height: 150px;
    max-width: 380px;
    width: 100%;
    margin: 1rem 1rem;
    background: url(../img/podklad-loga2.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.wrapper-2{
    max-height: 150px;
    max-width: 390px;
    width: 100%;
    margin: 1rem 1rem;
    background: url(../img/podklad-loga1.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.wrapper-1 img, .wrapper-2 img{
    height: 100%;
}
/* navbar */
.nav{
    display: flex;
    align-items: center;
    padding: 1rem 1rem;
    top: 0;
}

.nav.hide{
    animation: hide 3s forwards;
    -webkit-animation: hide 3s forwards;
}

.nav .nav-brand{
    max-width: 150px;
    flex: 1 0 150px;
}

.nav ul{
    flex: 1 0 400px;
    justify-content: end;
}

.nav ul a:hover{
    color: rgb(161, 28, 43);
}

.toggle-nav {
    display: none;
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	right: 1rem;
	padding: 0.4rem;
	cursor: pointer;
	background: black;
	transition: 1s all;
}

.toggle-nav:hover{
    background: black;
}

@keyframes hide{
    0%{
        top:0;
    }
    100%{
        top: -100%;
    }
}

.hover-underline-animation {
    display: inline-block;
    position: relative;
}

.hover-underline-animation:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: -0.15rem;
    left: 0;
    background-color: rgb(161, 28, 43);
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.hover-underline-animation:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

/* bg */
.bg-red{
    transition: all 1s;
    /*background: linear-gradient(0deg, rgba(161, 28, 43, 0.7), rgba(161, 28, 43, 0.7)), url("../img/left3.png");*/
    background-color: var(--red);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.bg-image-black{
    background-color: rgba(0, 0, 0, 0.9) !important;
}

.bg-1{
    position: absolute;
    padding: 0;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-image: url(../img/left3.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.bg-1.hide{
    animation: hide-background 3s forwards;
}

@keyframes hide-background{
    from{
        width: 50%;
    }
    to{
        width: 0%;
    }
}

@media only screen and (max-width: 992px){
    .nav.hide{
        animation: hide-2 3s forwards;
        -webkit-animation: hide-2 3s forwards;
    }

    @keyframes hide-2{
        0%{
            top:0;
        }
        100%{
            top: -100%;
        }
    }

    .intro .nav ul{
        position: fixed;
        right:-100%;
        top: 0;
        background: rgba(0, 0, 0, 0.9);
        color: white;
        width: 50%;
        padding: 3rem 0 3rem 0rem;
        justify-content: center;
        align-items: center;
        transition: all 1s;
        -webkit-transition: all 1s;
        -moz-transition: all 1s;
        -ms-transition: all 1s;
        -o-transition: all 1s;
    }

    .intro .nav ul.show{
        right: 0;
    }

    .intro .nav ul a{
        font-size: 2.5rem;
    }

    .intro .nav .toggle-nav{
        display: block;
        z-index: 1;
    }

    .intro .logo{
        max-width: 425px;
    }

    .intro .logo.vanished{
        animation: logo-vanish-2 3s forwards;
        -webkit-animation: logo-vanish-2 3s forwards;
    }

    .intro .logo.smalling{
        animation: logo-smalling-2 3s forwards;
        -webkit-animation: logo-smalling-2 3s forwards;
    }

    .intro .col-lg-6{
        justify-content: center !important;
    }

    .intro .col-lg-6.toggle-map.active{
        width: 0%;
        animation: width-100-disapearing 3s;
        -webkit-animation: height-to-100 3s;
    }

    .intro .col-lg-6.toggle-description.active{
        max-height: 100%;
        overflow: auto;
        background: rgba(161, 28, 43, 1);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        animation: height-to-100-2 3s forwards;
        -webkit-animation: height-to-100-2 3s forwards;
    }

    .intro .col-lg-6.closed{
        animation:height-to-0 3s forwards;
        -webkit-animation: height-to-0 3s forwards;
    }

    .carousel-item img {
        max-height: 300px;
    }

    @keyframes logo-vanish-2{
        0%{
            opacity: 1;
        }
        90%{
            opacity: 1;
        }
        99%{
            max-width: 100%;
            opacity: 0;
            top: 50%;
        }
        100%{
            opacity: 0;
            top: 150%;
        }
    }

    @keyframes height-to-0{
        from{
            height: 50%;
        }
        to{
            height: 0%;
        }
    }

    @keyframes height-to-100{
        0%{
            width: 100%;
            height: 50%;
            opacity: 1;
        }
        90%{
            width: 100%;
            opacity: 1;
        }
        95%{
            width: 100%;
            height: 100%;
            opacity:0;
        }
        100% {
            width: 0%;
            height: 100%;
            opacity: 0;
        }
    }

    @keyframes height-to-100-2{
        from{
            height: 50%;
        }
        to{
            height: 100%;
        }
    }

    .bg-1{
        position: absolute;
        padding: 0;
        top: 0;
        left: 0;
        width: 100%;
        height: 50%;
        background-image: url(../img/left3.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
    }

    .bg-1.hide{
        animation: hide-background 3s forwards;
    }
    
    @keyframes hide-background{
        from{
            height: 50%;
        }
        to{
            height: 0%;
        }
    }
}

@media only screen and (max-width: 576px){
    .intro .nav-brand{
        max-width: 120px;
    }

    .intro .nav ul{
        width: 80%;
    }

    .intro .nav ul a{
        font-size: 1.5rem;
    }

    .intro .logo{
        max-width: 240px;
    }

    .carousel-item img {
        max-height: 200px;
    }

    @keyframes logo-smalling-2{
        0%{
            top: 50%;
            left: 50%;
            padding: 0;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
        }
        70%{
            max-width: 120px;
            left: 50%;
            transform: translate(-50%, 0);
            -webkit-transform: translate(-50%, 0);
            -moz-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
            -o-transform: translate(-50%, 0);
    }
        100%{
            max-width: 120px;
            top: 0px;
            left: 0px;
            padding: 1rem;
            transform: translate(0%, 0%);
            -webkit-transform: translate(0%, 0%);
            -moz-transform: translate(0%, 0%);
            -ms-transform: translate(0%, 0%);
            -o-transform: translate(0%, 0%);
        }
    }

    .intro .concept h2 span{
        padding: 0 1rem !important;
        min-width: 150px;
        min-height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.2rem;
    }

    .intro .buttons button{
        padding: 1rem 1.5rem !important;
    }

    .intro .buttons button img{
        margin-right: 0.5rem;
    }
}

@media only screen and (max-height: 500px) and (max-width: 992px){
    .intro .logo{
        max-width: 150px;
    }

    .intro .footer{
        display: none;
    }

    .intro .nav ul a {
        font-size: 2rem;
    }
    
    .nav .nav-brand {
        max-width: 110px;
        flex: 1 0 150px;
    }

    .intro .concept h2 span{
        padding: 0 1rem !important;
        min-width: 120px;
        min-height: 32px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.1rem;
    }

    @keyframes logo-smalling-2{
        0%{
            top: 50%;
            left: 50%;
            padding: 0;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -moz-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            -o-transform: translate(-50%, -50%);
        }
        70%{
            max-width: 120px;
            left: 50%;
            transform: translate(-50%, 0);
            -webkit-transform: translate(-50%, 0);
            -moz-transform: translate(-50%, 0);
            -ms-transform: translate(-50%, 0);
            -o-transform: translate(-50%, 0);
    }
        100%{
            max-width: 120px;
            top: 0px;
            left: 0px;
            padding: 1rem;
            transform: translate(0%, 0%);
            -webkit-transform: translate(0%, 0%);
            -moz-transform: translate(0%, 0%);
            -ms-transform: translate(0%, 0%);
            -o-transform: translate(0%, 0%);
        }
    }
}