:root {
    --farbeschriftdefault: #000;
    --orange: #f7a600;
    --breitelayout: 1180px;
    --zweispaltig: 590px;
    --abstandinhalte: 40px;
}


/* Schriften einbauen 
"Open Sans",Helvetica,Arial,sans-serif
*/
/* open-sans-300 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 300;
    src: url('/fileadmin/fonts/open-sans-v35-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* open-sans-300italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 300;
    src: url('/fileadmin/fonts/open-sans-v35-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-300italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* open-sans-regular - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url('/fileadmin/fonts/open-sans-v35-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* open-sans-italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    src: url('/fileadmin/fonts/open-sans-v35-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  
  /* open-sans-600 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url('/fileadmin/fonts/open-sans-v35-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* open-sans-600italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 600;
    src: url('/fileadmin/fonts/open-sans-v35-latin-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-600italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* open-sans-800 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 800;
    src: url('/fileadmin/fonts/open-sans-v35-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* open-sans-800italic - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 800;
    src: url('/fileadmin/fonts/open-sans-v35-latin-800italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/fileadmin/fonts/open-sans-v35-latin-800italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}


body{
    font-family: "Open Sans",Helvetica,Arial,sans-serif;
    color: var(--farbeschriftdefault);
    margin: 0;
    padding: 0;
    min-height: 100vh; /* Mindestens 100% Höhe des Viewports */
    display: flex;
    flex: 1;
    flex-direction: column; /* Inhalte werden in Spalte angeordnet */
    
}

html{
    font-size: 16px
}

html.large{
    font-size: 20px
}

html.larger{
    font-size: 24px
}

#linkdigital{
    position: absolute;
    width: 250px;
    height: 300px;
    left: calc(50% - 520px);
    top: 300px;
    border: 0px solid #ccc
}


#linkmesse{
    position: absolute;
    
    width: 250px;
    height: 300px;
    left: calc(50% + 300px);
    top: 300px
}

.divlink{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

video{
    width: 100% !important;
    height: auto
}

.text-left{
    text-align: left;
}

.text-right{
    text-align: right;
}

.text-center{
    text-align: center;
}

strong{
    font-weight: 600;
}

#startbackground{
    position: relative;
    margin: 0; /* Entfernt den Seitenrand, um die gesamte Seitenfläche zu nutzen */
    padding: 0; /* Entfernt den Innenabstand des Body-Elements */
    background-color: transparent; /* Hintergrundfarbe ändern, falls gewünscht */
    background-image: url('/fileadmin/images/Titelbild_Ausbildungsmesse_es_liegt_in_deiner_hand.jpg'); /* Hintergrundbild einfügen, falls gewünscht */
    background-size: cover; /* Das Hintergrundbild so skalieren, dass es die gesamte Fläche abdeckt */
    background-repeat: no-repeat; /* Verhindert die Wiederholung des Hintergrundbilds */
    min-height: 100vh;
    max-height: 100vh;
    background-attachment: fixed;
}

body.kontrast #startbackground{
    background-image: url('/fileadmin/images/Desktop_Handy.jpg'); /* Hintergrundbild einfügen, falls gewünscht */
}

.dreispaltigicons{
    width: 100%;
    margin-top: 40px;
}

.dreispaltiginner{
    width: 80%;
    margin: 0 auto;
    text-align: center;
}

.dreispaltiginner .starticons{
    float: left;
    width: calc(33% - 40px);
    text-align: center;
    padding: 0 20px
}

.starticons h2{
    font-size: 0.75rem;
    letter-spacing: 2px;
    font-weight: 400
}

.starticons p{
    font-size: 0.9rem;
    letter-spacing: 1.5px;
}

.starticons.icon1 i{
    color: rgb(3, 169, 244);
    font-size: 3.6rem;
    font-weight: small
}
.starticons.icon2 i{
    color: rgb(255, 152, 0);
    font-size: 3.6rem;
    font-weight: small
}
.starticons.icon3 i{
    color: rgb(140, 35, 159);
    font-size: 3.6rem;
    font-weight: small
}


main {
    flex: 1; /* Füllt den verfügbaren Platz aus */
}

a{
    display: inline-block;
    color: var(--farbeschriftdefault)
}

/*
.frame{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
*/

.frame{
    display: flex;
    flex-direction: column;
}

/*
#header {
    background-color: lightblue;
    padding: 20px;
}
*/


#content {
    flex: 1;
    padding: 20px
}

#footer {
    float: left;
    clear: both;
    padding: 30px;
    margin: 40px 0 -40px 0;
    width: calc(100% - 60px);
    text-align: center;    
    color: #8E9DAE;
    background: #fafafa;
    -webkit-box-shadow: 0px 0px 32px -2px #000000; 
    box-shadow: 0px 0px 32px -2px #000000;
}

/* Navi */
#header {
    display: flex;
    padding: 10px;
}

body#start #header {
    position: fixed;
    display: flex;
    flex-direction: row;
    top: 0;
    left: 0;
    width: calc(100% - 40px);
    background-color: #fff;
    padding: 20px;
    z-index: 101;
}

#header.schattenunten{
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.5);
}

body#start #header.headerweiss{
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.5);
    background-color: #fff
}

body#start #header.headerweiss ul li a{
    color: #333
}

body#start #header .hamburgerrow ul li a{
    color: #fff !important
}

body#start #header.headerweiss #header_logo, body#start #header_logo a{
    color: #000
}

body#start #header{
    background-color: transparent;
}

#header_logo{
    display: flex;
    width: 100%;
    flex-direction: column;
    color: #000;
    font-size: 1.6rem;
    line-height: 100%;
    font-weight: 600;
    text-transform: uppercase;
    border: 0px solid #fff
}

#start #header_logo{
    flex: 1; /* Nimmt den restlichen Platz ein */
    text-align: left;
}

#start #header_logo, #start #header_logo a{
    color: #fff
}

#header_logo .logozeile1{
    display: inline-flex;
    float: left
}

#header_logo .logoneumarkt{
    font-weight: normal
}

#header_logo .logoopf{
    display: inline-flex
}

#header_logo a{
    text-decoration: none;
}

#header_logo #logotext{
    
    color: #000;
    font-size: 1.7rem;
    line-height: 100%;
    font-weight: 600;
    text-transform: uppercase;
    margin-right: 20px;
    margin-bottom: 20px
}

#header_logo #datum{
    
    font-size: 1.7rem;
    font-weight: 300;
    line-height: 1;
    text-transform: unset;
}

#header_logo #datum span{
  white-space: wrap
}

#header_menue{
    padding: 20px;
    margin-left: 10px;
    text-align: center;
}

#header .headericons1{
    display: flex;
    padding: 20px;
    margin-left: 10px;
    text-align: center;
}

#header .kontrasticon{
    margin-right: 26px
}

#header .kontrasticon img{
    max-width: 30px;
    min-width: 30px;
    height: auto;
    margin-top: -5px;
    transition: transform 1.0s ease; /* Sanfte Animation für das Drehen */
    cursor: pointer;
}

#header .font-sizer1{
    display: flex;
    flex-direction: row;
}

#header .headericons2{
    display: none
    
}

#header .font-sizer span{
    line-height: 1.1rem;
    padding-right: 14px
}

#header .font-sizer span:nth-child(1){
    font-size: 1rem
}

#header .font-sizer span:nth-child(2){
    font-size: 1.5rem
}

#header .font-sizer span:nth-child(3){
    font-size: 2rem
}

#header .font-sizer span a{
    text-decoration: none;
    cursor: pointer;
}

/*
body#start #header .font-sizer{
    background-color: rgb(0, 0, 0, 0.4);
    padding: 10px;
    padding-right: 0;
    margin-top: -10px;
    margin-right: 20px;
    border-radius: 5px;
    height: min-content
}*/

body#start #header .font-sizer span a{
    color: #fff
}

body.kontrast#start #header .font-sizer span a{
    color: #333
}

body#start #header.headerweiss .font-sizer span a{
    color: #333
}

#header ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-end;
}

#header ul li{
    margin-right: 20px;
}

#header ul li a{
    text-decoration: none;
    text-transform: uppercase;
    color: #333;
    font-weight: 600;
    border-bottom: 0px;
    padding-bottom: 4px
}

#start #header ul li a{
    color: #fff
}

body.kontrast#start #header ul li a{
    color: #333
}

#header ul li a:hover{
    border-bottom: 3px solid #03a9f4
}

#header ul li.active a{
    border-bottom: 3px solid #03a9f4
}

/* Inhalt */
#inhalt{
    width: 100%;
    height: 100%;
    margin: 0 auto;
    margin-bottom: var(--abstandinhalte);
}

#inhaltmithintergrund{
    background-image: url('/fileadmin/images/messehalle_bg.jpg');
    background-size: cover; /* Das Bild wird so skaliert, dass es den Container vollständig abdeckt */
    background-repeat: no-repeat; /* Das Bild wird nicht wiederholt */
    background-position: center center; /* Das Hintergrundbild in der Mitte zentrieren */
    background-attachment: fixed; /* Das Hintergrundbild fixieren */
    width: 100%;
    flex: 1; /* Füllt den verfügbaren Platz aus */
}

body.kontrast #inhaltmithintergrund{
    background: unset
}

.ce-textpic .ce-bodytext header > h2{
    margin: 0;
    padding: 0;
    line-height: 1.15rem
}

.ce-textpic .ce-bodytext header > h3{
    margin-top: 10px
}

.kategoriecontainer{
    display: flex;
    flex-wrap: wrap;
}

.kategoriecontainerbox{
    flex: 1 calc(33.33% - 20px); /* Drei Container nebeneinander mit gleichem Abstand (minus 20px für den Abstand) */
    display: flex;
    height: 60px; /* Ändern Sie die Höhe nach Bedarf */
    background-color: #f7a600; /* Ändern Sie die Hintergrundfarbe nach Bedarf */
    margin-right: 20px; /* Abstand zwischen den Boxen */
    margin-bottom: 20px; /* Abstand zur nächsten Zeile */
    justify-content: center; /* Horizontal zentrieren */
    align-items: center; /* Vertikal zentrieren */
}

body.kontrast .kategoriecontainerbox{
    background-color: unset;
    border: 1px solid #000
}

.kategoriecontainerbox a{
    text-decoration: none;
    font-size: 1.125rem
}

.bildmenuecontainer{
    display: flex;
    flex-wrap: wrap;
}

.bildmenuecontainerbox{
    flex-basis: calc(25% - 20px); /* Vier Container nebeneinander mit gleichem Abstand (minus 20px für den Abstand) */
    margin: 10px; /* Abstand um die Container */
}

body.kontrast .bildmenuecontainerbox{
    flex-basis: calc(25% - 22px);
    border: 1px solid #000

}

.bildmenuecontainerbox img{
    width: 100%;
    height: auto;
}


.frame-default, .zweispaltig, .dreispaltig{
    
    max-width: var(--breitelayout);
    margin: 0 auto;
    margin-bottom: var(--abstandinhalte)
}

.dreispaltig img{
    max-width: calc(var(--breitelayout) / 3);
    height: auto
}

.frame-default header{
    display: block;
    width: 100%
}

.frame-default hr{
    border: none;
    border-top: 1px solid #000000; /* Farbe des Trenners anpassen */
    margin: 20px 0; /* optional: Abstand oberhalb und unterhalb des Trenners anpassen */
}

.frame ul{
    padding-left: 24px
}

/* Überschriften */

h2, h3{
    font-weight: normal;
}

h1.orange{
    font-size: 2rem;
    color: var(--orange);
    margin: 10px 0;
}

h2.orange{
    font-size: 1.5rem;
    color: var(--orange);
    margin: 5px 0
}

body.kontrast h2.orange{
    color: unset
}

h3.orange{
    font-size: 1.7rem;
    color: var(--orange);
    margin: 10px 0;
    font-weight: 300
}

body.kontrast h3.orange{
    color: unset
}

/* Anpassungen Elemente */
.ce-intext.ce-left .ce-gallery{
    margin-left: 0px;
    margin-right: 40px
}

.hamburgerrow{
    display: none
}
.hamburgerrow{
    position: relative;
    /* width: 100% */
}

label.hamburg { 
    display: block;
    position:absolute;
    right: 2%;
    background: #434343; 
    width: 75px; 
    height: 70px;
}
 
 input#hamburg {display:none}

 .line { 
    position: absolute; 
    left: 10px;
    height: 4px; 
    width: 54px; 
    background: #fff; 
    border-radius: 2px;
    display: block; 
    transition: 0.5s; 
    transform-origin: center; 
 }
 
 .line:nth-child(1) { top: 20px; }
 .line:nth-child(2) { top: 36px; }
 .line:nth-child(3) { top: 50px; }
 
 #hamburg:checked + .hamburg .line:nth-child(1){
    transform: translateY(12px) rotate(-45deg);
 }
 
 #hamburg:checked + .hamburg .line:nth-child(2){
    opacity:0;
 }
 
 #hamburg:checked + .hamburg .line:nth-child(3){
    transform: translateY(-18px) rotate(45deg);
 }

 #hamburg:checked + .hamburg  + nav.topmenu { 
    max-height: 600px;
    display: block;
}

body #header nav ul{
    display: block;
    margin: 0
}

nav.topmenu{
    display: block;
    width: 110%;
    min-width: 320px;
    background: #434343;
    position: absolute;
    top: 98px;
    right: 0;
    height: auto; 
    max-height:0; 
    overflow: hidden; 
    transition: all 0.5s;
}

nav.topmenu ul li{
    display: block;
    float: left;
    clear: both;
    width: 100%;
    padding: 20px ;
    border-bottom: 1px solid #ccc
}

nav.topmenu ul li:hover{
    opacity: 0.5;
    background: #969696
}

#header nav ul li a{
    display: block;
    width: 100%;
    color: #fff
}
#header nav ul li a:hover{
    border-bottom: unset
}

.ce-gallery[data-ce-columns="2"] .ce-column{
	width: calc(50% - 10px)
}
.ce-gallery[data-ce-columns="3"] .ce-column{
	width: calc(33% - 10px)
}
.ce-gallery[data-ce-columns="4"] .ce-column{
	width: calc(25% - 10px)
}

/* Abstände vor und danach */
.frame-space-before-extra-small{
    margin-top: 10px
}

.frame-space-before-small{
    margin-top: 20px
}

.frame-space-before-medium{
    margin-top: 30px
}

.frame-space-before-extra-large{
    margin-top: 100px
}

.frame-space-after-extra-large{
    margin-bottom: 50px
}

.frame-type-textpic .ce-gallery img{
    display: inline-block
}

/* Filter */
.hidden{
    display: none
}

#filterboxausbildungsliste{
    display: flex;
    flex-direction: column; /* Ordnet die Elemente untereinander an */
    width: 100%; /* Nimmt die volle Breite des Elternelements ein */
}

.filterheader, #filtertext, #filterberufe{
    width: calc(100% - 40px); /* Reduziert die Breite um 40px */
    background-color: transparent;
    opacity: 1;
    padding: 20px;
}

.filterheader{
    border: 1px solid #000
}

#filtersuchheaderpfeilnachunten, #filtersuchheaderpfeilnachoben{
    position: relative; /* Um den Pfeil absolut zu positionieren */
    width: 100%;
    background-color: transparent;
    opacity: 1;
    box-sizing: border-box; /* Einschließt Padding und Border in die Breite */
    overflow: hidden; /* Verhindert, dass Inhalte überfließen */
    cursor: pointer; /* Ändert den Mauszeiger bei Hover */
}

#filtersuchheaderpfeilnachunten::after{
    content: '⬋'; /* Unicode für einen Pfeil */
    position: absolute;
    right: 20px; /* Abstand vom rechten Rand */
    top: 50%; /* Vertikale Zentrierung */
    transform: translateY(-50%); /* Vertikale Zentrierung */
    font-size: 1.6rem; /* Schriftgröße des Pfeils */
}

#filtersuchheaderpfeilnachoben::after{
    content: '⬉'; /* Unicode für einen Pfeil */
    position: absolute;
    right: 20px; /* Abstand vom rechten Rand */
    top: 50%; /* Vertikale Zentrierung */
    transform: translateY(-50%); /* Vertikale Zentrierung */
    font-size: 1.6rem; /* Schriftgröße des Pfeils */
}

#filtertext, #filterberufe{
    display: none
}

#filterberufe{
    columns: 3; /* 4 Spalten */
    -webkit-columns: 3;
    -moz-columns: 3;
    column-gap: 20px;
}

/* Responsive für kleinere Bildschirme */
@media (max-width: 990px) {
    #filterberufe {
        columns: 2; /* 4 Spalten */
        -webkit-columns: 2;
        -moz-columns: 2;
    }
}

@media (max-width: 710px) {
    #filterberufe {
    columns: 1; /* 4 Spalten */
    -webkit-columns: 1;
    -moz-columns: 1;
}

.filterberufwrap{
    white-space: nowrap;
    padding: 5px; /* Optional: Füge etwas Abstand zwischen den Elementen hinzu */
}

.filterberufwrap input{
    margin-right: 10px; /* Abstand zwischen Checkbox und Label */
}

.filterberufwrap label {
    white-space: nowrap; /* Verhindert, dass der Text umgebrochen wird */
    overflow: hidden;
    text-overflow: ellipsis; /* Optional: Kürzt den Text mit "..." bei Überlauf */
}