/*
Theme Name: ulrich.digital Block Theme
Version: 2023.10
Description: ulrich.digital Block Theme
Author: Matthias Ulrich & Erhard J. Sigrist
Author URI: https://ulrich.digital
License: MIT
License URI: http://opensource.org/licenses/mit-license.php
Text Domain: ulrich.digital
*/

/*
Achtung: Browser unter iOS, benötigen u.a. für hypens: auto; zusätzlich ein -webkit-hyphens: auto;
*/

/* =============================================================== *
   Variables
   Globale Variablen für wiederkehrende Werte
* =============================================================== */
:root{
    --shadow: 3px 3px 6px #00000033;
    --green_light: #58E579; 
    --border-radius: 24px;
    }


/* =============================================================== *
   Basic-HTML
   Grundlegende CSS-Stile für HTML-Tags
* =============================================================== */
html,
body{
    font-family: 'Montserrat UD';
    color:white;
    background: #071324;
    }
html{
   scroll-behavior: smooth;
}
@media screen and (max-width: 600px) {
    body{
        font-size: 16px;
        }
    }

header{
    position: relative;
    z-index: 1000;
    }

h1, h2, h3 {}

p:not(:first-of-type) {
    margin-block-start: 1em; /* Beispielwert, anpassen nach Bedarf */
}
strong{}

em{}

input{}


/* Formularfelder */
input,
textarea{
    margin: 10px 20px;
    padding: 10px 16px;
    border: none;
    line-height: 1em;
    }

textarea{
    line-height: 1em;
    }

/* Stil für den Placeholder-Text */
textarea::-webkit-input-placeholder,
input::-webkit-input-placeholder { /* Webkit-basierte Browser (Chrome, Safari, Edge) */
    font-weight: 500;
    font-style: italic;
    color: white;
    }

textarea::-moz-placeholder,
input::-moz-placeholder { /* Firefox 19+ */
    font-weight: 500;
    font-style: italic;
    color: white;
    }

textarea:-ms-input-placeholder,
input:-ms-input-placeholder { /* Internet Explorer und Microsoft Edge */
    font-weight: 500;
    font-style: italic;
    color: white;
    }

textarea:-moz-placeholder,
input:-moz-placeholder { /* Firefox 18- */
    font-weight: 500;
    font-style: italic;
    color: white;
    }

textarea:focus,
input:focus  {
    outline: none; /* Entfernt den Standard-Fokus-Rahmen */
    border: none;  /* Entfernt die eigene Border (falls vorhanden) */
    }

input[type="submit"]{
    cursor: pointer;
    border: 1px solid;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    padding: .7rem 1.4rem;
    }

input[type="submit"]:hover{
    cursor: pointer;
    }

.fa-solid{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 900; 
    }

.slick-prev,
.slick-next {
  background-color: transparent; /* Transparenter Hintergrund */
  border: none; /* Kein Rahmen */
  font-size: 24px; /* Größe der Icons */
  color: white; /* Farbe der Icons */
  z-index: 1; /* Sicherstellen, dass die Buttons über den Slides liegen */
}

.slick-prev:hover, .slick-next:hover {
}

.display_none{
display: none!important;
}

.more_content {
    display: none; /* Der zusätzliche Inhalt wird standardmäßig ausgeblendet */
visibility: none;
}
.my_read_more{
margin-top: 1em;
margin-bottom: 1em;}
.wp-block-buttons.open .wp-block-button .wp-element-button::after{
content:" ";
}


/*
Team-Cards
*/

.is-style-team_cards{
gap: 5vw;
flex-grow: 0;
max-width: calc(1200px + 10vw)!important; /* 2 x gap*/
}

.is-style-team_card{
    background: var(--wp--preset--color--blue-dark);
    border-radius: var(--border-radius);
    overflow: hidden;
    display: flex;
    flex-direction: row;    
    gap: 0;
flex-basis: 400px;
font-size: 20px;
font-weight: 400;
margin-right: auto!important;
margin-left: auto!important;
}
.is-style-team_card p{
margin-block-start: 0;}
.is-style-team_card img{
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.is-style-team_card .inner_content{
padding: 15px 25px 25px;
width: 100%;
align-self: stretch;
}

.is-style-team_card .inner_content .wp-block-group{
gap: 0;}

.is-style-team_card .inner_content > .wp-block-group + .wp-block-group{
margin-top: 1em;}
.is-style-team_card .inner_content a{
border-bottom: 1px solid;}


/*
.is-style-customer_feedbacks
*/
.is-style-customer_feedbacks{
align-items: center!important;
}

/*
.is-style-customer_feedback
*/
.is-style-customer_feedback{
font-family: 'Quicksand UD';
padding: 30px;
border-radius: var(--border-radius);
background-color: var(--wp--preset--color--blue-medium);
border: 1px solid white;
width: 400px;}

.is-style-customer_feedback .stars{
margin-top: 1em;}
/* =============================================================== *
   Basic-Wordpress
   Spezifische Stile für WordPress-Elemente
* =============================================================== */
.page-template-default h1,
.page-template-default h2,
.page-template-default h3,
.page-template-default h4,
.page-template-default h5,
.page-template-default h6{
-webkit-hyphens: auto;
hyphens: auto;
}

.page-template-default .entry-content > .wp-block-list{
list-style-position: inside;}

.page-template-default .entry-content > .wp-block-heading{
margin-top: 2em;
margin-bottom: 0.5em;
}

.wp-block-post-title{
    max-width: 1650px;
    margin-left: auto;
    margin-right: auto;
    padding: 1em 0 0;
    margin-bottom: 0em;
    font-size: 54px;
    }

@media screen and (max-width: 1650px){
    .wp-block-post-title{    
        padding: 1em 40px 0;
        }
    }

@media screen and (max-width: 600px){
    .wp-block-post-title{
        font-size: 40px;
        padding: 1em 26px 0;
        }
    }


.entry-content {
    position: relative;
    padding: 40px;
    z-index: 1;
    }

@media screen and (max-width: 600px){
    .entry-content{
        padding: 26px;
        }
    }

.entry-content > *{
    max-width: 1650px;
    }

.entry-content h1{
    margin: 2em 0 3em;
    font-size: 54px;
    line-height: 1.25em;
    }

@media screen and (max-width: 600px){
    .entry-content h1{
        margin-top: 0.5em;
        margin-bottom: 1.5em;
        font-size: 24px;
        }
    }

.entry-content h2{
    margin: 1.5em 0 1.5em;
    font-size: 48px;
    line-height: 1.25em;
    }

@media screen and (max-width: 600px){
    .entry-content h2{
        font-size: 32px;

        }
    }

.entry-content .teaser-text{
    font-size: 24px;
    font-weight: 500;
    }

@media screen and (max-width: 600px){
    .entry-content .teaser-text{
        font-size: 16px;
        }
    }

header .wp-block-navigation__container{
gap: 2vw;
}

/* Custom-Breakpoint für das Mobile-Menü bei 1023px und Entfernung der Standard-Einstellungen für 600px */
@media (min-width: 1023px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
        }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
        }
    #overlay-logo{
        display: none;
        }
    }

@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
        }

    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
        }
    }

.wp-block-button__link.has-background{
padding: 0.25em 1.25em;
filter: drop-shadow(var(--shadow));
transition: all .2s;
}

.wp-block-button__link.has-background:hover{
transform: scale(1.05);
}
.wp-block-cover h1,
.wp-block-cover h2,
.wp-block-cover h3{
-webkit-hyphens: auto;
hyphens: auto;}
.wp-block-cover.alignfull{
max-width: none;
width: calc(100% + 80px);
transform: translate(-40px, 0px);
}

@media screen and (max-width: 600px){
.wp-block-cover.alignfull{
width: calc(100% + 52px); /* 2 x .entry-content: padding: 26px*/
transform: translate(-26px, 0px);
}
}

.wp-block-media-text.has-background{
border-radius: var(--border-radius);
overflow: hidden;}

.wp-block-media-text.has-background .wp-block-heading{
margin-top: 0;
margin-bottom: 1em;}
.wp-block-button{
font-family: "Quicksand UD";}

.wp-block-pullquote{
    font-size: 36px;
    font-style: italic;
    font-weight: bold;
width: 950px;
max-width: 100%;
}

@media screen and (max-width: 800px){
.wp-block-pullquote{
font-size: 30px;
}
}

@media screen and (max-width: 600px){
.wp-block-pullquote{
font-size: 24px;
}
}

@media screen and (max-width: 400px){
.wp-block-pullquote{
font-size: 20px;
}
}


.wp-block-pullquote blockquote{
border-left: 0;
padding-left: 0;
}
/* =============================================================== *
   Theme-Styling
   Stile, die spezifisch für das Theme sind
   Alle Angaben, welche in der theme.json definiert sind, wenn keine Block-Styles 
* =============================================================== */

header .header_row {
    padding: 15px;
padding: 10px 15px 10px 15px;
    }

header .header_row .custom-logo-link img{
    width: auto;
max-width: none;
    height: 70px;
padding: 10px 0;
    }

@media screen and (max-width: 1200px){
	header .header_row .custom-logo-link img{
    max-width: 300px;
    }
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{
    background-color: var(--wp--preset--color--blue-medium);
    color:white;
    padding: 0px;
z-index: 0;
height: 100%;
overflow: hidden;
    }
.wp-block-site-logo{
max-width: calc(100% - 80px);
max-width: calc(100% - 0px);
	
}

.is-menu-open .wp-block-site-logo{
max-width: 200px;
max-width: calc(100% - 60px);
}

.is-menu-open .wp-block-navigation__responsive-container .wp-block-site-logo{
max-width: calc(100% - 40px);
}
.wp-block-site-logo img{
width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    height: calc(100vh - 140px);
    }
.is-menu-open .wp-block-navigation__responsive-close, 
.is-menu-open .wp-block-navigation__responsive-container-content, 
.is-menu-open .wp-block-navigation__responsive-dialog{
   height: 100%;
}
 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, 
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: center;
    font-size: 26px;
    }
.wp-block-navigation__responsive-dialog .wp-block-navigation__responsive-container-close{
margin-top: 20px;
margin-right: -20px;}
#overlay-logo{
    /*position: fixed;*/
    }

#overlay-logo img{
    width: 175px;
    }

#background_layer{
    position: fixed;
    z-index: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background: rgb(34,59,104);
    background: linear-gradient(168deg, rgba(34,59,104,1) 0%, rgba(10,19,35,1) 100%);
    opacity: 0.4;
    }

footer {
    position: relative;
    margin-top: 10vw;
    padding: 3vw 20px 10px 20px;
    font-size: 16px;
    background-color: var(--wp--preset--color--blue-medium);
    }

@media screen and (max-width: 1000px){
    footer{
        margin-top: 10em;
        padding-top: 5em;
        }
    footer .footer_main_content{
        flex-direction: column;
        gap: 100px;
        }
    footer .wp-block-navigation{
        align-self: flex-end;
        }
    }

footer .wp-block-navigation__container{
    transform: translateX(20px);
    padding: 25px;
    margin-top: 4vw;
    margin-bottom: 4vw;
    background: var(--wp--preset--color--blue-dark);
    border-top-left-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
    }

footer .wp-block-navigation{
    display: flex;
    flex-direction: column;
    align-items: end;
    font-size: 34px;
    }

@media screen and (max-width: 600px){
    footer .wp-block-navigation{
        font-size: 20px;
        }
    }

footer .wp-block-navigation a::after{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 900; 
    margin-left: 0.5em;
    content: "\f178";
    transition: all 0.2s;
    }

footer .wp-block-navigation a:hover::after{
    margin-left: 0.75em;
    }

footer .footer_left{
    max-width: 400px;
    }

footer .footer_left img{
    width: 170px;
    height: auto;
    }

footer .navigation_rechtliches{
    display: flex;
    list-style: none;
    gap: 20px;
    width: 100%;
    justify-content: center;
    margin-bottom: 0;
    margin-top: 3em;
    font-weight: 500;
    }

@media screen and (max-width: 900px){
	footer .navigation_rechtliches{
		display: list-item;
	    margin-top: 35vw;
		}
	}

/* 
.wp-block-media-text.is-style-rounded_image
Alternativer Text-Media-Block: BI & Analytics
*/

.wp-block-media-text.is-style-rounded_image{
display: flex;
gap: 40px;
padding: 30px;
border-radius: 36px;
}
.wp-block-media-text.is-style-rounded_image .wp-block-media-text__media{
flex-basis: 40%;
flex-shrink: 0;
align-self: flex-start;}
.wp-block-media-text.is-style-rounded_image img{
border-radius: var(--border-radius);
}

.wp-block-media-text.is-style-rounded_image .wp-block-media-text__content{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
padding: 0;
}

@media screen and (max-width: 1200px){
.wp-block-media-text.is-style-rounded_image .wp-block-media-text__content h2{
font-size: 36px;
}
}

@media screen and (max-width: 900px){
.wp-block-media-text.is-style-rounded_image .wp-block-media-text__content h2{
font-size: 30px;
}
}

@media screen and (max-width: 600px){
.wp-block-media-text.is-style-rounded_image{
flex-direction: column;
padding: 20px;
}
}

/* =============================================================== *
   Components
   Wiederverwendbare Komponenten-Stile (Block-Styles)
* =============================================================== */

/*
WP-Block-Cover
*/
.is-style-cover_text_right{
margin-top: 10vw;
margin-bottom: 10vw;
padding: 0 0 0 40px;
box-sizing: border-box;
max-width: 100%;
}

@media screen and (max-width: 800px){
.is-style-cover_text_right{
margin-top: 0;
}
}

.is-style-cover_text_right .wp-block-cover__inner-container{
padding: 40px;
font-size: 30px;
margin-left: 50%;
background-color: #00000066;
box-sizing: border-box;
align-self: stretch;
display: flex;
}

@media screen and (max-width: 1200px){
.is-style-cover_text_right{
padding: 20px;
}
.is-style-cover_text_right .wp-block-cover__inner-container{
margin-left: 0;
}
}

.is-style-cover_text_right .wp-block-buttons{
width: 100%;
font-size: 28px;
margin-top: 2em;
}

.is-style-cover_text_right h2{
font-size: 54px;
}

@media screen and (max-width: 600px){
.is-style-cover_text_right{
padding: 0;
}
.is-style-cover_text_right .wp-block-cover__inner-container{
padding: 20px;
}
.is-style-cover_text_right .wp-block-cover__inner-container,
.is-style-cover_text_right .wp-block-buttons{
font-size: 18px;
}

.is-style-cover_text_right h2{
font-size: 32px;
}
}


/*
.is-style-text
*/
.is-style-text a{
    padding: 0;
    background: transparent;
}
.is-style-text a::after{
     display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 900; 
    margin-left: 0.5em;
    content: "\f178";
    transition: all 0.2s;
}
.is-style-text a:hover::after{
    margin-left: 0.75em;
    }


/*
.is-style-head_cover
*/

.is-style-head_cover{
min-height: 100vh;
height: auto;
font-size: 24px;
transform: translate(-40px, -40px)!important;
margin-bottom: 10vw;
	background:black;
}

.is-style-head_cover img{
mix-blend-mode:screen;
}

@media screen and (max-width: 1023px){ /* mobile menü*/
.is-style-head_cover{
}
}

@media screen and (max-width: 600px){
.is-style-head_cover{
transform: translate(-26px, -26px)!important;

}
}


.is-style-head_cover img{
opacity: 0.65;
}

.home .is-style-head_cover img,
.home .is-style-head_cover .wp-block-cover__inner-container > *{
opacity: 0;}

.is-style-head_cover .wp-block-cover__inner-container{
width: 800px;
margin-left: 4vw;
margin-right: auto;
}

.is-style-head_cover h1{
font-size: 48px;
margin-top: 0;
margin-bottom: 0.75em;
}

@media screen and (max-width: 600px) {
.is-style-head_cover{
font-size: 18px;
}
.is-style-head_cover h1{
font-size: 32px;
}
    
}

.is-style-head_cover .wp-block-buttons{
margin-top: 2em;
}

/*
.is-style-slick_slider
*/
.is-style-slick_slider,
.is-style-slick_event{
  width: 100%;
  margin: auto;
gap: 40px;
align-items: stretch;
}


.slick-slide
{
    height: inherit !important;
}

@media screen and (max-width: 800px) {
.is-style-slick_slider{
display: flex;
flex-direction: column;
gap: 50px;
}
}
.slick-track {
display: flex!important; 
align-items: center;
gap: 0px;
}

.slick-slide {
box-sizing: border-box;
font-size: 18px;
padding: 0 10px;
}



.is-style-slick_event {
    position: relative;
    display: block;
    box-sizing: border-box;
    width: 100%;
/*
padding-left: 40px;
padding-right: 40px;
*/
    overflow: hidden; /* Verhindert das Überlaufen des Sliders über den Rand */
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.is-style-slick_event .slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%; /* Sicherstellen, dass die Liste den gesamten Container füllt */
}

.is-style-slick_event .slick-track {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    top: 0;
    left: 0;
    width: 100%; /* Flexibel halten, damit es sich an den Inhalt anpasst */
    display: flex; /* Flexbox für korrekte Ausrichtung der Slides */
}

.is-style-slick_event .slick-track:before,
.is-style-slick_event .slick-track:after {
    display: table;
    content: '';
}

.is-style-slick_event .slick-track:after {
    clear: both;
}

.is-style-slick_event .slick-slide {
    display: block;
    float: left;
    height: 100%;
    min-height: 1px;
    box-sizing: border-box;
    width: auto; /* Oder festlegen, z.B. 100% bei 1 Slide pro Ansicht */
}

.is-style-slick_event .slick-slide img {
    display: block;
    max-width: 100%;
    height: auto;
}

.is-style-slick_event .slick-initialized .slick-slide {
    display: block;
}

.is-style-slick_event .slick-arrow.slick-hidden {
    display: none;
}

.is-style-slick_event .slick-arrow{
    background: #ffffff8a;
    border-radius: 100px;
    display: block;
    margin-right: 10px;
margin-left: 10px;
aspect-ratio: 1 / 1;
    color: #1b405c;
    padding: 0px 10px;
}

.is-style-slick_event .slick-prev,
.is-style-slick_event .slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 1;
}

.is-style-slick_event .slick-prev {
    left: 10px;
}

.is-style-slick_event .slick-next {
    right: 10px;
}
.width_100percent{
width: 100%;
}
.gewinn_container{
    margin-left: auto!important;
    margin-right: auto!important;
}

.single_gewinn{
    background: #0c182e4f;
    padding: 20px;
    border-radius: 24px;
}

.single_gewinn + .single_gewinn{
margin-top: 3em;}
.gewinn{
margin-block-start: 0!important;}

.pokal{
font-size: 50px;}


figure.is-style-border_radius{
border-radius: var(--border-radius);
overflow: hidden;
}

figure.wp-block-image figcaption{
background-color: var(--wp--preset--color--blue-dark);
text-align: left;
    margin-top: 0;
    padding: 20px 20px;
    margin-bottom: 0;
}

.is-style-shadow{
filter: drop-shadow(var(--shadow));
}

/*
.is-style-solutions_card (slick)
*/
.is-style-solution_card{
    background: var(--wp--preset--color--blue-dark);
    border-radius: var(--border-radius);
    overflow: hidden;
    display: flex;
    flex-direction: row;    
    gap: 0;
flex-basis: 25%;
}
.is-style-solution_card img{
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.is-style-solution_card .inner_content{
padding: 15px 25px 25px;
width: 100%;
align-self: stretch;
}
.is-style-solution_card .inner_content h3{
line-height: 1.25em;
height: 3.25em;
}

.is-style-solution_card .wp-block-buttons{
margin-top: 1em;
}

/*
.is-style_slick_slider_big
*/
.is-style-slick_slider_big figure{
border-radius: var(--border-radius);
overflow: hidden;
}

.is-style-slick_slider_big img{
width: 100%;
}
/*
.is-style-speaker
*/
.is-style-speaker{
    background-color: var(--wp--preset--color--blue-medium);
    border-radius: var(--border-radius);
    padding: 30px;
    gap: 30px;
    }

@media screen and (max-width: 1200px){
    .is-style-speaker{
        padding: 20px;
        gap: 20px;
        }
    }

@media screen and (max-width: 600px){
    .is-style-speaker{
        padding: 14px;
        gap: 14px;
        }
    }

.is-style-speaker + .is-style-speaker{
    margin-top: 5vw;
    }

@media screen and (max-width: 600px){
    .is-style-speaker + .is-style-speaker{
        margin-top: 3em;
        }
    }

.is-style-speaker * + *{
    margin-top: 1em;
    }

.is-style-speaker img{
    border-radius: 12px;
    }

.is-style-speaker h3{
    font-size: 30px;
    }


@media screen and (max-width: 600px){
    .is-style-speaker h3{
        font-size: 20px;
        }
    }

/*
.is-style-ceo
*/
@media screen and (max-width: 1000px){
.is-style-ceo{
display: flex;
flex-direction: column;
}
.is-style-ceo figure{
width: 100%
}
.is-style-ceo .wp-block-media-text__content{
    padding: 1.5em 2.5em;
}
}

@media screen and (max-width: 600px){
.is-style-ceo .wp-block-media-text__content{
    padding: 1.5em 0em 3em;
}
}


/*
.is-style-statitstics_section -> BI & Analytics
*/

.is-style-statitstics_section {
  gap: 40px;
  align-items: stretch;
}

.is-style-statitstics_section .statistics-container { /* Linke Spalte */
  gap: 40px;
  flex-basis: 50%;
}

.is-style-statitstics_section .statistic_item { /* Box mit Prozentsatz + Text */
  border-radius: var(--border-radius);
  overflow: hidden;
  display: flex;
align-items: stretch;
gap:0;
}

.is-style-statitstics_section .percent_box { /* Prozentsatz-Gruppe */
  flex-basis: 190px;
  flex-shrink: 0;
  text-align: center;
    display: flex;
align-items: center;
}

.is-style-statitstics_section .percent_box .percent { /* Prozentsatz */
  font-size: 56px;
  font-weight: bold;
padding: 0;
}

.is-style-statitstics_section .text_box { /* Text neben Prozentsatz */
  margin-block-start: 0;
  padding: 30px;
  flex: 1; /* Text nimmt den restlichen Platz ein */
}

.is-style-statitstics_section .info_box { /* Rechte Spalte */
  padding: 30px;
  border-radius: var(--border-radius);
  flex-basis: 50%;
}

/* Media Query für Bildschirmbreiten bis 1600px */
@media screen and (max-width: 1600px) {
    .is-style-statitstics_section {
    flex-direction: column;
    }
    .is-style-statitstics_section .statistics-container {
    flex-basis: 100%; /* Volle Breite */
    flex-direction: row; /* Statistik-Items nebeneinander anordnen */
    align-items: stretch;
    }

    .is-style-statitstics_section .statistic_item {
    flex-wrap: wrap; /* Innerhalb der Box dürfen Elemente umbrechen */
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
    flex-direction: column;
    }
    .is-style-statitstics_section .percent_box { /* Prozentsatz */
    width:100%;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    flex-basis: 0;
    }

    .is-style-statitstics_section .info_box {
    flex-basis: 100%; /* Die Info-Box nimmt die volle Breite ein */
    }
}

@media screen and (max-width:800px){
    .is-style-statitstics_section .statistics-container {
    flex-direction: column;
    }
    .is-style-statitstics_section .statistic_item {
    flex-basis: 100%; 
    }
}

@media screen and (max-width:600px){
    .is-style-statitstics_section .text_box { /* Text neben Prozentsatz */
    padding: 20px;
    }

    .is-style-statitstics_section .info_box { /* Rechte Spalte */
    padding: 20px;
    }
}





/*
.is-style-regeln_cards
*/

.is-style-regeln_cards{
gap: 40px;
align-items: stretch;
margin-block-start: 5vw;
margin-block-end: 5vw;
flex-wrap: wrap;
}

.is-style-regeln_cards .card{
padding: 30px;
flex-basis: 360px;
border-radius: var(--border-radius);
filter: drop-shadow(var(--shadow));
}

@media screen and (max-width:600px){
.is-style-regeln_cards .card{
padding: 20px;
}
}

.is-style-regeln_cards .card p:not(:first-of-type){
margin-block-start: 0.5em;
}

/*
.is-style-step_cards
*/
.is-style-step_cards{
gap: 40px;
align-items: stretch;
margin-block-start: 5vw;
margin-block-end: 5vw;
}
.is-style-step_cards .card{
border-radius: var(--border-radius);
overflow: hidden;
flex-basis: 360px;
}

.is-style-step_cards .card_head,
.is-style-step_cards .card_body{
width: 100%;
padding: 30px;}

.is-style-step_cards .wp-block-list.card_body{
padding-left: 50px;
}


.is-style-step_cards .card_body + .card_body{
padding-top: 0px;
}


@media screen and (max-width: 600px){
.is-style-step_cards .card_head,
.is-style-step_cards .card_body{
padding: 20px;
}
}

.is-style-step_cards .card,
.is-style-step_cards .card_head{
gap: 0;
}
.is-style-step_cards *{
margin-block-start: 0!important;
}

/*
*/
.is-style-step_cards.column_3 .card{
flex-basis: 500px;
}







/*
.is-style-step_cards_drop_down
*/

.is-style-step_cards_drop_down{
    gap: 40px;
    align-items: stretch;
    margin-block-start: 5vw;
    margin-block-end: 5vw;
}

.is-style-step_cards_drop_down .card{
border-radius: var(--border-radius);
overflow: hidden;
flex-basis: calc(33.333% - 40px);
}

@media screen and (max-width: 1200px) {
	.is-style-step_cards_drop_down .card{
		flex-basis: calc(50% - 20px);
	}	
}

@media screen and (max-width: 800px) {
	.is-style-step_cards_drop_down .card{
		flex-basis: 500px;
	}	
}


.is-style-step_cards_drop_down .card_head,
.is-style-step_cards_drop_down .card_body{
width: 100%;
padding: 30px;
}


.is-style-step_cards_drop_down .card_body{
font-size: 18px;
flex-grow: 1;
}

.is-style-step_cards_drop_down .wp-block-list.card_body{
padding-left: 50px;
}

.is-style-step_cards_drop_down .card_body + .card_body{
padding-top: 0px;
}

@media screen and (max-width: 600px){
.is-style-step_cards_drop_down .card_head,
.is-style-step_cards_drop_down .card_body{
padding: 20px;
}
}

.is-style-step_cards_drop_down .card,
.is-style-step_cards_drop_down .card_head{
gap: 0;
}
.is-style-step_cards_drop_down *{
margin-block-start: 0!important;
}

.is-style-step_cards_drop_down.column_3 .card{
flex-basis: 500px;
}

.is-style-step_cards_drop_down .wp-block-buttons{
    width: 100%;
    padding: 0 0 30px;
    box-sizing: border-box;
}








/* =============================================================== *
   Layout
   Stile für Layout-Elemente wie Gruppen, Grids, Spalten usw.
* =============================================================== */

/* 
Block-Style: Sticky
*/

.is-style-sticky_container {
    gap: 100px;
    }

@media screen and (max-width: 1000px){
    .is-style-sticky_container {
        flex-direction: column-reverse;
        gap: 200px;
        }
    .is-style-sticky_container.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{
        flex-basis: unset!important;
        flex-grow: unset!important;
        }
    }

@media screen and (max-width: 600px){
    .is-style-sticky_container {
        gap: 100px;
        }
    }

.is-style-sticky_container >*:not(.is-style-sticky){
    min-height: 100vh;
    }

.is-style-sticky_container > .is-style-sticky{
    position: sticky;
    display: block;
    top: 1em;
    max-width: 500px;
    height: fit-content;
    }

@media screen and (max-width: 1000px){
    .is-style-sticky_container > .is-style-sticky {
        top: 0em;
        position: relative;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        }
    }


/* 
Formulare allgemein
*/

.frm_none_container label{
    display: none;
    }

.frm_verify{
    display: none;
    }

.frm_pro_form fieldset{
    border: none;
    }

.frm_pro_form{
    background-color: var(--wp--preset--color--blue-medium);
    }

.frm_pro_form .frm_fields_container{
    padding: 40px;
    }

@media screen and (max-width: 1200px){
    .frm_pro_form .frm_fields_container{
        padding: 30px 30px;
        }
    }

@media screen and (max-width: 600px){
    .frm_pro_form .frm_fields_container{
        padding: 30px 20px;
        }
    }

.frm_pro_form .frm_form_field + .frm_form_field{
    margin-top: 30px;
    }

@media screen and (max-width: 600px){
    .frm_pro_form .frm_form_field + .frm_form_field {
        margin-top: 24px;
        }
    }

.frm_pro_form fieldset legend{
    display: none;
    }

.frm_pro_form input,
.frm_pro_form textarea{
    margin: 0;
    width: 100%;
    border: 1px solid white;
    border-radius: 12px;
color:white;
    background: transparent;
    opacity: 0.8;
    transition: all 0.2s;
    }
.frm_pro_form textarea{
line-height: 1.5em;
    }

.frm_pro_form .frm_button_submit{
    display: block;
    margin: 1em 0 0 auto;
    padding: 10px 20px;
    color: white;
    background-color: var(--green_light);
    font-family: 'Quicksand UD';
    font-weight: 800;
    font-size: 20px;
    line-height: 1em;
    border-radius: 100px;
    filter: drop-shadow(var(--shadow));
    }

@media screen and (max-width: 600px){
    .frm_pro_form .frm_button_submit {
        margin: 1.5em 0 0 auto;
        font-size: 16px;
        }
    }

.frm_pro_form .frm_button_submit::after{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 900; 
    margin-left: 0.5em;
    content: "\f1d8";
    transition: all 0.2s;
    }

.frm_pro_form .frm_button_submit:hover::after{
    margin-left: 1em;
    }

.frm_pro_form textarea:focus,
.frm_pro_form input:focus  {
    border: 1px solid;
    color: white;
    background: #1b405c;
    opacity: 1;
    filter: drop-shadow(var(--shadow));
    transform: scale(1.0125);
    }


.frm_message,
.frm_error_style{
    background-color: var(--wp--preset--color--blue-medium);
    padding: 20px;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}
/* 
Formuler Events 
*/

#form_contact_form_events{
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    }

.above_form{
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
    padding: 32px;
    }

@media screen and (max-width: 600px){
    .above_form{
        padding: 20px;
        }
    }



/*
Cybersecurity Formular
*/


.is-layout-flex.form_cybersecurity_outer_container{
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
max-width: none;
z-index: 2;
background: #04111bf0;
display: flex;
align-items: center;
opacity: 0;
pointer-events: none;
}

.is-layout-flex.form_cybersecurity_outer_container.visible{
opacity: 1;
transition: opacity 0.2s ease-in-out;
pointer-events:all;
}




/*Form */
.form_cybersecurity_inner_container{
	border-radius: var(--border-radius);
overflow: hidden;
max-width: calc(100% - 20px);
}
.form_cybersecurity_inner_container .frm_pro_form .frm_form_field + .frm_form_field{
margin-top: 1em;
}
.form_cybersecurity_inner_container .frm_message,
.form_cybersecurity_inner_container .frm_error_style{
max-width: 400px;
}
.form_cybersecurity_inner_container .wp-block-heading{
margin: 0;
padding: 30px 30px 0.5em;
font-size: 30px;
}

@media screen and (max-width: 450px) {
.form_cybersecurity_inner_container .wp-block-heading{
padding: 1em 1em  0.5em;
font-size: 20px;
}
}

.form_cybersecurity_inner_container .frm_pro_form .frm_fields_container{
padding: 0 30px 30px;
}

@media screen and (max-width: 450px) {
.form_cybersecurity_inner_container .frm_pro_form .frm_fields_container{
padding: 0 1em 1em;
}	
}

.form_cybersecurity_inner_container .is-style-cybersecurity_form .frm_primary_label{
display: none;
}

/* checkbox container */
.form_cybersecurity_inner_container .is-style-cybersecurity_form .services .frm_opt_container div + div{
margin-top: 0.5em;
}

.form_cybersecurity_inner_container .is-style-cybersecurity_form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid var(--green_light);
  border-radius: 100px;
  background-color: white;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease-in-out;
  outline: none;
padding: 10px;
}
@media screen and (max-width: 450px) {
.form_cybersecurity_inner_container .is-style-cybersecurity_form input[type="checkbox"] {
padding: 8px;
}
}


.form_cybersecurity_inner_container .is-style-cybersecurity_form input[type="checkbox"]:hover {
  border-color: var(--green_light);
}

.form_cybersecurity_inner_container .is-style-cybersecurity_form input[type="checkbox"]:checked {
  background-color: var(--green_light);
  border-color: var(--green_light);
}

.form_cybersecurity_inner_container .is-style-cybersecurity_form input[type="checkbox"]:checked::after {
  content: "✔";
  font-size: 14px;
  color: white;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.form_cybersecurity_inner_container .is-style-cybersecurity_form label {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: white;
  cursor: pointer;
  gap: 10px;
}

@media screen and (max-width: 450px) {
.form_cybersecurity_inner_container .is-style-cybersecurity_form label {
  font-size: 14px;
}
}


.form_cybersecurity_inner_container .is-style-cybersecurity_form input[type="checkbox"]:focus {
  outline: 2px solid #005fa3;
  outline-offset: 2px;
}








/* 
Kontaktformular vor Footer
*/
.prefooter{
    position: relative;
    background-color: var(--wp--preset--color--blue-dark);
    border-radius: var(--border-radius);
    margin: 30vw auto 20vw;
    max-width: 1000px;
    width: calc(100% - 40px);
    overflow: hidden;
    justify-content: space-between;
align-items: stretch;
}

.prefooter .additional_content{
    flex-basis: 500px;
    padding: 40px;
}

.prefooter .additional_content h2{
    font-size: 36px;
    line-height: 1.25em;
    margin-bottom: 1em;
}
.prefooter .frm_forms{
flex-basis: 50%;
}

.prefooter .frm_message,
.prefooter .frm_error_style {
height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom-left-radius: 0;
}

@media screen and (max-width: 900px){
    .prefooter{
        flex-direction: column;
        }

    .prefooter .additional_content{
        flex-direction: column;
        flex-basis: 300px;
		flex-grow:1;
    	flex-wrap:wrap;
		max-width: 100%;
        }
    }

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

.prefooter .additional_content{
padding: 24px;
}
.prefooter .additional_content h2{
    margin-bottom: 0.5em;
}
}
/* =============================================================== *
   Module
   Stile für modulare Elemente wie Slider, Tabs usw.
* =============================================================== */
.single_event_item_container{

}
#event_form a{
text-decoration: underline;
}
.single_event_item{
overflow: hidden;
background-color: var(--wp--preset--color--blue-dark);
border-radius: var(--border-radius);
filter: drop-shadow(var(--shadow));
max-width: 1000px;
margin: auto;
}

@media screen and (max-width: 600px){
.single_event_item{
flex-direction: column;}
}


.single_event_item_container + .single_event_item_container, /* Struktur bei Teaser (Home) */
.single_event_item + .single_event_item{
margin-top: 80px;}


.single_event_item .datum_container{
display: flex;
flex-direction: column;
flex-basis: 200px;
flex-shrink: 0;
justify-content: center;
align-items: center;
font-weight: 500;
line-height: 1;
background-color: var(--wp--preset--color--blue-medium);
}



.single_event_item .datum_container .day{
font-size: 60px;
}

.single_event_item .datum_container .month{
font-size: 28px;
}

@media screen and (max-width: 600px){
.single_event_item .datum_container{
flex-basis: 100px;
}
.single_event_item .datum_container .day{
font-size: 52px;
}

.single_event_item .datum_container .month{
font-size: 24px;
}
}

.single_event_item .content_container{
padding: 40px 40px 20px 40px;
font-size: 18px;
font-weight: 500;
}

@media screen and (max-width: 600px){
.single_event_item .content_container{
padding: 26px;
}
}

.single_event_item .content_container h2{
font-size: 28px;
margin-top: 0;
margin-bottom: 1em;
}

@media screen and (max-width: 600px){
.single_event_item .content_container h2 {
font-size: 24px;
margin-bottom: 0.5em;
}
}

.single_event_item .event_details{
margin-top: 1em;
gap: 3em;
width: 100%;
}

@media screen and (max-width: 1000px){
.single_event_item .event_details{
flex-direction: column;
align-items: flex-start;
gap: 0.25em;
}
}

.single_event_item .event_details .location{
margin-block-start: 0;
}

.single_event_item .event_details .time::before,
.single_event_item .event_details .location::before{
   display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 900; 
    margin-right: 0.5em;
    content: "\f017";
    transition: all 0.2s;
}

.single_event_item .event_details .location::before{  
    content: "\f3c5";
}

.single_event_item .wp-block-buttons{
margin-left: auto;
}

.single_event_item .wp-block-button{
font-weight: 800;
letter-spacing: 1px;
}

@media screen and (max-width: 1000px){
.single_event_item .wp-block-buttons{
margin-top: 1em;
}
}

/*
Events-Teaser
*/
.wp-block-buttons.events_buttons{
max-width: 1000px;}

.width_600{
width: 600px;
max-width: 100%;
}

.anchored_right{
margin-left: 0!important;
margin-right: auto!important;}
/* =============================================================== *
   Seitenstile
   Spezifische Stile für bestimmte Seiten oder Seitentypen
* =============================================================== */

.wp-block-heading.untertitel{
margin-top: calc(2.75 * -54px);
font-weight: 100;
font-size: 37px;
margin-bottom: 4em;
}

@media screen and (max-width: 600px) {
.wp-block-heading.untertitel{
margin-top: calc(1.5 * -24px);
font-size: 18px;
margin-bottom: 4em;
}    
}

.teilnahme_freiwillig{
margin-block-start: -3.5em!important;
margin-bottom: 3em;
}

@media screen and (max-width: 600px) {
.teilnahme_freiwillig{
margin-block-start: -2.5em!important;
}
}

h3.has-text-align-center{
width: 100%;}

.wp-block-site-logo a.wp-block-navigation-item__content{
line-height: 1em;
}

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

.wp-block-site-logo .wp-block-navigation-item.wp-block-navigation-link +  .wp-block-navigation-item{
margin-top: 2em;}
}


.grecaptcha-badge{
opacity: 0;
pointer-events: none;
}


/* =============================================================== *\ 
   Title
\* =============================================================== */
.wp-block-buttons.next_events{
    position: fixed;
    top: 90%;
opacity: 0;
    right: -200px; /* Versteckt es außerhalb des Viewports */
    z-index: 100;
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
overflow: hidden;
}


.wp-block-buttons.next_events a::before{
   display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Pro"; 
    font-weight: 900; 
    margin-right: 0.5em;
    content: "\f073";
    transition: all 0.2s;
}


/* =============================================================== *\ 
   Title
\* =============================================================== */
.is-style-ceo figure{
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
overflow: hidden;
}
.is-style-ceo_legende{
    background: var(--wp--preset--color--blue-dark);
    padding: 15px 25px 25px;
    width: 100%;
    align-self: stretch;
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
}

.is-style-ceo_legende .wp-block-group{
gap: 0;
}
.is-style-ceo_legende a{
    border-bottom: 1px solid;
}
.is-style-ceo_legende p{
margin-block-start: 0;
font-weight: 400;
}