/*
Theme Name: SSW
Theme URI: https://generatepress.com
Description: Child Theme für GeneratePress
Author: Sebastian Reifberger
Template: generatepress
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ssw
*/

@import url("../generatepress/style.css");


@font-face {
	font-family: 'Weimar Sans Condensed';
	font-style: normal;
	font-weight: 700;
	src: local('Weimar Sans Condensed'),
	url('./fonts/WeimarSansCondensed-Bold.woff') format('woff'),
	url('./fonts/WeimarSansCondensed-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Weimar Sans';
	font-style: normal;
	font-weight: 400;
	src: local('Weimar Sans Condensed'),
	url('./fonts/WeimarSans-Regular.woff') format('woff'),
	url('./fonts/WeimarSans-Regular.woff2') format('woff2');
}

/*
colors color: 
*/
:root {
    --blue: #0075C9;
    --gp-font--weimar-sans-condensed: 'Weimar Sans Condensed', sans-serif;
    --gp-font--weimar-sans: 'Weimar Sans', sans-serif;
}

@media (min-width: 769px) {
    nav .main-nav .mega-menu {
        position: static;
    }

    nav .main-nav .mega-menu > ul {
        position: absolute;
        width: 100%;
        left: 0 !important;
        display: flex;
        flex-wrap: wrap;
    }

    nav .main-nav .mega-menu > ul > li > a {
        font-weight: bold;
    }

    nav .main-nav .mega-menu>ul>li {
        display: inline-block;
        width: 25%;
        vertical-align: top;
    }

    nav .main-nav .mega-menu.mega-menu-col-2>ul>li {
        width: 50%;
    }

    nav .main-nav .mega-menu.mega-menu-col-3>ul>li {
        width: 33.3333%;
    }

    nav .main-nav .mega-menu.mega-menu-col-5>ul>li {
        width: 20%;
    }

    nav .main-nav .mega-menu > ul > li:hover > a,
    nav .main-nav .mega-menu > ul > li:focus > a,
    nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
    nav .main-nav .mega-menu ul ul {
        background-color: transparent !important;
        color: inherit;
    }

    nav .main-nav .mega-menu ul .sub-menu {
        position: static;
        display: block;
        opacity: 1;
        visibility: visible;
        width: 100%;
        box-shadow: 0 0 0;
        left: 0;
        height: auto;
        pointer-events: auto;
        transform: scale(1);
    }

    nav .main-nav .mega-menu ul.toggled-on .sub-menu {
        pointer-events: auto;
    }

    nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
        display: none;
    }
}

/*

mobile menu
*/
.gb-menu-container .gb-menu-toggle{
display: none !important;
}

/*
toggled fix

@media (min-width: 769px) {
    .main-navigation .main-nav ul,
    .main-navigation .main-nav ul li {
      display: flex !important;
      flex-direction: row !important;
    }
    
    .main-navigation .main-nav ul {
      visibility: visible !important;
      opacity: 1 !important;
      height: auto !important;
      overflow: visible !important;
    }
  }*/


/*
faq
*/
/* Accordion Container */
.modern-accordion {
    max-width: 100%;
}

/* Einzelne Accordion Items */
.accordion-item {
    background-color: white;
    border-radius: 50px;
    margin-bottom: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.accordion-item:last-child {
    margin-bottom: 0;
}

/* Trigger Button */
.accordion-trigger {
    width: 100%;
    padding: 20px 30px;
    background-color: white !important;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: background 0.3s ease;
}

.accordion-trigger:hover {
    background-color: #f8f8f8 !important;
}

/* Titel Text */
.accordion-title {
    font-size: 16px;
    font-weight: 400;
    color: #6b6b6b;
    text-align: left;
    line-height: 1.5;
    flex: 1;
    padding-right: 20px;
}

/* Plus Icon Container */
.accordion-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    border:1px solid #0075C9
}

.accordion-icon svg {
    color: #0075C9;
    transition: transform 0.3s ease;
}

/* Active State - Rotiere Plus zu X */
.accordion-trigger.active .accordion-icon svg {
    transform: rotate(45deg);
     color: #ffffff;
}

/* Optional: Icon Farbe bei Active */
.accordion-trigger.active .accordion-icon {
    background: #357abd;
}

/* Content Container */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
}

.accordion-content.active {
    max-height: 2000px;
    transition: max-height 0.6s ease-in;
}

/* Inner Content mit Padding */
.accordion-content-inner {
    padding: 0 30px 25px 30px;
    color: #4a4a4a;
    line-height: 1.7;
}

/* Responsive */
@media (max-width: 768px) {
    /*.modern-accordion {
        padding: 15px;
    }*/
    
    .accordion-trigger {
        padding: 15px 20px;
    }
    
    .accordion-title {
        font-size: 14px;
    }
    
    .accordion-icon {
        width: 40px;
        height: 40px;
        min-width: 40px;
    }
    
    .accordion-content-inner {
        padding: 0 20px 20px 20px;
        font-size: 14px;
    }
}

/*
accordion fahrpläne
*/
.gb-accordion__item.gb-accordion__item-open{
     background-color: var(--blue) !important;
}
.gb-accordion__item.gb-accordion__item-open svg{
    color: #ffffff !important;
}

/*
header
*/
.header_suche input[type="search"] {
    border-radius: 100px;
    border: 1px solid var(--grey-40, #BEC2C6);
    background: var(--white, #FFF);
    font-size: 18px !important;
    height: 40px;
    width:150px !important;
    padding: 6px 15px;
}     
.header_suche .wp-block-search__inside-wrapper {
    position: relative;
}
/*
search icon
*/
.header_suche .wp-block-search__inside-wrapper::before{
    z-index: 1;
    content: "";
    position: absolute;
    right: 15px;
    top: 7px;
    width:25px;
    height:25px;
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.6582 21.6162L19.79 16.748C19.5703 16.5283 19.2725 16.4062 18.96 16.4062H18.1641C19.5117 14.6826 20.3125 12.5146 20.3125 10.1562C20.3125 4.5459 15.7666 0 10.1562 0C4.5459 0 0 4.5459 0 10.1562C0 15.7666 4.5459 20.3125 10.1562 20.3125C12.5146 20.3125 14.6826 19.5117 16.4062 18.1641V18.96C16.4062 19.2725 16.5283 19.5703 16.748 19.79L21.6162 24.6582C22.0752 25.1172 22.8174 25.1172 23.2715 24.6582L24.6533 23.2764C25.1123 22.8174 25.1123 22.0752 24.6582 21.6162ZM10.1562 16.4062C6.7041 16.4062 3.90625 13.6133 3.90625 10.1562C3.90625 6.7041 6.69922 3.90625 10.1562 3.90625C13.6084 3.90625 16.4062 6.69922 16.4062 10.1562C16.4062 13.6084 13.6133 16.4062 10.1562 16.4062Z' fill='%235C6670'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 25px 25px;
   
}
.header_suche .wp-block-search__inside-wrapper:has(input:not(:placeholder-shown))::before {
    opacity: 0;
    pointer-events: none;
}
/* Container der Suchergebnisse zählen */
.search-results {
    counter-reset: search-counter;
}

.search-results article {
    counter-increment: search-counter;
}

/* Nummer anzeigen – passe den Selektor an dein Layout an */
.search-results article .gb-headline:first-of-type::before {
    content: counter(search-counter) ". ";
}

/* Suchformular auf der Suchseite */
.rws-search-form__wrap {
    position: relative;
    /*max-width: 600px;*/
    padding-left: 40px;
    padding-right: 40px;
}
@media screen and (max-width: 768px) {
    .rws-search-form__wrap {
        padding-left: 30px;
        padding-right: 30px;
    }
}

.rws-search-form__wrap input[type="search"] {
    border-radius: 100px;
    border: 1px solid var(--grey-40, #BEC2C6);
    background: var(--white, #FFF);
    font-size: 18px !important;
    height: 40px;
    width: 100% !important;
    padding: 6px 15px 6px 15px;
    outline: none;
}

/* Lupe */
.rws-search-form__wrap::before {
    z-index: 1;
    content: "";
    position: absolute;
    right: 15px;
    top: 7px;
    width: 25px;
    height: 25px;
    background-image: url("data:image/svg+xml,%3Csvg width='25' height='25' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.6582 21.6162L19.79 16.748C19.5703 16.5283 19.2725 16.4062 18.96 16.4062H18.1641C19.5117 14.6826 20.3125 12.5146 20.3125 10.1562C20.3125 4.5459 15.7666 0 10.1562 0C4.5459 0 0 4.5459 0 10.1562C0 15.7666 4.5459 20.3125 10.1562 20.3125C12.5146 20.3125 14.6826 19.5117 16.4062 18.1641V18.96C16.4062 19.2725 16.5283 19.5703 16.748 19.79L21.6162 24.6582C22.0752 25.1172 22.8174 25.1172 23.2715 24.6582L24.6533 23.2764C25.1123 22.8174 25.1123 22.0752 24.6582 21.6162ZM10.1562 16.4062C6.7041 16.4062 3.90625 13.6133 3.90625 10.1562C3.90625 6.7041 6.69922 3.90625 10.1562 3.90625C13.6084 3.90625 16.4062 6.69922 16.4062 10.1562C16.4062 13.6084 13.6133 16.4062 10.1562 16.4062Z' fill='%235C6670'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 25px 25px;
    pointer-events: none;
    transition: opacity .2s ease;
}

/* Lupe ausblenden sobald Text im Feld steht */
.rws-search-form__wrap:has(input:not(:placeholder-shown))::before {
    opacity: 0;
}






/*
button styles
icon white on hover
*/
a:hover .gb-shape{
    stroke: none !important;
}
.button_white:hover svg path {
    fill: #ffffff !important;
}


/*
    breadcrumb styles
*/
.breadcump_container{
   font-family: var(--gp-font--weimar-sans);
    font-weight: 400;
    font-size: 18px !important;
    color: var(--grey, #5C6670)  !important;
}
.breadcump_container a{
    color: var(--grey, #5C6670)  !important;
}
.breadcrumb_last{
    color: var(--blue) !important;
}



/*
forms
*/
.gp-select {
    position: relative;
}
.gp-select select {
    padding: 10px 15px !important;
    border: 1px solid var(--accent);
    border-radius: 25px;
    background-color: #fff;
    color: var(--contrast-3);
    font-family: inherit;
    font-size: inherit;
    appearance:unset;
    position: relative;
}
.gp-select::before{
    z-index: 1;
    content: '';
    position: absolute;
    top:13px;
    right:23px;
    width: 20px;
    height: 20px;
    background-image: url(./img/arrow_down.svg );
    background-repeat: no-repeat;
    background-size: contain;
} 

/*
linien mit haltestellen 
*/
.haltestelle-item{
    padding:5px 0;
    display: flex;
    align-items: center;
}
.haltestelle-item svg{
    margin-right: 10px;
}
.fahrplan-buttons-grid{
    display:flex;
    flex-direction: column;
    gap: 5px;
}
/*a not full width*/
.fahrplan-buttons-grid a{
    width: fit-content;
}


/*
    herotage

.herostage_image img{
    max-height:400px;
    width:auto;
}*/


.stage_subsites_postimage{
  background-position: center right !important;
}
/*
sidebqry right styles
*/
.widget_font p{
    font-family: var(--gp-font--weimar-sans) !important;
    font-weight: 400 !important;
    font-size: 17px !important;
    line-height: 1.5 !important;
    color: var(--grey, #5C6670) !important;
}
.widget-area {
    padding-right: 40px;
  }
  @media (max-width: 769px) {
    .widget-area {
        padding-left: 30px !important;
        padding-right: 30px !important;
      }

  }


  @media screen and (min-width: 1025px)  {
     .gb-menu-995a9ae9 {
        column-gap: 20px !important;
    }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .gb-menu-item-mi5a9ae9 .gb-menu-link {
        column-gap: 2px !important;
     }
     .gb-menu-995a9ae9 {
        column-gap: 15px !important;
    }
}
  @media (max-width: 768px) {
    /* Original-SVG ausblenden */
    .gb-submenu-toggle .gb-submenu-toggle-icon {
        display: none;
    }

    /* Plus-Icon (geschlossen) */
    .gb-submenu-toggle::after {
        content: "";
        display: inline-block;
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='128' cy='128' r='96' fill='none' stroke='white' stroke-miterlimit='10' stroke-width='16'/%3E%3Cline x1='88' y1='128' x2='168' y2='128' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='16'/%3E%3Cline x1='128' y1='88' x2='128' y2='168' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='16'/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
    }

    /* Minus-Icon (offen) */
    .gb-submenu-toggle[aria-expanded="true"]::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Ccircle cx='128' cy='128' r='96' fill='none' stroke='white' stroke-miterlimit='10' stroke-width='16'/%3E%3Cline x1='88' y1='128' x2='168' y2='128' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='16'/%3E%3C/svg%3E");
    }
}

/*
summenu fix wrap width
*/
@media (max-width: 1350px) {
    .headermenu ul.gb-menu > li:last-child ul{
       left: auto !important;
       right: 0 !important;
    }
}


/*
entsorgung
*/
.entsorgung-hl{
    color: var(--blue) !important;   
}
.entsorgung-grid {
    width: 100%;
}
.entsorgung-header,
.entsorgung-row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 2fr;
    gap: 10px;
    
    color: var(--contrast-3) !important;
    font-size: 18px !important;
    border-bottom: 1px solid var(--contrast-3) !important;
    font-family: "Weimar Sans", sans-serif;
}
.entsorgung-header {
    font-weight: 700;
}
.entsorgung-row {
    padding: 10px 0px;
    border-bottom: 1px solid var(--contrast-3) !important;
}
/*
.entsorgung-row:nth-child(even) {
    background: #f7f7f7;
}*/
.entsorgung-info{
    margin-top: 20px;
    color: var(--contrast-3) !important;
}
@media (max-width: 768px) {
    .entsorgung-header{
        display: none;
    }
    .entsorgung-row{
        grid-template-columns: 1fr;
    }

}
@media (min-width: 769px) {
    .entsorgung-row strong{
        display: none;
    }
}


/*
jobs
*/

.job_infos_description,.job_infos_description a{
    color: #FFFFFF !important;
}



/*
chronic accordions
alternante floating left/right
.chronic_section
screensize> 768px
*/
@media (min-width: 769px) {
    .chronic_section .gb-accordion__item{
         width: 50%;
    }
    .chronic_section .gb-accordion__item:nth-child(even) {
        float: right;
        margin-left: 50%;
        padding-left: 20px !important;
        padding-right: 40px !important;
    }
    /* gb-accordion__toggle-icon order: 1*/
    .chronic_section .gb-accordion__item:nth-child(even) .gb-accordion__toggle-icon{
        order: 0 !important;
    }
    .chronic_section .gb-accordion__item:nth-child(even) .gb-text{
        order: 1 !important;
    }
    .chronic_section .gb-accordion__item:nth-child(even) .gb-accordion__toggle{
        justify-content:flex-start !important;
    }

    .chronic_section .gb-accordion__item:nth-child(odd) {
        float: left;
    }
}


/*
busse
*/
.bus_zusatz>ul{
    margin: 0 0 0 1em !important;
}
.bus_inner_toggle{
    font-size: 17px !important;
}
.bus_inner_toggle button:hover{
    background-color: var(--blue) !important;
}



/*
stoerung
*/
.acc_stoerung{
    margin-bottom: 10px !important;
}
.acc_stoerung_dots span{
    margin-bottom: 3px !important;
}


/*
blog
*/
.blog_tile_3_2 img{
    aspect-ratio: 3/2;
}

/*
select2
*/
.select2-container--default .select2-selection--single {
    height: auto !important;          /* schlägt das fixe 28px + Inline-Style */
    padding: 8px 1px;                /* dein Padding kommt HIER hin */
    border: 1px solid #ccc;
    border-radius: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0;                       /* kein Padding mehr hier */
    line-height: 1.5;                 /* statt des fixen line-height */
}

/* Pfeil an die neue Höhe anpassen, sonst sitzt er oben fest */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    top: 0;
    right: 8px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 43px !important;
}

/*
form mood selection
*/
.select_mood li figure{
    opacity:0.5 !important;
}
.select_mood li:hover figure,
.select_mood li.is-checked figure{
    opacity:1 !important;
}
/*< 925 flex col, li full width*/
@media (max-width: 925px) {
    ul.select_mood{
        flex-direction: column !important;
    }
    .select_mood li{
        width: 100% !important;
    }
    .select_mood li figure{
        width: 80px !important;
        height: 80px !important;
    }
}