.teaser-frontpage { width:100%; min-height:10rem; padding:3rem; display:flex; flex-direction:column; justify-content:center; align-items:center; position: relative; z-index:50; }

.teaser-frontpage .icon { user-select:none; }
.teaser-frontpage .icon img { width:auto; min-height:100px; height:10vw; max-height:140px; display:block; }

.teaser-frontpage .title,
.teaser-frontpage .sub_title { color:#fff; font-family:"Roboto Slab"; letter-spacing:3px; text-align:center; }

.teaser-frontpage .title { font-size:6rem; line-height:8rem; font-weight:bold; }
.teaser-frontpage .sub_title { font-size:2.5rem; font-weight:100; }

.teaser-frontpage .line { background:#fff; width:100px; height:3px; border-radius:1px; margin:3rem; }

.teaser-frontpage .text { font-size:1.6rem; line-height:2.4rem; text-align:center; font-weight:300; }


.teaser-title { width:100%; padding:2.5rem 3rem 3rem 3rem; display:flex; flex-direction:column; align-items:center; position: relative; z-index:10; }
.editor-styles-wrapper .teaser-title { padding:calc(2.5rem + 160px) 3rem 3rem 3rem; }
.editor-styles-wrapper .teaser-title { height:40rem; }

.teaser-title .title,
.teaser-title .sub_title { color:#fff; font-size:3.8rem; line-height:3.8rem; font-family:"Roboto Slab"; letter-spacing:3px; text-align:center; }

.teaser-title .title { font-weight:bold; }
.teaser-title .sub_title { font-weight:300; }

#slider { width:calc(100vw - var(--scrollbar_width)); height:30vw; min-height:50vw; max-height:80vw; position:relative; top:-160px; margin-bottom:calc(-10vw + -160px); z-index:1; }
body.navmenu #slider { width:100vw; }
#slider:has(.teaser-frontpage) { height:50vw; min-height:60vw; }
#slider:has(.slide .teaser-frontpage + .slide),
#slider:has(.slide + .slide .teaser-frontpage) { height:50vw; min-height:60vw; }
#slider .slide { width:100vw; height:100%; padding-top:160px; }

#slider .f-carousel__nav .f-button.is-next { right:3rem; }
#slider .f-carousel__nav .f-button.is-prev { left:3rem; }

.page-background { width:100%; height:100%; position:absolute; top:0; right:0; bottom:0; left:0; z-index:2; overflow:hidden; }
.page-background .pic { width:100%; height:100%; background-size:cover; background-position:center center; background-repeat:no-repeat; position:absolute; top:0; right:0; bottom:0; left:0; z-index:2; }
.page-background .shadow { width:100%; height:100%; position:absolute; top:0; right:0; bottom:0; left:0; z-index:3; }

.editor-styles-wrapper #slider { height:auto; min-height:auto; max-height:100% !important; margin-bottom:-10vw; position: relative; top:0; }
.editor-styles-wrapper #slider .slide { height:50vw; position: relative; padding-top:0; }

@media screen and ( max-width: 2000px ) {

.page-background .pic { background-position:top center; }

}

@media screen and ( max-width: 1700px ) {

#slider { height:35rem; min-height:35rem; }
#slider:has(.teaser-frontpage) { height:45rem; min-height:45rem; }
#slider:has(.slide .teaser-frontpage + .slide),
#slider:has(.slide + .slide .teaser-frontpage) { height:50rem; min-height:50rem; }

}

@media screen and ( max-width: 1400px ) {

.teaser-title .title,
.teaser-title .sub_title { font-size:2.5rem; line-height:2.5rem; }

}

@media screen and ( max-width: 960px ) {

#slider:has(.teaser-frontpage) { height:50rem; min-height:50rem; }
.teaser-title { padding:4rem 3rem 3rem 3rem; }

#slider .f-carousel__nav .f-button.is-next { right:1rem; }
#slider .f-carousel__nav .f-button.is-prev { left:1rem; }

}