/* open-sans-300 - latin */
@font-face {
    font-family: "GreatVibes";
    src: url("../fonts/GreatVibes-Regular.ttf");
}

@font-face {
    font-family: "OpenSans";
    src: url("../fonts/OpenSans-Regular.ttf");
}

@font-face {
    font-family: "Lato";
    src: url("../fonts/Lato-Regular.ttf");
}


@font-face {
    font-family: "Raleway";
    src: url("../fonts/Raleway-Regular.ttf");
}

body {
    font-family: 'GreatVibes', sans-serif;
}


.hero {
    width: 100%;
    height: 100%;
    left: 0px;
    position: relative;
}


.home-footer {
    position: relative;
    height: 10vw;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    /* Half transparent black background color */
    text-align: center;
}

.navbar {

    height: auto;
    position: fixed;
    z-index: 100;
    width: 100%;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 99) 0%,
            rgba(255, 255, 255, 0.99) 10%,
            rgba(255, 255, 255, 0.99) 20%,
            rgba(255, 255, 255, 0.98) 30%,
            rgba(255, 255, 255, 0.96) 40%,
            rgba(255, 255, 255, 0.93) 50%,
            rgba(255, 255, 255, 0.90) 60%,
            rgba(255, 255, 255, 0.80) 70%,
            rgba(255, 255, 255, 0.70) 80%,
            rgba(255, 255, 255, 0.60) 90%,
            rgba(255, 255, 255, 0.30) 95%,
            rgba(255, 255, 255, 0.01) 100%);

    font-family: OpenSans;
}

.navbar-offset {
    height: 10vw;
}

.navbar-brand {
    color: #387153 !important;
    font-family: greatVibes;
    font-size: 4.3vw;
    margin-top: 0px;
    padding-top: 0px;

}

.navbar, .dropdown-menu a {
    font-size: 1.8vw;
    color: #387153 !important;
}

.nav-item {
    color: #387153 !important;
    position: relative;
    display: flex;
    padding-right: 2.5vw;

}

.nav-link {
    color: #387153 !important;
}


.dropdown-menu {
    min-width: auto;
    padding: 0px;
    margin: 0px;
}

.dropdown-menu a {
    color: #387153;
    font-family: OpenSans;
    padding: 0px;
    padding-left: 1vw;
    padding-right: 1vw;
    margin: 0px;

}

.flag {
    width: 2.6vw;
    margin-top: -0.2vw;
    padding-right: 0.3vw;
}

.dropdown-item {
    display: flex;
}


.btn {
    font-family: OpenSans;
    font-size: 1.5vw;
    color: #387153;
    background-color: transparent;
    z-index: 2;
    padding-right: 1.5vw;
}


.image-description {
    font-family: Raleway;
    font-size: 1.5vw;
}

.container-lg {
    z-index: 1;

}

.row {
    padding-top: 2.5vw;
    padding-left: 2.5vw;
    padding-right: 2.5vw;
}

h1 {
    font-size: 2.5vw;
    padding-bottom: 0.5vw;
    font-family: OpenSans;
    color: #387153;
}


h3 {
    font-size: 2.5vw;
    padding-bottom: 1.0vw;
    font-family: GreatVibes;
    color: white;
    letter-spacing: 1vw;

}

.hidden {
    display: none;
}

.reviews {
    font-family: OpenSans;
    font-size: 1.2vw;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    position: absolute;
    width: 30vw;
    top: 10vw;
    right: 5vw;
    padding: 1vw;
    height: auto;
}

.fade-in-out {
    display: inline-block;
}

.card {
    width: 380px;
    border: none;
    height: 280px;
}

.ratings {
    margin-right: 10px;
}

.ratings i {

    color: #cecece;
    font-size: 32px;
}

.rating-color {
    color: #fbc634 !important;
}

.review-count {
    font-weight: 400;
    margin-bottom: 2px;
    font-size: 24px !important;
}

.small-ratings i {
    color: #cecece;
}

.review-stat {
    font-weight: 300;
    font-size: 18px;
    margin-bottom: 2px;
}


.door-overlay {
    position: absolute;
    opacity: 0.15;
    width: 100%;

}

.door-overlay img {
    width: 100%;
    height: 100%;
}

.door {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.door-1 {
    top: 33.5vw;
    left: 13vw;
    width: 5vw;
    height: 8vw;
}

.door-2 {
    top: 34.5vw;
    left: 35vw;
    width: 5vw;
    height: 8vw;
}

.door-3 {
    top: 34.5vw;
    left: 53vw;
    width: 3vw;
    height: 8vw;
}

.row {
    background-color: rgba(255, 255, 255, 0.0);
    font-family: OpenSans;
    font-size: 1vw;
    padding: 30px;

}



.carousel {
    top: 8vw;

}


.carousel-text {
    font-size: 1vw;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 1vw;
}

.transparency {
    background-color: rgba(255, 255, 255, 0.1);
}

.carousel-indicators li {
    width: 6vw;
    height: 0.5vw;
    margin-top: -3vw;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    height: 5vw;
    width: 5vw;
    outline: black;
    background-size: 2vw, 2vw;
    border-radius: 50%;
    border: 1px solid black;
    background-color: #387153;
}

.carousel-control-prev-icon {
    margin-left: -5vw;
}

.carousel-control-next-icon {
    margin-left: 5vw;
}



.carousel-control-next-icon:hover {
    border-radius: 50%;
    background-size: 2.5vw, 2.5vw;
}


.carousel-control-prev-icon:hover {
    border-radius: 50%;
    background-size: 2.5vw, 2.5vw;
}

.background-image {
    width: 100%;
    opacity: 0.7;
    z-index: -1;
}

.carousel-image {
    height: 100%
}

/* Kalender container */
.calendar-app {
    padding-top: 10vw;

}

.calendar {
    border: 1px solid #ccc;
}

/* Monatsüberschrift */
.calendar h2 {
    text-align: center;
    color: #333;
}

/* Tage-Liste */
.calendar ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Tage-Listenelemente */
.calendar li {
    float: left;
    width: 14.28%;
    text-align: center;
    padding: 10px 0;
    border: 1px solid #ccc;
}

.month-header {
    clear: both;
}

.calendar td {
    width: 33%;
    vertical-align: top;
    padding: 10px;
}

.booked {
    background-color: #ffa0a8;
    color: #fff;
}

.free {
    background-color: rgb(160, 255, 191);
    color: #000;
}

.leaving {
    background-color: #ffe0e8;
    color: #000;
}

.reserve {
    background-color: #b3e5fc;
    color: #000;
}

.booking-text {
    border: 1px solid #ccc;
    font-size: 1.0vw;
    font-family: OpenSans;
    color: black;
}

.booking-text .square {
    float: left;
    width: 1vw;
    height: 1vw;
    margin-right: 10px;
    /* adds space between the square and the text */
}

.square {
    width: 2vw;
    height: 2vw;
}



@media (min-width: 600px) {

    /* CSS-Regeln für das Carousel */
    .desktop-only {
        display: block;
    }

    .mobile-only {
        display: none;
    }
}

@media (max-width: 599px) {

    .navbar-brand {
        font-size: 8vw;
    }

    .reviews {
        padding: 1vw;
        left: 1.5vw;
        font-size: 2.0vw;
        width: 96vw;
        margin-top:5vw;
    }

    .reviews h3 {
        font-size: 4.5vw;
        width: 80vw;

    }

    .row:first-child {
        padding-top: 5vw;
    }

    h1 {
        font-weight: bold;
        padding-left: 2vw;
        padding-right: 2vw;
        font-size: 4.5vw;
    }

    .image-description, .btn {
        font-size: 3.5vw;
        padding-left: 2vw;
        padding-right: 2vw;
    }

    .mobile-only p {
        font-size: 3.5vw;
        padding: 2vw;
    }

    .nav-item {
        font-size: 5.5vw;
    }


    .dropdown-menu {
        min-width: auto;
        padding: 0px;
        margin: 0px;
    }
    
    .dropdown-menu a {
        color: #387153;
        font-family: OpenSans;
        padding: 0px;
        padding-left: 1vw;
        padding-right: 1vw;
        margin: 0px;
        font-size: 5.5vw;
    }

    .desktop-only {
        display: none;
    }

    .mobile-only {
        display: block;
        padding: 0px;
    }

    .home a {
        padding-left: 2vw;
        padding-right: 2vw;
    }

    .row {
        padding: 0px;
        padding-bottom: 20px;

    }

    .row img {
        padding-bottom: 10px;
    }
}


.fade-in-out {
    display: none;
}