:root {
    --headerHeight: 238px;
}


/* Video */
.heroBannerVideo {
    position: relative;
    width: 100%;
    min-height: 31.25rem;
    padding: 4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}
.heroBannerVideo.vh600 {
    min-height: 37.5rem;
}
.heroBannerVideo.vh700 {
    min-height: 43.75rem;
}
.heroBannerVideo.vh800 {
    min-height: 50rem;
}
.heroBannerVideo.vh900 {
    min-height: 56.25rem;
}
.heroBannerVideo.vh169 {
    aspect-ratio: 16 / 9;
    min-height: auto;
}
.heroBannerVideo.vh1610 {
    aspect-ratio: 16 / 10;
    min-height: auto;
}
.heroBannerVideo.vh100 {
    min-height: calc(100svh - var(--headerHeight));
}

.heroVideo {
    position: absolute;
    z-index: -2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: clip;
    overflow-clip-margin: content-box;

}

/* Video - Overlay */
.heroBannerVideo.overlay {
    background: #000;
}
.heroBannerVideo.overlay .heroVideo {
    opacity: .5;
}
.heroBannerVideo.overlay10 .heroVideo {
    opacity: .9;
}
.heroBannerVideo.overlay20 .heroVideo {
    opacity: .8;
}
.heroBannerVideo.overlay30 .heroVideo {
    opacity: .7;
}
.heroBannerVideo.overlay40 .heroVideo {
    opacity: .6;
}
.heroBannerVideo.overlay50 .heroVideo {
    opacity: .5;
}
.heroBannerVideo.overlay60 .heroVideo {
    opacity: .4;
}


/* Content Box */
.heroContent {
    text-align: center;
    padding: 1rem;
    border: 0px solid transparent;
    border-radius: var(--radius_standard);
    box-shadow: var(--boxShadowMedium);
}

/* Content Box - Breite */
.heroContent.width800 {
    width: calc(800px + 2rem);
}
.heroContent.width700 {
    width: 700px;
}
.heroContent.width600 {
   width: 600px;
}
.heroContent.width500 {
    width: 500px;
}
.heroContent.width400 {
    width: 400px;
}


/* Content Box - Position */
.cbp_topleft {
    justify-content: flex-start;
    align-items: flex-start;
}
.cbp_topCenter {
    justify-content: center;
    align-items: flex-start;
}
.cbp_topRight {
    justify-content: flex-end;
    align-items: flex-start;
}
.cbp_centerLeft {
    justify-content: flex-start;
    align-items: center;
}
.cbp_centerCenter {
    justify-content: center;
    align-items: center;
}
.cbp_centerRight {
    justify-content: flex-end;
    align-items: center;
}
.cbp_bottomLeft {
    justify-content: flex-start;
    align-items: flex-end;
}
.cbp_bottomCenter {
    justify-content: center;
    align-items: flex-end;
}
.cbp_bottomRight {
    justify-content:flex-end;
    align-items: flex-end;
}

/* Content Box Ausrichtung der Inhalte */
.heroContent.alignCenter {
    text-align: center;
}
.heroContent.alignLeft {
    text-align: left;
    margin-right: 0;
}
.heroContent.alignRight {
    text-align: right;
    margin-left: 0;
}

.heroContent.alignCenter .contentButtons {
    justify-content: center;
}
.heroContent.alignRight  .contentButtons {
    justify-content: flex-end;
}


/* Content Box - Überschriften und Text */
.heroContentText > * {
    font-size: var(--font_size05);
}


/* Content Box - Buttons */
.contentButtons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.heroContent .icon-button a {
    position: relative;
    background: var(--ci001);
    padding: 1rem;
    color: var(--col15);
    display: inline-flex;
    align-items: center;
    border: 0 solid transparent;
    /* border-radius: var(--radius_standard);
   
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,.50);
    */
}
.heroContent .icon-button a:hover {
    background: var(--ci002);
    /*padding: 1rem 3rem;*/
    color: var(--col15);
}
.heroContent .icon-button.buttonSolid01 a {
    background-color: var(--ci001);
}
.heroContent .icon-button.buttonSolid01 a:hover {
    background-color: var(--ci002);
}
.heroContent .icon-button.buttonSolid02 a {
    background-color: var(--ci011);
}
.heroContent .icon-button.buttonSolid02 a:hover {
    background-color: var(--ci010);
}
.heroContent .icon-button.buttonOutline01 a {
    border: 2px solid var(--ci001);
    background-color: transparent;
}
.heroContent .icon-button.buttonOutline01 a:hover {
    background-color: var(--ci001);
}
.heroContent .icon-button.buttonOutline02 a {
    border: 2px solid var(--ci011);
    background-color: transparent;
}
.heroContent .icon-button.buttonOutline02 a:hover {
    background-color: var(--ci011);
}


.heroContent .icon-button i {
    padding-right: 0.5rem;
}
.heroContent .icon-button span {
    font-family: var(--font_bold);
    text-transform: uppercase;
}

/* Content Box Farben, Transparenzen und Blur */
.headBackground {
    padding: 1.25rem 1rem 1rem 1rem;
    line-height: 1em;
}
/*.boxBackground {
    padding: 2rem;
}*/
.heroContent.blur05 {
    backdrop-filter: blur(5px);
}
.heroContent.blur10 {
    backdrop-filter: blur(10px);
}
.heroContent.blur15 {
    backdrop-filter: blur(15px);
}
.heroContent.blur20 {
    backdrop-filter: blur(20px);
}

/* Hintergrundfarbe 1 */  
.bgcolor01 {
    background-color: var(--white100);
}
.heroContent.bgcolor01.opacity90 {
    background-color: var(--white090);
}
.heroContent.bgcolor01.opacity80 {
    background-color: var(--white080);
}
.heroContent.bgcolor01.opacity70 {
    background-color: var(--white070);
}
.heroContent.bgcolor01.opacity60 {
    background-color: var(--white060);
}
.heroContent.bgcolor01.opacity50 {
    background-color: var(--white050);
}
.heroContent.bgcolor01.opacity40 {
    background-color: var(--white040);
}
.heroContent.bgcolor01.opacity30 {
    background-color: var(--white030);
}
.heroContent.bgcolor01.opacity20 {
    background-color: var(--white020);
}
.heroContent.bgcolor01.opacity10 {
    background-color: var(--white010);
}
.heroContent.bgcolor01.opacity01 {
    background-color: var(--white001);
}

/* Hintergrundfarbe 2 */ 
.bgcolor02 {
    background-color: var(--gry80);
}
.heroContent.bgcolor02.opacity90 {
    background-color: var(--gry80o90);
}
.heroContent.bgcolor02.opacity80 {
    background-color: var(--gry80o80);
}
.heroContent.bgcolor02.opacity70 {
    background-color: var(--gry80o70);
}
.heroContent.bgcolor02.opacity60 {
    background-color: var(--gry80o60);
}
.heroContent.bgcolor02.opacity50 {
    background-color: var(--gry80o50);
}
.heroContent.bgcolor02.opacity40 {
    background-color: var(--gry80o40);
}
.heroContent.bgcolor02.opacity30 {
    background-color: var(--gry80o30);
}
.heroContent.bgcolor02.opacity20 {
    background-color: var(--gry80o20);
}
.heroContent.bgcolor02.opacity10 {
    background-color: var(--gry80o10);
}
.heroContent.bgcolor02.opacity01 {
    background-color: var(--gry80o01);
}

/* Hintergrundfarbe 3 */ 
.bgcolor03 {
    background-color: var(--black100);
}
.heroContent.bgcolor03.opacity90 {
    background-color: var(--black090);
}
.heroContent.bgcolor03.opacity80 {
    background-color: var(--black080);
}
.heroContent.bgcolor03.opacity70 {
    background-color: var(--black070);
}
.heroContent.bgcolor03.opacity60 {
    background-color: var(--black060);
}
.heroContent.bgcolor03.opacity50 {
    background-color: var(--black050);
}
.heroContent.bgcolor03.opacity40 {
    background-color: var(--black040);
}
.heroContent.bgcolor03.opacity30 {
    background-color: var(--black030);
}
.heroContent.bgcolor03.opacity20 {
    background-color: var(--black020);
}
.heroContent.bgcolor03.opacity10 {
    background-color: var(--black010);
}
.heroContent.bgcolor03.opacity01 {
    background-color: var(--black001);
}

/* Hintergrundfarbe 4 */  
.bgcolorci001 {
    background-color: var(--ci001);
}
/* Hintergrundfarbe 5 */  
.bgcolorci002 {
    background-color: var(--ci002);
}
/* Hintergrundfarbe 6 */  
.bgcolorci003 {
    background-color: var(--ci003);
}

/* Textfarben */
.heroContentText.txtblack > *, .txtblack {
    color: var(--col00) !important;
}
.heroContentText.txtgrey90  > *, .txtgray90 {
    color: var(--col01) !important;
}
.heroContentText.txtgray80  > *, .txtgray80 {
    color: var(--col02) !important;
}
.heroContentText.txtgray70  > *, .txtgray70 {
    color: var(--col03) !important;
}
.heroContentText.txtgray60  > *, .txtgray60 {
    color: var(--col04) !important;
}
.heroContentText.txtgray50  > *, .txtgray50 {
    color: var(--col05) !important;
}
.heroContentText.txtgray40  > *, .txtgray40 {
    color: var(--col06) !important;
}
.heroContentText.txtgray30  > *, .txtgray30 {
    color: var(--col07) !important;
}
.heroContentText.txtgray20  > *, .txtgray20 {
    color: var(--col08) !important;
}
.heroContentText.txtgray10  > *, .txtgray10 {
    color: var(--col09) !important;
}
.heroContentText.txtgrayaaa  > *, .txtgrayaaa {
    color: var(--col10) !important;
}
.heroContentText.txtgraybbb  > *, .txtgraybbb {
    color: var(--col11) !important;
}
.heroContentText.txtgrayccc  > *, .txtgrayccc {
    color: var(--col12) !important;
}
.heroContentText.txtgrayddd  > *, .txtgrayddd {
    color: var(--col13) !important;
}
.heroContentText.txtgrayeee  > *, .txtgrayeee {
    color: var(--col14) !important;
}
.heroContentText.txtwhite  > *, .txtwhite {
    color: var(--col15) !important;
}
.heroContentText.txtci001  > *, .txtci001 {
    color: var(--ci001) !important;
}
.heroContentText.txtci002  > *, .txtci002 {
    color: var(--ci002) !important;
}
.heroContentText.txtci003  > *, .txtci003 {
    color: var(--ci010) !important;
}
.heroContentText.txtci004  > *, .txtci004 {
    color: var(--ci010) !important;
}
.heroContentText.txtci005  > *, .txtci005 {
    color: var(--ci010) !important;
}


@media screen and (max-width: 997px) {
    :root {
        --headerHeight: 163px;
    }

}

@media screen and (max-width:785px) {
    :root {
        --headerHeight: 116px;
    }


    .heroBannerVideo {
        padding: 3rem;
    }
    .heroContentText > * {
        font-size: var(--font_size04);
      }
      .heroContent .icon-button a {
        padding: 0.75rem;
    }
    .heroContent.width800 {
        width: 100% !important;
    }
    .heroBannerVideo.vh800, .heroBannerVideo.vh900 {
        min-height: calc(100vh - var(--headerHeight));
    }
}

@media screen and (max-width: 597px) {
    .heroBannerVideo {
        padding: 2rem;
    }
    .boxBackground {
        padding: 1rem;
     }
    .heroContentText > * {
        font-size: var(--font_size03);
    }

}