@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap');

body {
    margin: 0;
    font-family: "Montserrat", sans-serif;
}

header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    position: sticky;
    top: 0;

    padding: 2vh 5vw;

    background: white;

    z-index: 1000;

    animation: dropDown 0.8s ease;
}

@keyframes dropDown {
    from {
        transform: translateY(-100px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}


header img {
    width: 11vh;
}

ul {
    display: flex;
    align-items: center;

    margin: 0;
    padding: 0;
}

ul li {
    list-style: none;
    margin: 0 15px;
    font-size: 14px;
}

ul li a {
    position: relative;
    text-decoration: none;
    color: black;
    font-weight: 400;
}

ul li a::after {
    content: "";
    position: absolute;

    left: 0;
    bottom: -5px;

    width: 0%;
    height: 2px;

    background-color: black;

    transition: width 0.3s ease;
}

ul li a:hover::after {
    width: 100%;
}

.btn-book {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: .8vh 1.8vw;

    text-decoration: none;

    border: none;
    border-radius: 3vh;

    color: #000000;
    background: transparent;

    overflow: hidden;

    z-index: 1;

    line-height: 1;

    transition: color .3s ease;
}

/* Füllfläche */
.btn-book::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: #c300eb;

    transform: scaleX(0);
    transform-origin: left;

    transition: transform 0.3s ease;

    z-index: -1;
}

/* Hover */
.btn-book:hover::before {
    transform: scaleX(1);
}

/* Textfarbe ändern */
.btn-book:hover {
    color: white;
}

.mainimg {
    height: 80vh;
    width: 100%;

    background-image: url('../img/Main.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    display: flex;
    align-items: center;
    justify-content: center;

    position: relative;
}

#typing {
    color: white;
    font-size: 70px;
    font-weight: 700;
}

.maincontent {
    position: relative;
    z-index: 2;
}

#typing {
    color: white;
    font-size: 70px;
}

#about {
    background: #f5f5f5;
    padding: 10vh 8vw;
}

.about-container {
    width: 70%;
    margin: auto;
    text-align: center;
}

.about-container h1 {
    font-size: 5vh;
    margin-bottom: 2vh;
}

.subtitle {
    font-size: 2.3vh;
    margin-bottom: 3vh;
}

.description {
    width: 80%;
    margin: 2vh auto;
    line-height: 4vh;
}

.service-title {
    margin-top: 6vh;
    margin-bottom: 5vh;
    font-weight: 600;
}

.services {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    width: 90%;
    margin: auto;

    gap: 2vw;
}

.service-card {

    background: white;
    border-radius: 2vh;

    overflow: hidden;

    padding-bottom: 2vh;

    box-shadow: 0 0 0 rgba(0,0,0,0);

    transition: all .35s ease;
}

.service-card:hover {

    transform: translateY(-1vh);

    box-shadow:
        0 1.5vh 4vh rgba(0,0,0,.12);
}

.service-card img {
    width: 100%;
    height: 25vh;

    object-fit: cover;
}

.service-card h3 {
    padding-top: 2vh;
    text-align: center;
}

.service-card p {
    width: 85%;
    margin: auto;

    line-height: 3vh;
}


.footer {
    background: #111111;
    color: white;

    padding-top: 8vh;
}

.footer-container {
    width: 85%;

    margin: auto;

    display: grid;
    grid-template-columns: repeat(3,1fr);

    gap: 5vw;
}

.footer-logo {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.footer-logo img {
    width: 20vh;
}

.footer-contact h3,
.footer-social h3 {
    margin-bottom: 2vh;
}

.footer-contact p,
.footer-social a {
    display: block;

    color: #d8d8d8;

    text-decoration: none;

    margin-bottom: 1vh;

    transition: .3s;
}

.footer-social a:hover {
    color: #c300eb;
}

.footer-bottom {
    margin-top: 5vh;

    padding: 3vh;

    text-align: center;

    border-top: .1vh solid rgba(255,255,255,.2);

    color: #999;
}

/* HAMBURGER */

.hamburger{
    display:none;
    font-size:4vh;
    cursor:pointer;
}


/* TABLET */

@media (max-width:1024px){

    header{
        padding:2vh 4vw;
    }

    .about-container{
        width:90%;
    }

    .services{
        grid-template-columns:repeat(2,1fr);
    }

}


/* MOBILE */

@media (max-width:768px){

    header{
        position:relative;
        padding:2vh 5vw;
    }

    .hamburger{
        display:block;
    }

 ul{
        display:none;

        position:absolute;

        top:100%;
        left:0;

        width:100%;

        flex-direction:column;

        text-align:center;

        background:white;

        padding:3vh 0;

        box-shadow:0 .5vh 2vh rgba(0,0,0,.15);

        z-index:999;
    }

    ul.active{
        display:flex;
    }

    ul li{
        margin:2vh 0;
    }

    .btn-book{
        display:none;
    }

    .mainimg{
        height:60vh;
    }

    #typing{
        font-size:5vh;
        text-align:center;
    }

    .about-container{
        width:100%;
    }

    .description{
        width:100%;
    }

    .services{
        grid-template-columns:1fr;
    }

    .footer-container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-logo{
        justify-content:center;
    }

}


.hidden{
    text-align: center;
    opacity:0;
    transform:scale(.95);
}

.show{
    opacity:1;
    transform:scale(1);
}

.delay1{
    transition-delay:.2s;
}

.delay2{
    transition-delay:.4s;
}

.delay3{
    transition-delay:.6s;
}

.delay4{
    transition-delay:.8s;
}



.reviews-section{

    padding:10vh 0;

    background:#ffffff;

    overflow:hidden;
}

.reviews-section h1{

    text-align:center;

    margin-bottom:6vh;

    font-size:5vh;
}

.reviews{

    overflow:hidden;

    width:100%;

    position:relative;
}

.reviews-track{

    display:flex;

    width:fit-content;

    will-change:transform;

    animation:
    scrollReviews 40s linear infinite;
}

.reviews-track:hover{

    animation-play-state:paused;
}

.review-card{

    flex:0 0 auto;

    width:24vw;

    min-height:30vh;

    margin-right:2vw;

    background:white;

    border-radius:2vh;

    padding:3vh 2vw;

    box-shadow:
    0 1vh 3vh rgba(0,0,0,.08);

    transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.review-card:hover{

    transform:translateY(-1vh);

    box-shadow:
    0 2vh 5vh rgba(0,0,0,.12);
}

.review-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:2vh;
}

.review-top h3{

    font-size:2.2vh;
}

.review-top span{

    color:#c300eb;

    font-weight:700;
}

.review-card p{

    line-height:3vh;

    color:#555;
}

/* ENDLOSE ANIMATION */

@keyframes scrollReviews{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}

/* MOBILE */

@media(max-width:768px){

.review-card{

width:80vw;

min-height:auto;
}

}


