/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* 

Dunkelblau          #053E5A  
Schriftblau         #027EA7 
Hellblau Schrift    #0A90C3
Hellblau            #6cb3d8   
Rot                 #FF3F41 

*/
html,
body                        { scroll-behavior: smooth !important; }

.fusion-layout-column .fusion-column-wrapper { margin-left: 0 !important; }

#main                     { padding-bottom: 0 !important; }

#megamenu                 { z-index: 99999; }
.logo-header              { z-index: 99980 !important; }
.home .logo-header        { position: fixed !important; top: 20px !important; color:  #027EA7; 
                            transition: opacity 1000ms ease !important; opacity: 0; pointer-events: none; }

.home .logo-header.is-visible   { opacity: 1; pointer-events: auto; }

.fusion-tb-header               { margin-bottom: 15px; }

.fusion-tb-header::before       { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 15px; z-index: 1;
                                    pointer-events: none; 
                                    background: linear-gradient(
                                        90deg,
                                        #0B526D 0%, 
                                        #97D7A8 53%, 
                                        #F0F0F0 100%
                                        );  } 

.home .fusion-tb-header::before { content: none !important; }

body:not(.home) .logo-header-container        { padding-top: 20px !important;}


#menu-toggle    { position: fixed; top: 50px; left: calc(50% + 400px); padding: 20px 25px 25px 25px; background-color: #FF3F41; 
                  border-radius: 15px; border: 1px solid #FF3F41; z-index: 99999; }

.hamburger      { width: 66px; height: 66px; cursor: pointer; transition: 0.3s ease; } 
.hamburger span { position: absolute; width: 20px; height: 2px; background: #ffffff; transition: 0.4s ease; } 

/* Treppen-Anordnung */
.hamburger span:nth-child(1)        { top: 24px; left: 28px; } 
.hamburger span:nth-child(2)        { top: 32px; left: 23px;  } 
.hamburger span:nth-child(3)        { top: 40px; left: 18px;  } 


/* Option: leichte vertikale Anpassung für ein glattes Erscheinungsbild */
.hamburger:hover span:nth-child(1) { top: 26px; left: 23px; }
.hamburger:hover span:nth-child(2) { top: 32px; left: 23px; }
.hamburger:hover span:nth-child(3) { top: 38px; left: 23px; }

/* Active-Zustand → größeres X und dickere Striche */
.hamburger.active span:nth-child(1) { top: 31px; left: 19px; width: 25px; height: 3px; transform: rotate(45deg); } 
.hamburger.active span:nth-child(2) { opacity: 0; } 
.hamburger.active span:nth-child(3) { top: 31px; left: 19px; width: 25px; height: 3px; transform: rotate(-45deg); } 

/**************************/
/*  MEGAMENU              */
/**************************/
.megamenu-container .nix-header                     { display: none !important; }

.megamenu-container             { position: fixed !important; top: 0 !important; left: 0; width: 100vw; height: 100vh; 
                                    transform: translateY(-100%); opacity: 1; background: #0B526D !important;
                                  transition: transform 0.35s ease-in-out !important; pointer-events: none; box-sizing: border-box; z-index: 99990 !important; padding: 0; 
                                   background-image: url('img/hintergrund/verlauf-menu-2.svg') !important; background-size: cover !important; background-repeat: no-repeat !important; 
                                    }   
                                
                                  

.megamenu-container.active      { transform: translateY(0); pointer-events: auto; padding: 60px 6%; }
                                     

.megamenu-container h1          { font-size: 2rem; margin-bottom: 0.6rem; color: #fff !important;} 
.megamenu-container a           { display: inline-block;  text-decoration: none; color: #fff; } 


.megamenu-container .spalte-1           { margin-bottom: 0; }
.megamenu-container .spalte-1 a         { color: #ffffff !important; font-size: 16px; text-decoration: none; font-weight: 300; 
                                           } 

 #menu-menu-spalte-1                                    { gap: 20px !important; }                                         
.megamenu-container .spalte-1 a:hover                   { color: #97D7A8 !important; }
.megamenu-container .spalte-1 .current-menu-item a      { color: #97D7A8 !important; }
.logo-megamenu img                                      { opacity: 0.75; margin-bottom: 80px; }                         

.megamenu-container .spalte-2           { margin-top: 80px; }

.megamenu-container .spalte-2 a         { color: #97D7A8 !important; font-size: 30px; text-decoration: none; font-weight: 600; 
                                            letter-spacing: 0.3px; line-height: 43px; margin-top: 0; margin-bottom: 28px; }

.megamenu-container .spalte-2 a:hover                   { color: #ffffff !important; }
.megamenu-container .spalte-2 .current-menu-item a      { color: #ffffff !important; }

.insta-link                             { margin-top: 20px !important; display: inline-flex !important; align-items: center; 
                                            color: #97D7A8; transition: color .3s ease; } 

.insta-icon                             { width: 40px; height: 40px; transition: transform .3s ease; fill: green; } 
.insta-link:hover                       { color: #FFf; } 



.megamenu-container .spalte-3           { margin-top: 80px; color: #ffffff !important;  }

.megamenu-container .spalte-3 h4        { margin-top: 5px; margin-bottom: 0; color: #97D7A8 !important; font-size: 30px; 
                                            font-weight: 600; letter-spacing: 0.3px; line-height: 35px; font-family: Poppins; }

.megamenu-container .spalte-3 .h4-weiss { margin-top: 29px; color: #fff; font-size: 25px; font-weight: 600; letter-spacing: 0.25px; }

.megamenu-container .spalte-3 
.h4-weiss.zweiter-abschnitt              { margin-top: 64px; }

.megamenu-container .spalte-3 
.h4-weiss.dritter-abschnitt              { margin-top: 65px; }

.megamenu-container .spalte-3 a         { color: #ffffff !important; font-size: 16px; text-decoration: none; letter-spacing: 0.16px;
                                            margin-top: 11px !important; margin-bottom: 0 !important ; font-weight: 500; 
                                            line-height: 23px; }

.megamenu-container .spalte-3 
.erster-link-kirchengemeinden            { margin-top: 29px !important; }                                            


.megamenu-container .spalte-3 
.erster-link-weiterex                    { margin-top: 15px !important; }                                            

.megamenu-container .spalte-3 a:hover   { color: #97D7A8 !important; }


/* Anker-Menüpunkt auf Startseite NICHT aktiv darstellen */
/* Startseite: Anker-Menüpunkt nicht als aktiv behandeln */
.home 
.menu-item.menu-item-type-custom.menu-item-home {
    pointer-events: auto !important;
}

/* Aktiven Avada-Hintergrund entfernen */
.home 
.menu-item.menu-item-type-custom.menu-item-home 
.awb-menu__main-background-active {
    display: none !important;
}


/* Verhindert Scrollen im Hintergrund wenn Menü offen */
.body-megamenu-open             { overflow: hidden; } 

/* Fullscreen Overlay */
.megamenu-section               { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; 
                                  background: rgba(0, 0, 0, 0.95); overflow: auto; } 

/* Einzelne Spalten */
.megamenu-column                { flex: 1; min-width: 200px; } 

/* Optionale Links und Styling */
.megamenu-column a              { color: #fff; text-decoration: none; display: block; margin: 10px 0; font-size: 18px; } 
.megamenu-column img            { max-width: 100%; height: auto; } 

.fusion-rollover                { display: none !important; }

/*******************/
/* SLIDER          */
/*******************/

/* Slide-Text immer im DOM halten - 

HACK für Animation, so wird der Text nicht nachträglich eingefadet: 
Animation im Avada Slider auf 0 setzen
Animation von fade auf slide
.tfs-slider .slide-content-container                    { display: block !important; opacity: 0; transform: translateX(40px); 
                                                            transition: opacity 0.6s ease-out, transform 0.6s ease-out; } 

.tfs-slider .flex-active-slide .slide-content-container { opacity: 1; transform: translateX(0); }
.tfs-slider .slide-content-container .slide-content { transform: none !important; margin-top: 0 !important; min-height: 600px;}

*/
#sliders-container                                      { margin-top: 100px !important; }

.tfs-slider .slide-content-container                    { display: block !important; opacity: 0; transform: translateX(40px); 
                                                            transition: opacity 0.6s ease-out, transform 0.6s ease-out; 
                                                            margin-left: -30px !important; } 

.tfs-slider .flex-active-slide .slide-content-container { opacity: 1; transform: translateX(0); }

.tfs-slider .slide-content-container                { top: 25% !important; transform: none !important;  }
.tfs-slider .slide-content-container .slide-content { transform: none !important; margin-top: 0 !important; }

.tfs-slider .slide-content-container .tfs-button-1,
.tfs-slider .slide-content-container .tfs-button-2  { padding: 0 !important; }


.tfs-slider .flex-direction-nav li a::before        { content: none !important; } 

.tfs-slider .flex-direction-nav li a                { display: block !important; opacity: 1; background-color: transparent; 
                                                        background-repeat: no-repeat; background-position: center; 
                                                        background-size: 18px 18px; text-indent: -9999px; 
                                                        transition: transform 0.25s ease; top: 78%; background-size: 20px;}

.tfs-slider .flex-direction-nav li a.flex-prev      { left: 55% !important; background-image: url('img/icon/arrow-left-blau.svg');
                                                         background-size: auto; } 

.tfs-slider .flex-direction-nav li a.flex-next      { left: calc(55% + 55px); background-size: auto;
                                                        background-image: url('img/icon/arrow-right-blau.svg'); } 

.tfs-slider .flex-direction-nav li a.flex-prev:hover { transform: translateY(-50%) translateX(-6px); } 
.tfs-slider .flex-direction-nav li a.flex-next:hover { transform: translateY(-50%) translateX(6px); } 

.tfs-slider 
.slide-content-container.slide-content-left .buttons {margin-left: 0 !important; }

.slider-button                  { background-color: #FF3F41 ; border: 1px solid #FF3F41; 
                                   border-radius: 14px; transition: background-color .3s ease; } 

.slide-id-6094 .slider-button   {  width: 280px; height: 56px; padding: 8px 60px 5px 20px; }
.slide-id-6097 .slider-button   {  width: 185px; height: 56px; padding: 8px 60px 5px 40px; }
.slide-id-6379 .slider-button   {  width: 185px; height: 56px; padding: 8px 60px 5px 40px; }
.slide-id-6382 .slider-button   {  width: 190px; height: 56px; padding: 8px 60px 5px 25px; }

.slider-button a                { font-size: 18px; font-weight: 400; color: #fff; letter-spacing: 0.36px; 
                                    transition: color 0.3s ease; }  

.slider-button a::after         { content: ""; position: absolute; bottom: 17px; width: 20px; height: 18px; margin-left: 10px;
                                     background-image: url('img/icon/arrow-right-weiss.svg'); background-size: contain; background-repeat: no-repeat; transition: transform .3s ease; }  

.slider-button:hover            { background-color: #fff; } 
.slider-button:hover a          { color: #FF3F41; }  
.slider-button:hover a::after   { transform: translateX(5px); background-image: url('img/icon/arrow-right-rot.svg'); }  


.h1-home-header1,
.h1-home-header2,
.h1-home-header3,
.h1-home-header4,
.h1-home-header5,
.h1-home-header6                { font-family: Bitter; font-size: 75px !important; color: #0D526D !important;
                                    margin-left: 0; margin-top: 60px !important; line-height: 85px;  letter-spacing: 1.5px; }

.h1-home-header1                { max-width: 680px; }
.h1-home-header2                { max-width: 750px; }
.h1-home-header3                { max-width: 780px; }
.h1-home-header4                { max-width: 550px; }
.h1-home-header5                { max-width: 720px; }
.h1-home-header6                { max-width: 650px; color: #477462;}

.p-home-header2,
.p-home-header6                 { font-size: 25px !important; color: #0D526D !important; margin-top: 40px; line-height: 1.52; }
.p-home-header6                 { max-width: 550px; }

.slide-id-6097 .background-image        { background-position: right !important; }
.slide-id-6379 .background-image        { background-position: right !important; }
.slide-id-6382 .background-image        { background-position: right !important; }
.slide-id-6384 .background-image        { background-position: right !important; }

/*******************/
/* HOME STARTSEITE */
/*******************/



.home-veranstaltungen                   { margin-top: 0 !important;  margin-bottom: 10px !important; }
.home-veranstaltungen-h2-container      { margin-bottom: 80px !important; }

/* Link immer rechts auf Höhe der 2. Card */
.alle-veranstaltungen-link-container    { display: block !important; text-align: left !important; position: relative; } 
.alle-veranstaltungen-link              { margin-top: 40px; } 


.losung-hauptcontainer                  { margin-bottom: 150px !important;}
#losung-des-tages                       { margin-bottom: 100px !important;}
.losung-heading h2                      { color: #0A90C3; }
.losung-heading                         { position: relative; padding-right: 40px; } 

.losung-heading::after                  { content: ""; position: absolute; top: 50%; right: 0; width: 210px; height: 210px; 
                                            transform: translateY(-60%); background-image: url('img/icon/anfuehrungszeichen.svg'); background-size: contain; background-repeat: no-repeat; pointer-events: none; } 

 .dailyVerses.bibleText              { font-family: bitter; font-size: 40px; font-weight: 500; color: #0A90C3; 
                                        padding-right: 10%; line-height: 60px; margin-top: 40px; letter-spacing: 0.6px; }

.dailyVerses.bibleVerse             { margin-top: 80px; }
.dailyVerses.bibleVerse a           { font-family: Poppins; font-size: 15px; font-weight: 500 !important; color: #6BB3D8; }

/**************************/
/*  VERANSTALTUNGEN       */
/**************************/

.category-veranstaltungen 
.post-content                     { margin-left: calc(4% / 2 ); }

.category-veranstaltungen .fusion-content-tb    { margin-top: 0 !important; }           
/* featured Image */
.event-img-container                { background-image: url(img/hintergrund/event-image-grau-hintergrund.svg);
                                      background-repeat: no-repeat; background-position: 0 top; background-size: 65%; 
                                      margin-top: -40px !important; }

.event-img img                      { -webkit-mask-image: url(img/masken/maske-veranstaltungen-detail.svg);
                                        mask-image: url(img/masken/maske-veranstaltungen-detail.svg); mask-repeat: no-repeat; 
                                        mask-position: top left; mask-size: contain; margin: 0 !important; padding: 0 !important;
                                        -webkit-mask-image: url(img/masken/maske-veranstaltungen-detail.svg);
                                        -webkit-mask-size: contain;
                                        -webkit-mask-repeat: no-repeat;
                                        -webkit-mask-position: top left; }



.category-neuigkeiten
.fusion-sharing-box.news-sozial-teilen                { margin-left: -30px !important; }

.fusion-sharing-box.event-sozial-teilen                { margin-top: 0 !important; padding-top: 0; justify-content: center; }


.fusion-sharing-box 
.fusion-social-networks 
.fusion-social-network-icon         { margin-left: 5px !important; margin-right: 5px !important; }

.event-sozial-teilen .tagline       { font-size: 16px; }

.fusion-sharing-box.event-sozial-teilen 
.sharingbox-shortcode-icon-wrapper  { display: flex; flex-grow: 0 !important; justify-content: flex-start; 
                                        margin-left: 10px !important; gap: 0; } 

.event-sozial-teilen 
.fusion-social-network-icon.awb-icon-share          { font-family: none !important; } 

.event-sozial-teilen 
.fusion-social-network-icon.awb-icon-share::before  { content: ""; background-image: url("img/icon/link-teilen-tooltip.svg");
                                                        background-repeat: no-repeat; background-size: contain; display: inline-block;
                                                        vertical-align: bottom; width: 14px; height: 14px; } 

.event-date-row                     { display: flex; align-items: center; gap: 40px;  } 

.event-date-box                     { position: relative; width: 131px; height: 136px; 
                                        background-image: url(img/hintergrund/event-datum-normal.svg); background-repeat: no-repeat;
                                        background-size: contain; flex-shrink: 0; } 

.event-date-box.event_highlighted   { background-image: url(img/hintergrund/event-datum-highlighted.svg); } 
.event-date-inner                   { position: absolute; top: 50%; left: 50%; transform: translate(-20%, -40%); text-align: center; } 
.event-date-month                   { color: #ffffff; font-size: 22px; font-weight: 400; letter-spacing: 1px; line-height: 1; } 
.event-date-day                     { color: #ffffff; font-size: 35px; font-weight: 500; line-height: 1; } 


.event-beschreibung                 { margin-bottom: 40px !important; margin-top: 40px !important; max-width: 770px; }

.event-infos-mit-icon div           { font-size: 20px; letter-spacing: 0;  line-height: 30px; }
.event-infos-mit-icon div a         { color: #0d526d; }

/* Basisblock für alle Event-Zeilen */
.event-datum,
.event-uhrzeit,
.event-map,
.event-veranstalter,
.event-eintritt                 { display: flex; align-items: center; gap: 20px; margin-bottom: 10px; } 

/* Basis-Icon */
.event-datum::before,
.event-uhrzeit::before,
.event-map::before,
.event-veranstalter::before,
.event-eintritt::before         { content: ""; display: inline-block; background-size: contain;
                                    background-repeat: no-repeat; background-position-x: center; flex-shrink: 0; } 

.event-datum::before            { background-image: url('img/icon/cal.svg'); width: 24px; height: 24px; } 
.event-uhrzeit::before          { background-image: url('img/icon/clock.svg'); width: 24px; height: 24px; } 
.event-map::before              { background-image: url('img/icon/map.svg'); width: 26px; height: 28px; } 
.event-veranstalter::before     { background-image: url('img/icon/star.svg'); width: 26px; height: 25px; } 
.event-eintritt::before         { background-image: url('img/icon/euro.svg'); width: 22px; height: 21px; } 

.event-ics-button               { display: inline-flex; align-items: center; gap: 8px; padding: 9px 30px; background-color: #FF3F41;
                                    color: #fff; text-decoration: none; border-radius: 14px; font-size: 18px; position: relative; 
                                    overflow: hidden; } 

/* ICS zum Kalender Button */
.event-ics-button:hover         { color: #fff}
.event-ics-button .icon         { display: inline-block; transition: transform 0.6s; font-size: 28px; font-weight: 300; } 
.event-ics-button:hover .icon   { transform: rotate(-45deg); } 

.fusion-sharing-box             { background-color: transparent !important; border-color: transparent !important;}

/* Tooltip-Hintergrund und Schriftfarbe anpassen */
.tooltip .tooltip-inner         { background-color: #f0f0f0 !important; color: #666666 !important;
                                  font-family: Helvetica, Arial, sans-serif !important; font-size: 14px !important;
                                  padding: 6px 10px !important;border-radius: 4px !important;
                                  box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important; } 

.tooltip .tooltip-arrow         { display: none !important; } 

.acf-event-icon i               { vertical-align: text-top; margin-right: 6px; color: #FF3F41 !important; 
                                  font-size: 22px !important; } 

/* Pagination Veranstaltungen */
.event-pagination               { display: flex; justify-content: flex-start; align-items: center; gap: 40px; margin-top: 60px; }

.event-pagination-link,
.all-events-link                { position: relative; display: inline-flex; align-items: center; font-size: 15px; font-weight: 800; 
                                    color: #FF3F41; text-decoration: none; transition: color .4s ease; } 

.event-pagination-link:hover,
.all-events-link:hover,
.event-all-events:hover         { color: #FF3F41; } 

.event-prev::before,
.all-events-link::before,
.event-all-events::before       { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; 
                                    background-image: url('img/icon/arrow-left.svg'); background-size: contain; 
                                    background-repeat: no-repeat; transition: transform .2s ease; } 

.event-prev:hover::before,
.all-events-link:hover::before,
.event-all-events:hover::before       { transform: translateX(-4px); } 

.event-next::after              { content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 8px; 
                                    background-image: url('img/icon/arrow-right.svg'); background-size: contain; 
                                    background-repeat: no-repeat; transition: transform .2s ease; } 

.event-next:hover::after        { transform: translateX(4px); } 
.event-prev                     { /* margin-right: auto;  bringt "nächste Veranstaltung" ans zeilenende */}
.event-next                     { margin-left: 40px; }

.event-pagination-link.event-all-events { display: inline-flex; align-items: center; gap: 8px; color: #FF3F41; font-weight: 800; } 

.event-pagination-link.event-all-events:hover {
}


/**************************/
/*  ALLE VERANSTALTUNGEN  */
/**************************/

.veranstaltungen-heading-container      { background-image: url(img/hintergrund/veranstaltungen-header.svg) !important; }

.veranstaltungen-heading                      { max-width: 698px; }
.veranstaltungen-cards-container              { padding-top: 80px !important; padding-bottom: 150px !important; }

.card-event-grid-container-alle-veranstaltungen {
    opacity: 1;
    transition: opacity 0.4s ease;  
    will-change: opacity;
}

.card-event-grid-container-alle-veranstaltungen.fading {
    opacity: 0;  
}


/* GRID  CARD */
.card-event-grid                                { display: grid; grid-template-columns: 1fr 1fr; gap: 80px 30px; } 

/* card-event Wrapper */
.card-event-item                                { display: flex; gap: 25px; align-items: flex-start; } 
.card-event-item:hover .event-date-box          { background-image: url(img/hintergrund/event-datum-hover.svg); 
                                                    background-repeat: no-repeat; background-size: contain; } 

.card-event-typen               { display: none; }
.card-event-date                { flex-shrink: 0; } 
.card-event-content             { display: flex; flex-direction: column; gap: 10px; } 
.card-event-title-first         { font-size: 22px; font-weight: 700; color: #0A90C3; line-height: 0.8; } 
.card-event-time                { font-size: 16px; font-weight: 600; margin-bottom: 10px; } 
.card-event-ort                 { font-weight: 400; } 
.card-event-excerpt             { font-size: 16px; line-height: 23px; max-width: 450px; } 

a.card-event-link,
a.card-event-link:hover         { color: #053E5A !important; }

.card-event-arrow               { margin-top: 10px; font-size: 0; display: inline-flex; align-items: center; text-decoration: none;
                                    position: relative; } 

.card-event-arrow::after        { content: ""; display: inline-block; width: 24px; height: 24px; margin-left: 8px; 
                                    background-image: url('img/icon/arrow-right.svg'); background-size: contain; 
                                    background-repeat: no-repeat; transition: transform .2s ease; } 

.card-event-item:hover .card-event-arrow::after  { transform: translateX(5px); } 


.page-id-5272 .event-date-title,
.home .event-date-title         { display: none; }


/************************+++++++++++++++++**/
/*  Filter für Veranstaltungsarten         */
/************************+++++++++++++++++**/


.filter-container                           { margin-left: 0 !important; margin-top: -50px !important; }
.filter-container .fusion-column-wrapper    { margin-left: 12px !important; }

.event-filter-wrap              { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; 
                                    user-select: none; } 

.event-filter-label             { display: inline-flex; align-items: center; gap: .6rem; cursor: default; } 
.filter-title                   { font-weight: 500; font-size: 15px; line-height: 1; letter-spacing: 0.15px; } 

.filter-arrow                   { color:#FF3F41; display: inline-flex; align-items: center; transition: transform 230ms ease;
                                    transform-origin: center; } 

.event-filter-label:hover .filter-arrow,
.event-filter-label:focus-within .filter-arrow { transform: translateX(6px); } 

.event-filter-types             { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; } 

.event-filter-type-btn          { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .6rem 0.3rem .6rem; 
                                    border: none; color: #0d526d;
                                    background: transparent; cursor: pointer; font-family: Poppins; font-size: 15px; font-weight: 300; 
                                    transition: transform 120ms ease, box-shadow 120ms ease; box-shadow: none; } 

.event-filter-type-btn:hover,
.event-filter-type-btn:focus    {  } 

/* Aktiver Zustand */
.event-filter-type-btn.active   { color: #027EA7; border-color: rgba(0,0,0,0.1); } 

.event-filter-clear             { margin-left: .5rem; border: none; background: transparent; font-family: Poppins; font-size: 15px; 
                                    font-weight: 300; color: #0d526d; cursor: pointer; display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .6rem 0.3rem .6rem; } 

/* Container der Filter */
#event-filter-wrap              { display: flex; align-items: center; gap: 0.5rem; position: relative; } 

#event-filter-types             { display: flex; gap: 0.5rem; opacity: 0; transform: translateX(-10px); pointer-events: none; 
                                    transition: opacity 0.3s ease, transform 0.3s ease; } 

#event-filter-wrap:hover #event-filter-types,
#event-filter-wrap:focus-within #event-filter-types { opacity: 1; transform: translateX(0); pointer-events: auto; } 

.card-event-item.animate-filter             { opacity: 0; transform: translateY(8px); 
                                                transition: opacity 0.3s ease, transform 0.3s ease; } 

.card-event-item.animate-filter.is-visible  { opacity: 1; transform: translateY(0); } 
.card-event-item:not(.animate-filter)       { opacity: 1; transform: none; transition: none; } 


/**************************/
/*  ANDACHTEN             */
/**************************/

.andachten-heading-container      {  background-image: url(img/hintergrund/andachten-header.svg) !important; }
                                            

.andachten-heading                      { max-width: 698px; }
.andachten-heading h1                   { margin-bottom: 0;  }
.andachten-titel                        { font-family: bitter !important; font-size: 75px !important; font-weight: 700 !important; }
.andachten-titel p                      { margin-top: 0 !important; }

.category-andachten p                   { font-family: Poppins !important; margin-bottom: 20px !important;}
.category-andachten p span              { font-family: Poppins !important; font-size: 25px !important; font-weight: 300 !important;}



.andachten-all-heading-container        { background-image: url(img/hintergrund/andachten-header.svg) !important; }

.andachten-cards-hauptcontainer 
.fusion-builder-row                     { margin-left: 0 !important; }

.andachten-cards-hauptcontainer         { margin-bottom: 80px !important; }
.andachten-cards-container              { padding: 10px 20px 20px 30px !important; background: #f0f0f0; border-radius: 35px; }
.andachten-cards-container:hover        { background-color: rgba(151, 215, 168, 0.3) }
.andachten-cards-titel                  { font-size: 18px !important; font-weight: 600 !important; min-height: 80px; color: #0B526D;} 
.andachten-cards-titel a                { color: #0B526D !important; } 
.andachten-cards-sub-titel              { margin-top: auto; } 
.andachten-cards-sub-titel p            { font-size: 15px !important; font-weight: 400 !important; margin-bottom: 0 !important; }

.andachten-cards-grid 
.fusion-grid-posts-cards                { align-items: stretch; } 

.andachten-cards-container              { display: flex; flex-direction: column; height: 100%; } 

.andachten-cards-container 
.fusion-column-wrapper                  { display: flex; flex-direction: column; height: 100%; } 

.andachten-cards-grid .fusion-grid      { row-gap: 40px; column-gap: 40px; } 

.alle-andachten-link::before            { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; 
                                            background-image: url('img/icon/arrow-left.svg'); background-size: contain; 
                                            background-repeat: no-repeat; transition: transform .2s ease; } 

.alle-andachten-link:hover::before      { transform: translateX(-4px); } 

.alle-andachten-link                    { display: inline-flex; align-items: center; gap: 8px; color: #FF3F41; font-size: 16px;
                                            font-weight: 500; margin-bottom: 60px; } 

                                            
/**************************/
/*  LAGERLOSUNGEN         */
/**************************/

.lagerlosungen-cards-hauptcontainer     { padding-bottom: 100px !important; }
.lagerlosungen-heading                  { max-width: 698px; }
.lagerlosungen-heading h1               { margin-bottom: 0;  }

.lagerlosungen-titel                    { font-family: bitter !important; font-size: 75px !important; font-weight: 700 !important; }
.lagerlosungen-titel p                  { margin-top: 0 !important; }
.category-lagerlosungen p               { font-family: Poppins !important; margin-bottom: 20px !important; }
.category-lagerlosungen p span          { font-family: Poppins !important; font-size: 25px !important; font-weight: 300 !important; }



.lagerlosungen-all-heading-container     { background-image: url(img/hintergrund/lagerlosungen-header.svg) !important; }

/* GRID */
.lagerlosungen-grid                     { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; } 

/* KARTE */
.lagerlosungen-card                     { position: relative; height: 100%; min-height: 200px; color: #fff; border-radius: 35px; } 
.lagerlosungen-card.dunkelgruen         { background: #3C896E; }
.lagerlosungen-card.hellgruen           { background: #97D7A8; }
.lagerlosungen-card.blau                { background: #0A90C3; }

.lagerlosungen-card.dunkelgruen:hover   { background: #0D526D; }
.lagerlosungen-card.hellgruen:hover     { background: #3C896E; }
.lagerlosungen-card.blau:hover          { background: #0D526D; }


.lagerlosungen-card-link        { display: block; height: 100%; color: inherit; text-decoration: none; } 
.lagerlosungen-card-inner       { display: flex; flex-direction: column; height: 100%; padding: 15px 40px 20px 40px; } 
a.lagerlosungen-card-link:hover { color: #fff; } 
.lagerlosungen-head             { display: flex; align-items: flex-start; margin-bottom: 12px; } 
.lagerlosungen-jahr             { font-weight: 600; font-size: 18px; } 
.lagerlosungen-jahr span        { font-size: 18px; font-weight: 400; } 
.lagerlosungen-ort              { font-size: 18px; text-align: right; font-weight: 400; } 
.lagerlosungen-text             { margin-top: auto; font-size: 16px; line-height: 20px; } 


/**************************/
/*  ZELTLAGERBLOG         */
/**************************/

.zeltlagerblog-cards-hauptcontainer     { padding-bottom: 100px !important; }
.zeltlagerblog-heading                  { max-width: 698px; margin-top: -60px !important; }
.zeltlagerblog-heading h1               { margin-bottom: 0; margin-top: 0 !important;  }

.zeltlagerblog-titel                    { font-family: bitter !important; font-size: 75px !important; font-weight: 700 !important; }
.zeltlagerblog-titel p                  { margin-top: 0 !important; }
.category-zeltlagerblog p               { font-family: Poppins !important; margin-bottom: 20px !important; }
.category-zeltlagerblog p span          { font-family: Poppins !important; font-size: 25px !important; font-weight: 300 !important; }
.zeltlagerblog-text                     { margin-top: 80px !important; max-width: 600px !important; }
.zeltlagerblog-text p                   { margin-bottom: 40px !important; }
.zeltlagerblog-heading .slider-button   { display: inline-block; margin-top: 40px; padding: 6px 60px 6px 25px; }

.zeltlagerblog-heading 
.slider-button a::after                 { bottom: 15px; }

.zeltlagerblog-all-heading-container    { background-image: url(img/hintergrund/zeltlagerblog-header.svg) !important; } 

/* .page-id-5296 .slider-button a          { display: inline-flex; align-items: center; gap: 10px; } 

.page-id-5296 .slider-button a::after   { content: ""; width: 20px; height: 18px; margin-left: 5px;
                                            background-image: url('img/icon/arrow-right-weiss.svg'); background-size: contain; background-repeat: no-repeat; transition: transform .3s ease; position: relative; 
                                            bottom: 50%; } 

.page-id-5296 .slider-button:hover a::after   { transform: translateX(5px); background-image: url('img/icon/arrow-right-rot.svg'); }  
 */
/* GRID */
.zeltlagerblog-grid             { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; margin-bottom: 100px ;} 

/* KARTE */
.zeltlagerblog-card             { position: relative; height: 100%; } 
a.zeltlagerblog-card-link       { display: block; height: 100%; text-decoration: none; border-bottom: 8px solid transparent;} 
.zeltlagerblog-head             { display: flex; align-items: flex-start; flex-direction: column; } 
.zeltlagerblog-jahr             { font-size: 60px; font-weight: 600; line-height: 1.0; color: #0A90C3; } 
.zeltlagerblog-ort              { font-size: 15px; font-weight: 600; line-height: 1.0; color: #0D526D; } 

a.zeltlagerblog-card-link .zeltlagerblog-jahr           { position: relative; display: inline-block; } 

a.zeltlagerblog-card-link .zeltlagerblog-jahr::after    { content: ""; position: absolute; left: 0; bottom: -6px; width: 100%; 
                                                            height: 8px; background-color: #FF3F41; transform: scaleX(0);
                                                            transform-origin: left; transition: transform 0.3s ease; } 

a.zeltlagerblog-card-link:hover .zeltlagerblog-jahr         { color: #0D526D; } 
a.zeltlagerblog-card-link:hover .zeltlagerblog-jahr::after  { transform: scaleX(1); } 
                                           
/**************************/
/*  JUGENDGRUPPEN         */
/**************************/

.jugendgruppen-heading-container    { background-image: url(img/hintergrund/jugendgruppen-header.svg) !important; }

.jugendgruppen-heading          { margin-top: 100px; }                                               

.gruppen-tabelle-hauptcontainer { margin-bottom: 80px !important; }
.gruppen-tabelle                { width: 100%; border-collapse: collapse; font-size: 16px; margin-top: 60px; } 

.gruppen-tabelle th             { padding: 12px 10px; text-align: center; font-size: 22px; } 
.gruppen-tabelle td             { padding: 12px 10px; border-bottom: 1px solid #e0e0e0; text-align: center; vertical-align: top; } 
.gruppen-tabelle td.gruppe      { font-weight: 500; } 
.gruppen-tabelle thead th       { background-color: #FAFAFA; color: #0D526D; font-weight: 700; padding: 30px 15px; } 

.gruppen-tabelle thead tr 
th:first-child                      { border-top-left-radius: 20px; } 

.gruppen-tabelle thead tr 
th:last-child                       { border-top-right-radius: 20px; }

.gruppen-tabelle tbody tr:hover     { background-color: #f4f8fa; } 
.gruppen-tabelle tr:last-child td   { border-bottom: none; } 

.gruppen-tabelle a                  { color: #FF3F41; text-decoration: none; position: relative; display: inline-flex; 
                                        align-items: center; font-weight: 500; } 

/* Roter Pfeil */
.gruppen-tabelle a::after           { content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 6px; 
                                        background-image: url("img/icon/arrow-right.svg"); background-size: contain;
                                        background-repeat: no-repeat; transition: transform 0.25s ease; } 

.gruppen-tabelle a:hover::after     { transform: translateX(6px); } 

.gruppen-legende                    { margin-top: 80px; padding-top: 12px; } 

.legende-item                       { margin-bottom: 6px; font-size: 22px; color: #0D526D; } 

.legende-item strong                { display: inline-block; min-width: 100px; margin-right: 8px; font-weight: 500; }

.gruppen-tooltip                    { position: relative; cursor: default; } 

.gruppen-tooltip::after             { content: attr(data-tooltip); position: absolute; bottom: 100%; left: 50%; 
                                        transform: translateX(-50%); white-space: nowrap; background-color: #fafafa; 
                                        color: #0D526D; padding: 5px 8px; font-size: 12px; border-radius: 8px; opacity: 0;
                                        pointer-events: none; transition: opacity 0.2s ease, transform 0.2s ease; z-index: 10; 
                                        margin-bottom: 5px; } 

.gruppen-tooltip:hover::after       { opacity: 1; transform: translateX(-50%) translateY(-2px); } 


/**************************/
/*  NEUIGKEITEN           */
/**************************/

.category-neuigkeiten 
.post-content                     { margin-left: calc(4% / 2 ); }

.news-datum-card                        { display: flex; align-items: center; gap: 40px; }

.news-datum-left                        { position: relative; width: 131px; height: 136px; 
                                            background-image: url(img/hintergrund/event-datum-highlighted.svg); 
                                            background-repeat: no-repeat; background-size: contain; flex-shrink: 0; }

.news-datum-inner   { position: absolute; top: 50%; left: 50%; transform: translate(-20%, -40%); text-align: center; }
.news-datum-month   { font-size: 14px; color: #ffffff; font-size: 22px; font-weight: 400; letter-spacing: 1px; line-height: 1; } 
.news-datum-day     { color: #ffffff; font-size: 35px; font-weight: 500; line-height: 1; } 
.news-datum-right   { flex: 1; } 
h3.news-datum-title { font-size: 40px; } 

.news-einzel-datum-container { margin-bottom: 60px !important; }

.news-datum                 { display: flex; align-items: center; gap: 20px; margin-left: 171px; margin-top: 40px; 
                                margin-bottom: 10px; font-size: 18px; } 

.news-datum::before         { content: ""; display: inline-block; width: 24px; height: 24px; background-size: contain;
                                    background-repeat: no-repeat; flex-shrink: 0; background-image: url('img/icon/cal.svg'); } 


.awb-swiper-button-prev     { display: none !important; }

.awb-swiper-button-next     { background-color: #FF3F41 !important; opacity: 1 !important; width: 50px !important; 
                                height: 50px !important; border-radius: 10px !important; transform: translateX(-40px) !important; 
                                top: calc(100% - 100px) !important; }

.kategorie-navigation-neuigkeiten-container { margin-top: 18px !important; margin-bottom: 0 !important;}

.kategorie-navigation                       { margin-right: var(--awb-spacing-right) !important; 
                                                padding-top: var(--awb-wrapper-padding-top) !important; }

.kategorie-pagination a                     { font-size: 15px; font-weight: 500; color: #FF3F41; }

/* Container rechtsbündig */
.kategorie-navigation .kategorie-pagination { display: inline-flex; justify-content: flex-end; gap: 20px; width: 100%; }

.kategorie-pagination .prev-link::before    { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; 
                                                background-image: url('img/icon/arrow-left.svg'); background-size: contain;
                                                background-repeat: no-repeat; transition: transform 0.2s ease; 
                                                vertical-align: middle; } 

.kategorie-pagination .prev-link:hover::before { transform: translateX(-4px); } 

.kategorie-pagination .next-link::after     { content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 8px; 
                                                background-image: url('img/icon/arrow-right.svg'); background-size: contain;
                                                background-repeat: no-repeat; transition: transform 0.2s ease; 
                                                vertical-align: middle; } 

.kategorie-pagination .next-link:hover::after { transform: translateX(4px); } 



.category-neuigkeiten
.fusion-sharing-box.news-sozial-teilen                { margin-left: -30px !important; }

.fusion-sharing-box.news-sozial-teilen                { margin-top: 0 !important; justify-content: flex-start; 
                                                            padding-left: var(--container_padding_100_left) !important; }

.news-sozial-teilen .tagline       { font-size: 16px; }

.fusion-sharing-box.news-sozial-teilen 
.sharingbox-shortcode-icon-wrapper  { display: flex; flex-grow: 0 !important; justify-content: flex-start; 
                                        margin-left: 20px !important; gap: 0; } 

.news-sozial-teilen 
.fusion-social-network-icon.awb-icon-share          { font-family: none !important; } 

.news-sozial-teilen 
.fusion-social-network-icon.awb-icon-share::before  { content: ""; background-image: url("img/icon/link-teilen-tooltip.svg");
                                                        background-repeat: no-repeat; background-size: contain; display: inline-block;
                                                        vertical-align: bottom; width: 14px; height: 14px; } 

.all-news-link              { padding-left: var(--container_padding_100_left) !important; position: relative; display: inline-flex; 
                                align-items: center; font-size: 15px; font-weight: 500; color: #FF3F41; text-decoration: none;
                                transition: color 0.4s ease; margin-top: 40px; } 

.all-news-link .arrow       { display: inline-block; width: 16px; height: 16px; margin-right: 8px; 
                                background-image: url('img/icon/arrow-left.svg'); background-size: contain; 
                                background-repeat: no-repeat; transform: translateX(0); transition: transform 0.2s ease; } 

.all-news-link:hover .arrow { transform: translateX(-4px); } 

.home .news-cards-grid-hauptcontainer      { padding-top: 40px !important; padding-bottom: 120px !important; 
                                                /* height: calc(100vw * 1660 / 1920); */
                                                margin-top: 140px !important; 
                                                background-image: url('img/hintergrund/home-neuigk-2.svg'); 
                                                background-size: contain; background-repeat: no-repeat; background-position: 0 0; }

.home .news-cards-grid-hauptcontainer .custom-pagination    { display: none; }

.home .news-cards-grid-hauptcontainer h1                    { padding-top: 80px; padding-bottom: 0; color: #fff; }

@media (min-width: 2000px) {
.home .news-cards-grid-hauptcontainer h1                    { padding-bottom: 50px; }
}

/**************************/
/*  CARDS                 */
/*  NEUIGKEITEN           */
/**************************/

.home-all-events-link           { position: relative; display: inline-flex; align-items: center; font-size: 15px; font-weight: 600; 
                                    color: #fff; text-decoration: none; transition: color .4s ease; 
                                    margin-left: 600px; transform: translateY(-200px) !important; } 

.home-all-events-link:hover     { color: #fff; }
.events-all::after              { content: ""; display: inline-block; width: 18px; height: 18px; margin-left: 8px; 
                                    background-image: url('img/icon/arrow-right-bold-weiss.svg'); background-size: contain; 
                                    background-repeat: no-repeat; transition: transform .2s ease; } 

.events-all:hover::after        { transform: translateX(4px); } 


.neuigkeiten-titel-inner-container      { padding-top: calc((50vw * 659 / 1010) / 2.0); }
.neuigkeiten-titel-layout-container     { } 
.neuigkeiten-titel-layout-container p   { max-width: 680px; }

.h1-neuigkeiten-header1                { font-family: Bitter; font-size: 75px !important; color: #0D526D !important;
                                                     margin-top: 80px !important; }

.p-neuigkeiten-header1                 { font-size: 18px !important; color: #0D526D !important; line-height: 1.4 !important; 
                                            max-width: 500px; margin-top: 40px; }

/* Pagination */
.news-cards-grid-hauptcontainer 
.fusion-post-cards .fusion-grid                 { margin-left: 0 !important; }

.news-cards-grid-hauptcontainer                 { padding-top: 120px !important; padding-bottom: 80px !important; 
                                                    margin-top: 140px !important; }
                                                    
.news-cards-grid-hauptcontainer .pagination     { justify-content: flex-start !important; transform: translateX(-30px) !important; }

.news-cards-grid-hauptcontainer 
.pagination .current                 { border-radius: 8px !important; font-size: 16px !important; font-weight: 400; padding: 10px; }

.news-cards-grid-hauptcontainer 
.pagination a.inactive               { border-radius: 8px !important; font-size: 16px !important; font-weight: 400; color: #FF3F41; }

.news-cards-grid-hauptcontainer 
.pagination a.inactive:hover         { border-radius: 8px !important; background-color: #FF3F41; color: #fff; }

.news-cards-grid-hauptcontainer 
.pagination .pagination-next         { display: none; }

.news-cards-grid-hauptcontainer 
.pagination .pagination-prev         { display: none; }

.custom-pagination                  { display: flex; gap: 10px; list-style: none; padding: 0; margin: 40px 0 150px 0; } 

.custom-pagination li,              
.custom-pagination li a,         
.custom-pagination li a:hover         { width: 39px; height: 39px; line-height: 28px; }

.custom-pagination a                { display: inline-block; padding: 7px 15px; text-decoration: none; border-radius: 8px !important; 
                                        font-size: 16px !important; font-weight: 400; color: #FF3F41; } 

.custom-pagination a.current,
.custom-pagination a:hover          { background-color: #FF3F41; border-radius: 8px !important; font-size: 16px !important; 
                                        font-weight: 400; color: #fff; line-height: 28px; } 

.single-post .category-neuigkeiten 
.awb-swiper-button-next:hover       { opacity: 0.8 !important; }

.awb-icon-angle-right::before       { content: "" !important; display: inline-block; width: 18px; height: 18px; 
                                        background-image: url('img/icon/arrow-right-weiss.svg'); background-size: contain;
                                        background-repeat: no-repeat; background-position: center; font-family: none; 
                                        line-height: 0; } 


/* NEUIGKEITEN Cards */

.fusion-post-cards .fusion-grid > .news-container-card.fusion-grid-column   { padding: 0 !important; width: 250px; }
.news-cards-grid-hauptcontainer .fusion-post-cards .fusion-grid             { gap: 48px 36px; }


.news-container-card                { border-radius: 44px; background-color: #fff;}
.news-image-cards                   {  border-top-left-radius: 44px; border-top-right-radius: 44px; height: 200px; }

.news-datum-cards                   { background-color: #00c9a6; color: #fff !important; width: 110px !important; 
                                        transform: translateY(-45px); z-index: 2; }

.news-datum-cards p                 { padding: 4px 8px !important; margin-bottom: 0 !important; font-size: 16px; text-align: center; }
.news-titel-cards                   { transform: translateY(-45px); min-height: 45px; z-index: 2; background-color: #fff; }
.news-titel-cards p                 { padding: 0 20px; font-size: 15px !important; font-weight: 600 !important; 
                                        margin-bottom: 0 !important; line-height: 22px; }

.news-text-cards  p                 { padding: 0 20px; margin-bottom: 0 !important; font-size: 14px !important; 
                                        font-weight: 300 !important; z-index: 2; line-height: 21px; }

.news-container-card                            { display: flex; } 
.news-container-card > .fusion-column-wrapper   { display: flex; flex-direction: column; height: 100%; } 


/* Ausgangszustand */
.news-container-card .weiterlesen       { display: flex; justify-content: flex-end; 
                                            margin-top: -20px; transform: translateY(30px); opacity: 0; 
                                            transition: opacity 0.3s ease, transform 0.3s ease 0.25s; } 

.news-container-card .read-more-arrow   { width: 16px; height: 16px; background-image: url('img/icon/arrow-right.svg'); 
                                            background-size: contain; background-repeat: no-repeat; 
                                            transition: transform 0.3s ease 0.25s; } 

/* Titel und Text: Container transformierbar machen */
.home 
.news-container-card .news-datum-cards,
.page-id-5293 
.news-container-card .news-datum-cards          { font-size: 16px; text-align: center; }

.news-container-card .news-datum-cards,
.news-container-card .news-titel-cards,
.news-container-card .news-text-cards           { display: block; transition: transform 0.3s ease; } 
.news-container-card .news-text-cards           { transform: translateY(-20px) } 

.news-container-card .news-titel-cards          { padding-top: 20px; min-height: 65px; }


/* Hover: Beide nach oben */
.news-container-card:hover .news-datum-cards    { transform: translateY(-59px) }
.news-container-card:hover .news-titel-cards    { transform: translateY(-60px) }
.news-container-card:hover .news-text-cards     { transform: translateY(-50px) }
.news-container-card:hover .weiterlesen         { opacity: 1;}
.news-container-card:hover .read-more-arrow     { transform: translateX(4px); }


/**************************/
/*  GALERIE               */
/**************************/

.galerie-hauptseite-grid        { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px 25px; margin-bottom: 30px; } 

.galerie-hauptseite-item        { text-align: left; } 

.galerie-hauptseite-media img   { width: 100%; height: auto; display: block; } 

.galerie-hauptseite-jahr        { position: relative; margin-top: 12px; padding-left: 28px; font-size: 22px; font-weight: 300; 
                                    color: #0D526D; transition: transform 0.3s ease; } 

/* Pfeil (unsichtbar) */
.galerie-hauptseite-jahr::before { content: ""; width: 16px; height: 16px; background-image: url('img/icon/arrow-right.svg'); 
                                    background-size: contain; background-repeat: no-repeat; position: absolute; left: 0; top: 50%;
                                    transform: translateY(-50%) translateX(-6px); opacity: 0; 
                                    transition: transform 0.3s ease, opacity 0.3s ease; } 

/* Hover */
.galerie-hauptseite-link:hover .galerie-hauptseite-jahr         { transform: translateX(22px); } 

.galerie-hauptseite-link:hover .galerie-hauptseite-jahr::before { transform: translateY(-50%) translateX(0); opacity: 1; } 



.gemeindejugendjahr-titel-layout-container  {   background-image: url(img/hintergrund/gemeindejugendjahr.svg) !important; }

body.page-child:not(.page-parent) 
.gemeindejugendjahr-titel-layout-container      { padding-bottom: 60px !important; }


body.parent-pageid-5303 #main                   { padding-top: 0 ; }

body.parent-pageid-5303
.gemeindejugendjahr-content-layout-container    { background-color: #F0F0F0 !important; } 

body.page-child:not(.page-parent) #main         { background-color: #f0f0f0; padding-top: 80px; }


.galerie-heading-container          {    background-image: url(img/hintergrund/galerie-header.svg) !important; }
                                         

.galerie-heading                    { max-width: 530px; }

.gemeindejugendjahr-titel-nur-galerie p { font-family: Bitter; font-size: 75px; font-weight: 600; margin-top: 140px; 
                                            max-width: 800px; line-height: 85px; }

body.parent-pageid-5303 
.gemeindejugendjahr-titel-nur-galerie   { display: none !important; } 

.gemeindejugendjahr-wrapper             { display: flex; align-items: flex-start; gap: 60px; margin-top: 80px; } 
.gemeindejugendjahr-titel               { font-family: Bitter; font-size: 75px; font-weight: 600; line-height: 1.2; margin: 0; } 
.gemeindejugendjahr-jahr                { font-family: Bitter; font-size: 300px; font-weight: 700; line-height: 1; } 



/* Galerie Grid Container */
.galerie-gemeindejugend-grid.mit-avada  { transform: translateX(calc(-1 * var(--container_padding_100_left))); }

.galerie-gemeindejugend-grid        { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 60px; 
                                        align-items: end; max-width: 850px; } 

.galerie-gemeindejugend-grid p      { height: 0 !important; margin-bottom: 0 !important; }

.galerie-gemeindejugend-item        { overflow: hidden; text-align: left;   } 
.galerie-gemeindejugend-item img    { width: 100%; height: auto; display: block; } 


.galerie-gemeindejugend-title       { font-size: 22px; font-weight: 300; padding: 0 5px 10px 5px; min-height: 4em;
                                        display: inline-block; position: relative; transition: transform 0.3s ease; } 

.galerie-gemeindejugend-item a      { color: inherit; text-decoration: none; display: inline-block; } 

.galerie-gemeindejugend-title::before   { content: ""; width: 16px; height: 16px; background-image: url('img/icon/arrow-right.svg'); 
                                            background-size: contain; background-repeat: no-repeat; position: absolute; left: -24px; 
                                            bottom: 60%; transform: translateY(-50%) translateX(-6px); opacity: 0; 
                                            transition: transform 0.3s ease, opacity 0.3s ease; } 

.galerie-gemeindejugend-item:hover 
.galerie-gemeindejugend-title           { transform: translateX(22px); } 

.galerie-gemeindejugend-item:hover 
.galerie-gemeindejugend-title::before   { transform: translateY(-50%) translateX(0); opacity: 1; } 

.galerie-back                           { cursor: pointer ; font-size: 16px; font-weight: 600; margin-top: 20px; color: #FF3F41; 
                                            padding-bottom: 80px; }

.galerie-back::before                   { content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; 
                                                background-image: url('img/icon/arrow-left.svg'); background-size: contain;
                                                background-repeat: no-repeat; transition: transform 0.2s ease; 
                                                vertical-align: middle; } 
                                                
.galerie-back:hover::before             { transform: translateX(-4px); }                                                

body.page-child:not(.page-parent) 
.gemeindejugendjahr-content-layout-container 
.fusion-builder-row                         { margin-left:  calc(-2% / 2 ) !important; }

.flexible-row                               { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; margin-bottom: 30px; } 

/* Eine Spalte */
.flexible-col                       { display: flex; flex-direction: column; } 
.flexible-link                      { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; } 
.flexible-col .flexible-media       { width: 100%; display: block; } 

.flexible-media img                 { width: 100%; height: auto; display: block; } 
.flexible-year                      { position: relative; margin-top: 10px; padding-left: 28px; font-size: 22px; 
                                        transition: transform 0.3s ease; } 

.flexible-year::before              { content: ""; width: 16px; height: 16px; background-image: url('img/icon/arrow-right.svg'); 
                                        background-size: contain; background-repeat: no-repeat; position: absolute; left: 0; top: 50%;
                                        transform: translateY(-50%) translateX(-6px); opacity: 0; 
                                        transition: transform 0.3s ease, opacity 0.3s ease; } 

.flexible-col:hover .flexible-year  { transform: translateX(22px); } 

.flexible-col:hover .flexible-year::before  { transform: translateY(-50%) translateX(0); opacity: 1; } 
.flexible-col.text-only                     { justify-content: space-between; padding: 20px; } 
.text-only                                  { font-size: 16px; color: #fff; border-radius: 35px; } 
.flexible-col.text-only span                { display: block; margin-top: auto;}
.zeile-01 .text-only                        { background-color: #97D7A8; margin-bottom: 48px; line-height: 21px; }
.zeile-03 .text-only                        { background-color: #0D526D; margin-bottom: 48px; line-height: 21px; }
.zeile-01                                   { margin-bottom: 90px; }

.col-1                              { grid-column: span 1; }
.col-2                              { grid-column: span 2; }
.col-3                              { grid-column: span 3; }
.col-4                              { grid-column: span 4; }
.col-6                              { grid-column: span 6; }
.col-12                             { grid-column: span 12; }

/**************************/
/*  ZELTLAGER             */
/**************************/


.zeltlager-container-card-hauptcontainer        { }
.zeltlager-container-card                       { }
.zeltlager-titel-layout-container               { background-image: url(img/hintergrund/zeltlagerblog-header.svg) !important; }

body.page-child:not(.page-parent) 
.zeltlager-titel-layout-container               { padding-top: 100px !important; padding-bottom: 240px !important; 
                                                    margin-bottom: 0 !important; }

.zeltlager-titel p                              { font-family: Bitter; font-size: 75px; font-weight: 700; line-height: 1.52; }

.parent-pageid-5296 #main                       { margin-left: calc(-1 * var(--container_padding_100_left) - 40px) ; }
.parent-pageid-5296 .galerie-back               { margin-left: calc(-1 * var(--container_padding_100_left) + 60px) ; }

/* .parent-pageid-5296 #main                       { padding-right: calc(1 * var(--container_padding_100_left) + 20px) ; } */

.zeltlager-container-card-hauptcontainer        { padding-bottom: 0 !important; padding-top: 20px !important; 
                                                    padding-left: 20px !important; margin-left: -20px !important; }

.parent-pageid-5296 .fusion-post-cards 
.fusion-grid > .fusion-grid-column              { padding-top: 0 !important; padding-bottom: 0 !important; }

.parent-pageid-5296 .fusion-post-cards 
.fusion-grid > .fusion-grid-column > 
.fusion-column-inner-bg                         { margin-top: -5px !important; margin-bottom: 0 !important; height: 50px !important; }

.parent-pageid-5296 .fusion-post-cards 
.fusion-grid > .fusion-grid-column > 
.fusion-column-inner-bg:hover                   { background-color: #fff; }

.zeltlager-single-titel-layout-container        { background-image: url(img/hintergrund/gemeindejugendjahr.svg) !important; }

.zeltlagerblog-single-content-hauptcontainer    { padding-bottom: 100px; }

/**************************/
/*  Hintergundbilder      */
/**************************/

.neuigkeiten-titel-layout-container      { background-image: url(img/hintergrund/baumstammm-header.svg) !important; 
                                            background-position: 100% 0 !important; 
                                            background-size: 50% auto !important;  height: calc(50vw * 659 / 1010) !important;
                                            margin-top: -200px !important; }

.rechtlich-heading-container,
.gemeindejugendjahr-titel-layout-container,
.zeltlager-titel-layout-container,
.zeltlager-single-titel-layout-container,                                            
.jugendgruppen-heading-container,
.veranstaltungen-heading-container,
.galerie-heading-container,
.andachten-heading-container,
.andachten-all-heading-container,        
.zeltlagerblog-all-heading-container,
.lagerlosungen-all-heading-container     {  background-repeat: no-repeat, no-repeat !important;
                                            background-size: 960px !important;
                                            background-position: calc(50% + 330px) 0 !important;
                                            padding-top: 200px !important; min-height: 600px !important; 
                                            margin-top: -100px !important; margin-bottom: 200px !important; }


.andachten-heading-container            { margin-top: -150px !important; margin-bottom: 80px !important; 
                                            background-position: calc(50% + 200px) 0 !important; }  

.andachten-all-heading-container        { margin-top: -200px !important; margin-bottom: 80px !important; 
                                            background-position: calc(50% + 200px) 0 !important; }  

.gemeindejugendjahr-titel-layout-container,
.zeltlager-titel-layout-container,                                           
.lagerlosungen-all-heading-container,
.zeltlagerblog-all-heading-container,
.jugendgruppen-heading-container,
.galerie-heading-container,
.veranstaltungen-heading-container       { margin-bottom: 80px !important; background-size: 860px !important;
                                            background-position: calc(50% + 250px) 0 !important; }  


.veranstaltungen-heading-container      { margin-top: -200px !important; background-position: calc(50% + 250px) 0 !important; } 
                                           
.zeltlagerblog-all-heading-container    { margin-top: -200px !important; background-size: 810px !important;
                                            background-position: calc(50% + 280px) 0 !important; }

.gemeindejugendjahr-titel-layout-container  { margin-top: -200px !important; padding-top: 150px !important; }

.lagerlosungen-all-heading-container,
.galerie-heading-container              { margin-top: -200px !important; }

.jugendgruppen-heading-container        { margin-top: -200px !important; margin-bottom: 0 !important; }
.zeltlager-titel-layout-container       { margin-top: -150px !important; }                                            
.zeltlager-single-titel-layout-container { background-size: 860px !important; }                                           

#main:has(.category-zeltlagerblog-2026),
#main:has(.category-zeltlagerblog-2025),
#main:has(.category-zeltlagerblog-2024),
#main:has(.category-zeltlagerblog-2023),
#main:has(.category-zeltlagerblog-2021),
#main:has(.category-zeltlagerblog-2020),
#main:has(.category-zeltlagerblog-2009-2015)
                                                { background-color: #f0f0f0 !important; }





@media (max-width: 1024px) {
    .flexible-row {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (max-width: 768px) {
    .flexible-row {
        grid-template-columns: 1fr;
    }

    .flexible-col {
        grid-column: 1 / -1 !important;
    }
}

/**************************/
/*  IMPRESSUM             */
/**************************/


.subtitle-impressum             { font-size: 25px !important; }

/**************************/
/*  ANDACHTEN             */
/**************************/

.andachten-heading-container
.andachten-heading


/*******************************/
/*  BELEGUNSPLAN  Jugendkombi  */
/*******************************/

#jugendkombi-heading.jugendkombi-heading                                { margin-bottom: 80px !important;  }
.belegegungsplan-editor-container p                 { max-width: 750px !important; }
.belegegungsplan-editor-container p:nth-of-type(2)  { margin-bottom: 0 !important; }
.belegegungsplan-editor-container a                 { color: #0D526D; border-bottom: 1px solid #0D526D; }
.belegegungsplan-editor-container a:hover           { border-bottom: 1px solid #FF3F41; }

.jugendkombi-jugendkombi                        { padding-top: 40px !important; padding-bottom: 80px !important; 
                                                     }


/* Tabelle */
.belegegungsplan-editor-container h1            { font-size: bitter; }
.belegung-wrapper .belegung-kalender-title      { font-family: Bitter !important; font-weight: bold; font-size: 20px; 
                                                   padding-top: 40px; padding-bottom: 20px; margin: 15px 0 5px; margin-left: 100px; } 

.belegung-wrapper .belegung-calendar-table th  { font-size: 15px; font-weight: 300; font-family: Poppins; 
                                                    border-color: transparent !important; } 

.belegung-wrapper .belegung-calendar-table td  { font-size: 15px; text-align: left; width: 30px; height: 30px; 
                                                    border: 3px solid #ffffff; } 

.belegung-wrapper .belegung-calendar-table 
td:first-of-type                                { font-size: 15px; text-align: left; width: 100px; border: none; 
                                                    border-color: transparent !important; } 

.belegung-wrapper .belegung-calendar-table 
th:first-of-type                                { font-size: 0; }   

.belegung-wrapper .belegung-calendar-table 
tr:first-of-type td                             { border-top-color: transparent; }   

.belegung-wrapper .belegung-calendar-table 
tr:last-of-type td                              { border-bottom-color: transparent; }  

.belegung-wrapper .belegung-calendar-table 
td:nth-child(2)                                 { border-left-color: transparent; }  

.belegung-wrapper .belegung-calendar-table 
td:last-of-type                                 { border-right-color: transparent; }  

/**************************/
/*  IMPRESSUM               */
/**************************/

.rechtlich-heading-container        { background-size: 730px !important;
                                         background-image: url(img/hintergrund/impressum-grafik.svg) !important;
                                        } 

.rechtlich-heading                  { max-width: 530px; }
.rechtlich-text                     { margin-top: 80px !important; padding-bottom: 100px !important; }          



/**************************/
/*  INTERNER BEREICH       */
/**************************/

#link-zu-internen-bereich,
.link-zu-internen-bereich               { display: none !important; visibility: hidden !important; opacity: 0 !important; } 

.logged-in #link-zu-internen-bereich    { display: block !important; visibility: visible !important; opacity: 1 !important; } 

input#user_login,
input#user_pass                 { border-color: #0A90C3; max-width: 300px; display: block; }

label[for="user_pass"],
label[for="user_login"],
.login-remember label           { font-size: 16px; }

.login-remember                 { display: none; }
.login-submit                   { position: relative; display: inline-block; } 

#wp-submit                      { background-color: #FF3F41; border: 1px solid #FF3F41; border-radius: 14px; color: #fff;
                                    font-size: 18px; font-weight: 400; letter-spacing: 0.36px; padding: 10px 50px 10px 24px; 
                                    cursor: pointer; transition: background-color .3s ease, color .3s ease; } 

.login-submit::after            { content: ""; position: absolute; right: 20px; top: 50%; width: 20px; height: 18px; 
                                    transform: translateY(-50%); background-image: url('img/icon/arrow-right-weiss.svg');
                                    background-size: contain; background-repeat: no-repeat; transition: transform .3s ease; 
                                    will-change: transform; } 

.login-submit:hover #wp-submit  { background-color: #fff; color: #FF3F41; } 
.login-submit:hover::after      { transform: translate(5px, -50%); background-image: url('img/icon/arrow-right-rot.svg'); } 

#menu-internes-menu a span              { font-family: Bitter; font-size: 28px; font-weight: 600; color: #0B526D !important;
                                            line-height: 1.6 !important; }
                                            
#menu-internes-menu a:hover span        { color: #97D7A8 !important; }

.download-table                 { width: 1000px !important; font-size: 18px !important; margin-bottom: 60px; }
.download-table td              { height: 27px !important; line-height: 1.2; }
.download-td-titel              { width: 480px !important; }
.download-td-icon               { width: 28px !important; display: flex; justify-content: center; align-items: center; }
.download-td-download           { width: 500px !important; }

.download-table tbody tr:hover,
.video-table tbody tr:hover     { background-color: #f4f8fa; } 

.video-table                    { width: 1000px !important; font-size: 18px !important; margin-bottom: 60px; }
.video-table th                 { text-align: left; font-family: Poppins; padding-bottom: 15px; }
.video-table td                 { height: 27px !important; }
.video-td-titel                 { width: 480px !important; }
.video-td-icon                  { width: 28px !important; display: flex; justify-content: center; align-items: center; }
.video-td-video                 { width: 500px !important; }

.video-box                      { display: flex; gap: 30px; align-items: flex-start; margin: 80px 0; padding: 30px;
                                    background: #f0f0f0; border: 1px solid #e0e0e0; box-shadow: 0 2px 8px rgba(0,0,0,0.08); } 

.video-text                     { flex: 1; } 
.video-text h3                  { margin-top: 0; } 
.video-player                   { flex: 1; } 
.video-player video             { width: 100%; height: auto; display: block; border-radius: 8px; } 

.video-table a::after           { content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 8px; 
                                    background-image: url('img/icon/arrow-right.svg'); background-size: contain; 
                                    background-repeat: no-repeat; vertical-align: middle; opacity: 0; transform: translateX(0); 
                                    transition: opacity 0.2s ease, transform 0.25s ease; } 


.video-table td:hover a::after  { opacity: 1; transform: translateX(8px); } 
.full-link                      { display: block; text-decoration: none; } 
.video-icon                     { display: flex; align-items: center; gap: 20px; }

.video-icon.warnung::before,
.video-icon.dauer::before,
.video-icon.level::before      { content: ""; display: inline-block; background-size: contain;
                                    background-repeat: no-repeat; background-position-x: center; flex-shrink: 0; } 

.video-icon.warnung::before    { background-image: url('img/icon/warnung.svg'); width: 28px; height: 28px; } 
.video-icon.dauer::before      { background-image: url('img/icon/clock.svg'); width: 24px; height: 24px; } 
.video-icon.level::before      { background-image: url('img/icon/schwierigkeit.svg'); width: 24px; height: 24px; } 



.parent-pageid-23 .galerie-back, 
.page-id-23 .galerie-back        { display: none !important; }



/***********/
/* MIXED   */
/***********/

.category-veranstaltungen,
.category-neuigkeiten           { margin-top: -100px !important; margin-bottom: 100px !important; }

strong                          { font-weight: 500 !important; }


/* to top */
.to-top-right #toTop            { right: 100px !important; padding-top: 10px; padding-bottom: 30px; }
#toTop                          { background: #FF3F41 !important; }
#toTop.fusion-to-top-active     { opacity: 1 !important; }
.to-top-right #toTop:hover      { background: #ff8c8d !important; }

#toTop::before                  { content: "" !important; display: inline-block; width: 22px; height: 22px; 
                                    background-image: url('img/icon/arrow-up-weiss.svg'); background-size: contain; 
                                    background-repeat: no-repeat; background-position: center; font-family: none; line-height: 0; } 

/***********/
/* FOOTER  */
/***********/

.footer-ev-jugend-mm            { background: #0D526D !important; padding-top: 75px !important; padding-bottom: 75px !important; 
                                    font-family: Poppins !important; position: relative; }

.footer-ev-jugend-mm::before    { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 15px; z-index: 1;
                                    pointer-events: none;
                                     
                                    background: transparent linear-gradient(90deg, #F0F0F0 0%, #97D7A8 33%, #0B526D 80%) 0% 0% no-repeat padding-box;
                                    /* background: transparent linear-gradient(90deg, #F0F0F0 0%, #97D7A8 53%, #0B526D 100%) 0% 0% no-repeat padding-box; */
                                } 

.footer-ev-jugend-mm h4         { color: #97D7A8 !important; font-size: 25px; }
.footer-ev-jugend-mm a          { color: #fff !important; }
.footer-ev-jugend-mm a:hover    { color: #97D7A8 !important; }
.footer-ev-jugend-mm .spalte-1  { font-weight: 300; color: #fff; font-size: 15px; }
.kontakt-adresse                { line-height: 1.6; margin-bottom: 30px; }

.contact-info                   { margin-top: 35px; display: flex; flex-direction: column; gap: 15px; } 

.contact-item                   { display: flex; align-items: center; font-size: 15px; line-height: 23px; font-weight: 500;
                                     margin-bottom: 23px; }

.contact-item a                 { color: inherit; text-decoration: none; font-weight: 500; } 

.contact-icon                   { display: inline-block; width: 24px; height: 24px; margin-right: 18px; background-size: contain; 
                                    background-repeat: no-repeat; } 

.contact-phone .contact-icon    { background-image: url('img/icon/phone-gruen.svg'); } 
.contact-mail .contact-icon     { background-image: url('img/icon/mail_outline-gruen.svg'); } 
.contact-insta .contact-icon    { background-image: url('img/icon/insta-gruen.svg'); } 

.footer-quicklinks,
.footer-menu-spalte-2,
.footer-rechtlich               { margin-left: 100px !important; } 
 
.footer-menu-spalte-2 ul li     { margin-bottom: 14px !important; font-size: 15px; line-height: 23px; font-weight: 500; }  

.spalte-2 .intern p             { margin: 0 !important; }  
.spalte-2 .intern a             { margin-bottom: 10px !important; font-size: 15px; }  

.footer-rechtlich               { position: relative; padding-top: 15px; } 

.footer-rechtlich::before       { content: ""; display: block; width: 120px; height: 1px; background-color: #ffffff; 
                                    margin-top: 0px; margin-bottom: 12px; } 
                                    
.footer-rechtlich ul            { margin-top: 23px !important; }  
.footer-rechtlich ul li         { margin-top: 20px; margin-bottom: 14px !important; }
.footer-rechtlich ul li a       { font-size: 15px !important; font-weight: 500 !important; line-height: 23px; }

.footer-ev-jugend-mm .nix-footer    { display: none !important; }

.footer-ev-jugend-mm .spalte-3      { font-weight: 500; color: #fff; font-size: 15px; line-height: 23px; }
.footer-ev-jugend-mm .spalte-3 h4   { margin-bottom: 20px !important; }
.footer-ev-jugend-mm .spalte-3 div  { margin-bottom: 14px; }

.neuigkeiten-single-zum-kalender 
.fusion-column-wrapper              { justify-content: center !important; }

/**************/
/* MEDIA HÖHE */
/**************/
@media screen and (max-height: 850px){

.megamenu-container .spalte-1       { bottom: 80px; }

.megamenu-container .spalte-2,
.megamenu-container .spalte-3       { margin-top: 0; }

}

@media (max-height: 750px) {

 .megamenu-container                { position: fixed; top: 0; left: 0; width: 100vw; height: 100dvh; 
                                        transform: translateY(-300%) !important; pointer-events: none; } 

 .megamenu-container.active         { transform: translateY(0) !important; pointer-events: auto; 
                                        overflow-y: auto; -webkit-overflow-scrolling: touch;} 

}

@media (min-height: 1100px){

    .megamenu-container .spalte-1               {  max-block-size: calc( 100vh - 1000px) !important;}

}
/****************/
/* MEDIA BREITE */
/****************/
@media screen and (max-width: 1500px){


    .logo-header,
    .fusion-page-title-bar.fusion-tb-page-title-bar,
    .width-100 .fusion-fullwidth,
    .fusion-tb-footer .fusion-fullwidth                 { padding-left: 50px !important; padding-right: 50px !important; }

    .fusion-content-tb .fusion-fullwidth                { padding-left: 0 !important; padding-right: 0 !important; }

    .rechtlich-heading-container,
    .andachten-heading-container,
    .andachten-all-heading-container,
    .veranstaltungen-heading-container,
    .jugendgruppen-heading-container,
    .gemeindejugendjahr-titel-layout-container,
    .zeltlager-single-titel-layout-container,
    .zeltlager-titel-layout-container                   { background-size: 760px !important; 
                                                            background-position: calc(50% + 230px) 100px !important;}

    .zeltlager-single-titel-layout-container,
    body.page-child:not(.page-parent) .gemeindejugendjahr-titel-layout-container 
                                                        { background-size: 760px !important; 
                                                            background-position: calc(50% + 230px) 0 !important;}

    .andachten-all-heading-container                    { background-size: 760px !important; 
                                                            background-position: calc(50% + 100px) 0 !important;}

    .gemeindejugendjahr-titel-layout-container          { padding-bottom: 50px !important; }

    body.page-child:not(.page-parent) 
    .zeltlager-titel-layout-container                   { padding-top: 200px !important; }

    .news-container-card .news-datum-cards              { transform: translateY(-46px); }
    .news-container-card .news-titel-cards              { transform: translateY(-46px); }
    .news-container-card .news-text-cards               { transform: translateY(-46px); }


    .news-container-card:hover .news-datum-cards    { transform: translateY(-66px) }
    .news-container-card:hover .news-titel-cards    { transform: translateY(-66px) }
    .news-container-card:hover .news-text-cards     { transform: translateY(-60px) }
    .news-container-card:hover .weiterlesen         { opacity: 1;}
    .news-container-card:hover .read-more-arrow     { transform: translateX(4px); }



}
/* iPhone, iPad */
@supports (-webkit-touch-callout: none) and (not (hover: hover)) {
    .news-container-card .news-datum-cards              { transform: translateY(-86px); }
    .news-container-card .news-titel-cards              { transform: translateY(-86px); }
    .news-container-card .news-text-cards               { transform: translateY(-86px); }

    .news-container-card:hover .news-datum-cards        { transform: translateY(-104px) }
    .news-container-card:hover .news-titel-cards        { transform: translateY(-104px); margin-top: -40px !important; }
    .news-container-card:hover .news-text-cards         { transform: translateY(-98px) }

}

@media screen and (max-width: 1400px){

    .slides .fusion-title-heading                   { margin-top: -100px !important; transform: translateX(50px); }

    .tfs-slider .slider-button                      { transform: translateX(50px); }

}
@media screen and (max-width: 1200px){

    .home .news-cards-grid-hauptcontainer               { background-size: cover; }

    .lagerlosungen-all-heading-container,
    .galerie-heading-container,
    .andachten-heading-container,
    .veranstaltungen-heading-container,
    .jugendgruppen-heading-container,
    .gemeindejugendjahr-titel-layout-container,
    .zeltlagerblog-all-heading-container,
    .zeltlager-single-titel-layout-container,
    .zeltlager-titel-layout-container                   { background-size: 760px !important; 
                                                            background-position: 50px 50px !important; }

    .rechtlich-heading-container                        { background-size: 560px !important; 
                                                            background-position: 50px 50px !important; }
                                                       
    .zeltlager-single-titel-layout-container,
    body.page-child:not(.page-parent) .gemeindejugendjahr-titel-layout-container 
                                                        { background-size: 70vw !important; 
                                                            background-position: 50px 50px !important; }

    .gemeindejugendjahr-titel-layout-container          { padding-bottom: 50px !important; }

    body.page-child:not(.page-parent) 
    .zeltlager-titel-layout-container                   { padding-top: 200px !important; }

    .rechtlich-heading,
    .lagerlosungen-heading,
    .galerie-heading,
    .zeltlager-titel,
    .zeltlagerblog-heading,
    .jugendgruppen-heading,
    .veranstaltungen-heading,
    .andachten-heading                                  { margin-top: 300px !important; }

    .rechtlich-heading                                  { max-width: 90vw !important; }

    .neuigkeiten-titel-inner-container                  { padding-top: calc((50vw * 259 / 1010) / 2.0); }

    .lagerlosungen-grid                                 { grid-template-columns: repeat(2, 1fr); }
    .galerie-gemeindejugend-grid                        { grid-template-columns: repeat(2, 1fr); }

}
@media screen and (max-width: 1024px){

    #menu-toggle                            { left: calc(50% + 200px); }

    .home .logo-header                      { position: relative !important; top: 20px !important; opacity: 1; 
                                                pointer-events: all; }


    .no-slider-klasse                       { transform: translateX(50px); }
    .no-slider-klasse h1                    { transform: translateX(-50px); font-size: 75px !important; }
    .news-cards-grid-container              { width: 100% !important; }

    .losung-hauptcontainer                  { margin-bottom: 50px !important; }

    .andachten-all-heading-container,  
    .andachten-heading-container             { background-image: url(img/hintergrund/andachten-header-mobil.svg) !important; 
                                                background-size: 80vw !important; background-position: 50px 0 !important; } 

    .neuigkeiten-titel-layout-container     { background-size: 660px !important; height: 90vw !important;
                                                            background-position: 100% 0 !important; }    
                                                            
    .neuigkeiten-titel-inner-container       { margin-top: 50vw !important; }

    .lagerlosungen-all-heading-container,
    .galerie-heading-container,
    .veranstaltungen-heading-container,
    .jugendgruppen-heading-container,
    .gemeindejugendjahr-titel-layout-container,
    .zeltlagerblog-all-heading-container,
    .zeltlager-single-titel-layout-container,
    .zeltlager-titel-layout-container                   { background-size: 660px !important; 
                                                            background-position: 50px 50px !important; }

    .zeltlagerblog-single-content-hauptcontainer        { padding-bottom: 0; }
    .jugendkombi-jugendkombi                            { padding-bottom: 0 !important; }

    .kategorie-navigation .kategorie-pagination         { justify-content: flex-start; }

    .fusion-sharing-box.event-sozial-teilen     { display: flex; justify-content: flex-start !important; padding-left: 0; } 

    .event-sozial-teilen .tagline               { margin-left: 0 !important; margin-right: 10px !important; 
                                                    line-height: 5.0 !important; align-self: flex-start !important; } 

    .fusion-sharing-box.event-sozial-teilen 
    .sharingbox-shortcode-icon-wrapper          { margin-left: 0 !important; }

    .event-pagination                           { margin-top: 0 !important; }

    .neuigkeiten-single-zum-kalender 
    .fusion-column-wrapper                      { justify-content: flex-start !important; }

    .galerie-hauptseite-grid,
    .zeltlagerblog-grid                         { grid-template-columns: repeat(2, 1fr); }

    .gemeindejugendjahr-wrapper                 { display: grid; margin-top: 110px; }

    .parent-pageid-5296 .fusion-post-cards 
    .fusion-grid > .fusion-grid-column          { width: 100% !important; }






}


@media (max-width: 850px) {

    .card-event-grid                { grid-template-columns: 1fr; }

}


@media (max-width: 768px) {
    h1                              { font-size: 60px !important; }

    #menu-toggle                    { left: calc(50% + 150px); }

    .megamenu-container.active      { overflow-y: auto; -webkit-overflow-scrolling: touch; }

    .megamenu-container             { transform: translateY(-200%); }
    .megamenu-container .spalte-3   { padding-bottom: 100px; }
    .card-event-item                { flex-direction: column; } 
    .card-event-date                { order: 1; } 
    .card-event-content             { order: 2; } 

    .losung-heading::before         { content: ""; position: absolute; bottom: 0%; right: 0; width: 210px; height: 210px; 
                                        transform: translateY(-60%); background-image: url('img/icon/anfuehrungszeichen.svg'); background-size: contain; background-repeat: no-repeat; pointer-events: none; } 

    .losung-heading::after          { content: ""; background-image: none; } 

    .logo-header                    { top: 12px; left: 12px; }
    
    .card-event-grid                { grid-template-columns: 1fr; }

    .galerie-gemeindejugend-grid    { grid-template-columns: 1fr;} 

    .gruppen-tabelle                { display: block; overflow-x: auto; white-space: nowrap; } 
    .download-table                 { display: block; overflow-x: auto; white-space: nowrap; } 
    .legende-item                   { font-size: 16px;} 
    
    .belegung-wrapper               { width: calc(100vw - 80px) !important; }

    .lagerlosungen-all-heading-container,
    .galerie-heading-container,
    .andachten-heading-container,
    .veranstaltungen-heading-container,
    .jugendgruppen-heading-container,
    .gemeindejugendjahr-titel-layout-container,
    .zeltlagerblog-all-heading-container,
    .zeltlager-single-titel-layout-container,
    .zeltlager-titel-layout-container                   { background-size: 90% !important; margin-top: -100px !important;
                                                            background-position: 20px 0 !important; }


    .event-filter-clear                                 { margin-left: 0 !important; }
    
    .home-all-events-link                               { margin-left: 300px !important; }
    .galerie-hauptseite-grid                            { grid-template-columns: repeat(1, 1fr); }

}

@media (max-width: 640px) {

    .logo-header                                { padding-left: 20px; padding-right: 20px; }
    #menu-toggle                                { top: 100px; left: calc(50% + 100px); }
    .no-slider-klasse h1                        { font-size: 55px !important; line-height: 1.3 !important; }
    .lagerlosungen-grid                         { grid-template-columns: 1fr; }

    .event-date-row                             { display: block; }
    .event-next                                 { margin-left: 0; }

    .event-prev::before,
    .event-next::after                          { width: 26px; }

    .news-sozial-teilen .tagline,               
    .event-sozial-teilen .tagline               { line-height: 1.0 !important; }

    .event-pagination-link                      { line-height: 1.2; }
    
    .footer-quicklinks, 
    .footer-menu-spalte-2, 
    .footer-rechtlich                           { margin-left: 0 !important; }

    .fusion-sharing-box.layout-small-stacked    { align-items: baseline !important; }

    .home .news-cards-grid-hauptcontainer      { padding-bottom: 0 !important; margin-bottom: 0 !important;
                                                background-color: #0d526d; background-image: none !important;
                                                background-size: contain; background-repeat: no-repeat; background-position: 0 0; }

    .dailyVerses.bibleText                      { font-size: 32px; line-height: 1.5; }

    .losung-heading h2                           { font-size: 44px !important; }
    .losung-heading                             { margin-top: 40px; }
    .losung-heading::before                     { width: 160px; height: 110px; transform: translateY(-120px); }   
    
    

    .rechtlich-heading-container,
    .andachten-heading-container,
    .andachten-all-heading-container,
    .veranstaltungen-heading-container,
    .jugendgruppen-heading-container,
    .gemeindejugendjahr-titel-layout-container,
    .zeltlager-single-titel-layout-container,
    .zeltlager-titel-layout-container                   { background-size: 90vw !important; 
                                                            background-position: center 50px !important; }

    .andachten-heading-container                { background-image: url(img/hintergrund/andachten-header-mobil.svg) !important; 
                                                    background-size: 70vw !important; background-position: 0 50px !important; }

    .zeltlagerblog-grid                         { grid-template-columns: repeat(1, 1fr); }

    .gruppen-tabelle td                         { line-height: 1.4 !important; }
    .parent-pageid-23 
    .gemeindejugendjahr-titel-nur-galerie p      { font-size: 38px !important; }

    
}
@media screen and (max-width: 420px) {
    
    h1                                          { font-size: 38px !important; line-height: 1.3 !important; overflow-wrap: anywhere; }
    h2                                          { font-size: 34px !important; line-height: 1.3 !important; overflow-wrap: anywhere; }
    .no-slider-klasse h1                        { font-size: 45px !important; line-height: 1.3 !important; }

    .post-content p                             { font-size: 20px !important; line-height: 1.4 !important;  }
    .news-text-cards p                          { font-size: 14px !important; line-height: 21px !important; }

    .parent-pageid-5296 .fusion-post-cards 
    .fusion-grid > .fusion-grid-column > 
    .fusion-column-inner-bg                     { height: 35px !important; }
    
    .megamenu-container .spalte-2               { margin-left: 20px !important; }

    .home-all-events-link                       { display: none !important; }


    .neuigkeiten-titel-layout-container         { background-size: 460px !important; height: 90vw !important;
                                                    background-position: 100% 0 !important; margin-top: -120px !important;  }

    .neuigkeiten-titel-inner-container          { margin-top: 100vw !important; padding-top: 0 !important; }
    .alle-news-cards-text                       { display: none !important; height: 0 !important; }
    .news-cards-grid-hauptcontainer             { margin-top: 80vw !important; }

    .custom-pagination                          { margin-bottom: 50px !important; }

    .news-datum-card                            { flex-direction: column; align-items: flex-start; }
    .news-datum                                 { margin: 0 !important; }

    .losung-heading::before                     { bottom: 40%; }

    .kategorie-pagination a                     { line-height: 1.0;}

    .kategorie-navigation .kategorie-pagination,
    .event-pagination                           { display: flex; flex-direction: column; justify-content: flex-end; gap: 20px; 
                                                    width: 100%; } 

    .all-events-link                            { margin-top: 30px !important; }

    .kategorie-pagination .prev-link,
    .kategorie-pagination .next-link            { display: inline-flex; align-items: center; }
    
    .gemeindejugendjahr-titel-layout-container  { background-size: 70vw !important; }

    .zeltlager-single-titel-layout-container,
    body.page-child:not(.page-parent) 
    .zeltlager-titel-layout-container,
    body.page-child:not(.page-parent) 
    .gemeindejugendjahr-titel-layout-container  { background-size: 70vw !important;  background-position: 0 0 !important;
                                                    margin-bottom: 0 !important; padding-bottom: 0 !important; }

    .andachten-all-heading-container            { margin-bottom: 0 !important; }

    .rechtlich-heading, 
    .lagerlosungen-heading, 
    .galerie-heading, 
    .zeltlager-titel, 
    .zeltlagerblog-heading, 
    .jugendgruppen-heading, 
    .veranstaltungen-heading, 
    .andachten-heading                          { margin-top: 80px !important; }

    .rechtlich-heading-container                { padding-bottom: 0 !important; margin-bottom: 0 !important; }

    .fusion-breadcrumbs                         { display: none; height: 0; }

    .gemeindejugendjahr-titel                   { font-size: 50px; }
    .gemeindejugendjahr-jahr                    { font-size: 100px;  }

    .zeltlager-titel p                          { font-size: 35px; margin-top: 0 !important; margin-bottom: 0 !important; }

     #content                                   { margin-bottom: 0 !important; }

    .category-veranstaltungen, 
    .category-neuigkeiten                       { margin-top: 0 !important; }

    .lagerlosungen-card-inner                   { padding: 15px 20px 20px 20px; }


}


@media screen and (max-width: 320px) {

    h1                                          { font-size: 35px !important; }
    #menu-toggle                                { left: calc(50% + 50px);  }
    .gemeindejugendjahr-titel-nur-galerie p     { font-size: 35px !important; line-height: 1.4 !important; }
}