body {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height:1.75;
}

section p {
    margin-top:0px;
    margin-bottom: 1.5rem;
}

section ul {
    padding-left:20px;
}

section .img-fluid {
    max-height:80vh;
    object-fit: contain;
}

section h1,
section .h1 {
    margin-top:0px;
    margin-bottom:1rem;
    font-size: 50px;
    line-height:1.25;
    font-weight: 700;
}
section h2,
section .h2 {
    margin-top:0px;
    margin-bottom:1rem;
    font-size: 40px;
    line-height:1.25;
    font-weight: 700;
}
section h3,
section .h3 {
    margin-top:0px;
    margin-bottom:1rem;
    font-size: 30px;
    line-height:1.25;
    font-weight: 700;
}
section h4,
section .h4 {
    margin-top:0px;
    margin-bottom:1rem;
    font-size: 20px;
    line-height:1.25;
    font-weight: 700;
}
section h5,
section .h5 {
    margin-top:0px;
    margin-bottom:1rem;
    font-size: 18px;
    line-height:1.25;
    font-weight: 700;
}
section h6,
section .h6 {
    margin-top:0px;
    margin-bottom:1rem;
    font-size: 16px;
    line-height:1.25;
    font-weight: 700;
}

main p .btn-primary {
    box-shadow: 0px 0px 45px 7px rgba(207,24,28,0.85);
}

.teaser-text {
    color:#cf181c;
    font-weight: 300;
    font-size: 26px;
    line-height:1.3;
    text-shadow: 0px 0px 6px rgb(207, 24, 28);
}

main {
    overflow-x: hidden;
    display: flex;
}
.allow-overflow main {
    overflow-x: auto;
}
section {
    min-height: 100dvh;
    position: relative;
}
.start-section {
    min-width: 91vw;
}
.end-section {
    min-width: 91vw;
    padding-top:100px;
}
.section-90 {
    min-width: 91vw;
}
.section-80 {
    min-width: 81vw;
}
.section-70 {
    min-width: 71vw;
}
.section-60 {
    min-width: 61vw;
}
.section-50 {
    min-width: 51vw;
}
.section-40 {
    min-width: 41vw;
}

.padding-5-percent {
    padding-left:6%;
    padding-right:6%;
}
.padding-10-percent {
    padding-left:11%;
    padding-right:11%;
}
.padding-20-percent {
    padding-left:21%;
    padding-right:21%;
}
.padding-30-percent {
    padding-left:31%;
    padding-right:31%;
}
.padding-40-percent {
    padding-left:41%;
    padding-right:41%;
}
.padding-50-percent {
    padding-left:51%;
    padding-right:51%;
}

.padding-10-pixel {
    padding-left:10px;
    padding-right:10px;
}
.padding-20-pixel {
    padding-left:20px;
    padding-right:20px;
}
.padding-30-pixel {
    padding-left:30px;
    padding-right:30px;
}
.padding-40-pixel {
    padding-left:40px;
    padding-right:40px;
}
.padding-50-pixel {
    padding-left:50px;
    padding-right:50px;
}
.padding-60-pixel {
    padding-left:60px;
    padding-right:60px;
}
.padding-70-pixel {
    padding-left:70px;
    padding-right:70px;
}
.padding-80-pixel {
    padding-left:80px;
    padding-right:80px;
}
.padding-90-pixel {
    padding-left:90px;
    padding-right:90px;
}
.padding-100-pixel {
    padding-left:100px;
    padding-right:100px;
}

.start-background {
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
}
.end-background {
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
}
.background-right {
    background-size: contain;
    background-position: right center;
    background-repeat: no-repeat;
}
.background-left {
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
}

.intro-box {
    text-align: center;
    margin-top:60px;
}
.intro-box img {
    display: inline-block;
}

.buchen-button {
    position: absolute;
    right:30px;
    bottom:30px;
    z-index: 10;
}

.logo {
    position: absolute;
    left:30px;
    bottom: 30px;
    z-index: 10;
}

.swipe-icon {
    position: absolute;
    top:50%;
    right:5px;
    transform: translateY(-50%);
    z-index: 10;
    text-align: center;
    font-size: 12px;
}
.swipe-icon img {
    width: 50px;
    height: 50px;
}

.cursorGrab {
    cursor: grab;
}
.cursorGrabbing {
    cursor: grabbing;
}

@media (max-width: 575.98px) {
    body {
        font-size: 14px;
    }
    .teaser-text {
        font-size: 20px;
    }
    section h1,
    section .h1 {
        font-size: 40px;
    }
    section h2,
    section .h2 {
        font-size: 30px;
    }
    section h3,
    section .h3 {
        font-size: 25px;
    }
    section h4,
    section .h4 {
        font-size: 20px;
    }
    section h5,
    section .h5 {
        font-size: 18px;
    }
    section h6,
    section .h6 {
        font-size: 16px;
    }

    .padding-5-percent {
        padding-left:6%;
        padding-right:6%;
    }
    .padding-10-percent {
        padding-left:8%;
        padding-right:8%;
    }
    .padding-20-percent {
        padding-left:11%;
        padding-right:11%;
    }
    .padding-30-percent {
        padding-left:16%;
        padding-right:16%;
    }
    .padding-40-percent {
        padding-left:21%;
        padding-right:21%;
    }
    .padding-50-percent {
        padding-left:26%;
        padding-right:26%;
    }

    .frame-space-before-extra-small { margin-top:0px; }
    .frame-space-before-small { margin-top:0px; }
    .frame-space-before-medium { margin-top:0px; }
    .frame-space-before-large { margin-top:0px; }
    .frame-space-before-extra-large { margin-top:0px; }
    .frame-space-after-extra-small { margin-bottom:0px; }
    .frame-space-after-small { margin-bottom:0px; }
    .frame-space-after-medium { margin-bottom:0px; }
    .frame-space-after-large { margin-bottom:0px; }
    .frame-space-after-extra-large { margin-bottom:0px; }

    .start-section {
        width:100%;
    }
    .end-section {
        width:100%;
        padding-top:20px;
    }
    .section-90 {
        min-width: 1100px;
    }
    .section-80 {
        min-width: 1000px;
    }
    .section-70 {
        min-width: 900px;
    }
    .section-60 {
        min-width: 800px;
    }
    .section-50 {
        min-width: 700px;
    }
    .section-40 {
        min-width: 600px;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    body {
        font-size: 14px;
    }
    .teaser-text {
        font-size: 20px;
    }
    section h1,
    section .h1 {
        font-size: 40px;
    }
    section h2,
    section .h2 {
        font-size: 30px;
    }
    section h3,
    section .h3 {
        font-size: 25px;
    }
    section h4,
    section .h4 {
        font-size: 20px;
    }
    section h5,
    section .h5 {
        font-size: 18px;
    }
    section h6,
    section .h6 {
        font-size: 16px;
    }

    .padding-5-percent {
        padding-left:6%;
        padding-right:6%;
    }
    .padding-10-percent {
        padding-left:8%;
        padding-right:8%;
    }
    .padding-20-percent {
        padding-left:11%;
        padding-right:11%;
    }
    .padding-30-percent {
        padding-left:16%;
        padding-right:16%;
    }
    .padding-40-percent {
        padding-left:21%;
        padding-right:21%;
    }
    .padding-50-percent {
        padding-left:26%;
        padding-right:26%;
    }

    .frame-space-before-extra-small { margin-top:0px; }
    .frame-space-before-small { margin-top:0px; }
    .frame-space-before-medium { margin-top:0px; }
    .frame-space-before-large { margin-top:0px; }
    .frame-space-before-extra-large { margin-top:0px; }
    .frame-space-after-extra-small { margin-bottom:0px; }
    .frame-space-after-small { margin-bottom:0px; }
    .frame-space-after-medium { margin-bottom:0px; }
    .frame-space-after-large { margin-bottom:0px; }
    .frame-space-after-extra-large { margin-bottom:0px; }

    .start-section {
        width:100%;
    }
    .end-section {
        width:100%;
    }
    .section-90 {
        min-width: 1100px;
    }
    .section-80 {
        min-width: 1000px;
    }
    .section-70 {
        min-width: 900px;
    }
    .section-60 {
        min-width: 800px;
    }
    .section-50 {
        min-width: 700px;
    }
    .section-40 {
        min-width: 600px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .start-section {
        width:100%;
    }
    .end-section {
        width:100%;
    }
    .section-90 {
        min-width: 1000px;
    }
    .section-80 {
        min-width: 900px;
    }
    .section-70 {
        min-width: 800px;
    }
    .section-60 {
        min-width: 700px;
    }
    .section-50 {
        min-width: 600px;
    }
    .section-40 {
        min-width: 500px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .start-section {
        width:100%;
    }
    .end-section {
        width:100%;
    }
    .section-90 {
        min-width: 1000px;
    }
    .section-80 {
        min-width: 900px;
    }
    .section-70 {
        min-width: 800px;
    }
    .section-60 {
        min-width: 700px;
    }
    .section-50 {
        min-width: 600px;
    }
    .section-40 {
        min-width: 500px;
    }
}

@media (min-width: 1200px) {

}
