/* CSS Document */
/*
@media only screen and (max-width: 1650px) {
    body {
        --wp--style--global--content-size: 95%;
        --wp--style--global--wide-size: 100%;
    }
}
*/



/* MOBILE MENU */
@media (min-width: 851px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none !important;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: block !important;
        width: 100%;
        position: relative;
        z-index: auto;
        background-color: inherit;
    }
}
/* Remove the WordPress default for 600px */
@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: flex;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
}



@media only screen and (max-width: 1650px) {
    .business-numbers span {
/*        font-size: 35px;*/
        font-size: clamp(30px, 32px, 35px);
    }
    
    .business-numbers p {
        font-size: 17px;
        white-space: nowrap;
    }
    
    div#core-numbers {
        padding: 20px!important;
    }  
        
    .home #very-top .wp-block-social-links {
        margin-left: -15px;
        margin-right: -15px;
    }
}

@media only screen and (max-width: 1550px) {
    body {
/*        --wp--style--global--content-size: 90%;*/
        --wp--style--global--wide-size: 95%;
    }
}

@media only screen and (max-width: 1450px) {
    header {
        z-index: 9999; 
    }
    
    ul.is-style-main-navigation {
        display: flex;
        gap: unset;
    }
    
    #very-top form.wp-block-search {
        width: 170px;
    }
    
    #very-bottom,
    #very-bottom nav  > ul {
        row-gap: 5px;
    }

}



@media only screen and (max-width: 1350px) {
    header .wp-block-site-logo {
        width: 130px;
    }  
    
    #navigation-wrapper >div:first-of-type {
        padding-top: var(--wp--preset--spacing--20)!important;
        padding-right: var(--wp--preset--spacing--30)!important;
        padding-bottom: var(--wp--preset--spacing--20)!important;
        padding-left: var(--wp--preset--spacing--30)!important;
    }
    
    div#core-numbers {
        padding: 17px!important;
    } 
    
    .business-numbers {
        display: flex;
        gap: 17px;
    }
    
    header .is-style-main-navigation > li {
        padding-left: 10px!important;
        padding-right: 10px!important;
    }
    
    header .is-style-main-navigation > li:first-of-type {
        padding-left: 0!important;
    }
    
    .wp-block-splide-carousel__container {
        max-width: 80vw;
    }
}


@media only screen and (max-width: 1250px) {
    body {
        --wp--style--global--content-size: 95%;
    }
    
    #navigation-wrapper {
/*        max-width: unset!important;*/
    }
    
    header #navigation-container {
        max-width: unset!important;
    }
    
    .home #leistungsfinder #form-container {
        grid-column: span 5;
    }
    
    header .is-style-main-navigation > li {
        padding-left: 20px!important;
        padding-right: 20px!important;
    }
    
    #very-top .wp-block-social-links {
        margin-left: 0;
        margin-right: 0;
    }
    
    #very-top form.wp-block-search {
        width: 272px;
    }
    
    header #navigation-wrapper {
        justify-content: center;
    }
    
    .home #news {
        grid-column: span 3;
    }
    
    .home #core-numbers {
        grid-column: span 2;
    }
    
    .home #news > * {
        max-width: unset;
    }    
    
    .home #grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    
    .business-numbers {
        display: flex;
        gap: 20px;
        justify-content: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }
    
    .home .busines-numbers {
        margin-top: 0;    
    }
    
    
    .business-numbers span {
        font-size: 35px; 
    }
    
    div#core-numbers {
        padding: var(--wp--preset--spacing--50)!important;
        order: 999;
    }
    
    .home #news #button-wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    
    #form-wrapper >* {
        max-width: var(--wp--style--global--content-size);
    }
    
    .info-modal-content {
        width: 80%;
    }
    
    .info-modal-body > div > div {
        margin-left: 0!important;
    }
    
    .info-modal-body > div > div .wp-block-details {
        margin-left: 5px!important;
    }
    
    #leistungsfinder-small select {
        width: 230px!important;
    }
    
    #leistungsfinder-small #leistungsfinder-formular #user_location_autocomplete {
        width: 230px!important;
    }
    
    #leistungsfinder-small #locationwrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: start;
        gap: 10px;
        flex-direction: column;
        align-content: flex-start;
    }
    
    #bkf-columns > div:first-of-type {
        flex-basis: 70%!important;    
    }
    
    #bkf-columns > div .has-red-background-color {
        padding-right: 150px!important;
    }
    
    .services ul {
        list-style: none;
        display: grid;
        grid-template-columns: 2fr 2fr 2fr;
        width: unset;
        gap: 4px;
    }
    
    .timeline-item-image figure {
        width: 350px;
    }
    
    #jubily-container img {
        object-fit: cover;
    }
}



@media only screen and (max-width: 1050px) {
    #footer-navigation-wrapper .footer-column {
        display: flex;
        flex-direction: column;
    }    
    
    .single-standort #opener {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    
    #leistungsfinder-containerdienst {
        display: flex;
        flex-direction: column;
    }
    
    #leistungsfinder-small select {
        width: 350px!important;
    }
    
    #leistungsfinder-small #leistungsfinder-formular #user_location_autocomplete {
        width: 350px!important;
    }
    
    #leistungsfinder-small #locationwrapper {
        display: flex;
        flex-wrap: nowrap;
        align-items: start;
        gap: 10px;
        flex-direction: row;
        align-content: flex-start;
    }
    
/*
    #leistungsfinder-small {
        margin-bottom: 70px;
    }
*/
    
    .wp-block-query .columns-3, .wp-block-query .columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
    #bkf-columns > div:first-of-type {
        flex-basis: 60%!important;    
    }
    
    #bkf-columns > div .has-red-background-color {
        padding-right: 150px!important;
    }
    
    div.downloads-list {
    column-gap: 15px;
    row-gap: 15px;
    flex-wrap: wrap;
    justify-content: space-between;
}
    
    .download-item {
        flex-basis: 47%;
    }
}


@media only screen and (max-width: 950px) {
    #very-top form.wp-block-search {
        width: 170px;
    }
    
    #very-top .wp-block-social-links {
        margin-left: -15px;
        margin-right: -15px;
    }
    
    header .is-style-main-navigation > li {
        padding-left: 10px!important;
        padding-right: 10px!important;
    }
    
    .home h1 {
        font-size: 50px!important;
    }
    
    /* STANDORTE */
    .services ul {
        grid-template-columns: 2fr 2fr;
    }
    
    .download-item {
        flex-basis: 47%;
    }
    
    #bkf-columns > div:first-of-type {
        flex-basis: 100%!important;    
    }
    
    #bkf-columns > div .has-red-background-color {
        padding-right: var(--wp--preset--spacing--50)!important;
        margin-bottom: 30px;
    }
    
    #bkf-columns > div:last-of-type {
        display: none;
    }
    
    .certificates-by-store .row,
    .standorte-by-service .row {
        grid-template-columns: 1fr;
        gap: unset;
    }

    .certificates-by-store .title img {
        flex-basis: 2%;
    }
    
    .certificates-by-store h3,
    .standorte-by-service h3 {
        font-size: 17px;
        padding-left: 10px;
    }
    
    .certificates-by-store .title,
    .standorte-by-service .title {
        padding-left: 0;
    }
    
    .standorte-by-service .locations-container {
        grid-template-columns: 1fr;
        row-gap: 0;
    }
    
    .standorte-by-service .locations-container .location-item {
        padding: 10px;    
    }
    
    
    .standorte-by-service .locations-container .location-item:nth-of-type(even) {
        background-color: #F2F2F2;
    }
    
    .standorte-by-service .locations-container .location-item:nth-of-type(odd) {
        background-color: white;
    }
    
    ul.standort-results-list {
        grid-template-columns: 2fr 2fr;
    }
    
    .message-distance {
        grid-column: span 1!important;
    }
}


@media only screen and (max-width: 850px) {
    :root {
        --header-height: 125px;
    }
    
    .has-modal-open nav.is-style-main-navigation ul.is-style-main-navigation {
        gap: 10px!important;
    }
    
    .has-modal-open nav.is-style-main-navigation ul .wp-block-navigation-submenu ul {
        padding-left: 0!important;
        padding-top: 0!important;
    }
    
    .has-modal-open nav.is-style-main-navigation ul li.has-child {
        padding-left: 0!important;
    }
    
    .has-modal-open nav.is-style-main-navigation ul .wp-block-navigation-submenu ul li a {
        padding-top: 0!important;
        padding-bottom: 0!important;
        font-weight: 400!important;
    }
    
    .has-modal-open nav.is-style-main-navigation .wp-block-navigation-item {
        padding-left: 0!important;
    }
    
    .has-modal-open .current-menu-item > a,
    .has-modal-open .current-menu-item > a:hover {
        color: #E20D19!important;
        border-bottom: 3px solid transparent!important;
    }
    
    .has-modal-open .wp-block-navigation-item a:hover {
        color: #E20D19!important;
    }
    
    .has-modal-open .is-style-main-navigation a:hover {
        border-bottom: 3px solid transparent!important;
        margin-bottom: 0;
    }
    
    #very-top .wp-block-social-links {
        display: none;
    }
    
    .home #news, 
    .home #core-numbers {
        grid-column: span 5;
    }
    
    header .desktop-link {
        display: none!important;
    }
    
    #very-top {
        gap: 0;
    }
    
    .mobile-link {
        display: flex!important;
    }
    
    #navigation-container {
        display: flex;
        flex-direction: row;
    }
    
    header #navigation-wrapper {
        display: flex;
        justify-content: space-between!important;
    }
    
    header #navigation-container nav {
        background-color: #E20D19;
        color: white;
        padding: 10px;
    }
    
    #very-top form.wp-block-search {
        padding: 7px 0px 7px 0px;
    }
    
    /* STANDORTE */
    .standort-wrapper {
        grid-template-columns: 2fr 2fr;
    }
    
    ul.standort-results-list.single {
        grid-template-columns: 2fr;
    }
    
    .timeline-item:nth-of-type(odd) .timeline-item-text .inner-content {
        margin-left: 30px;
        margin-right: 0;
    }
    
    .timeline-item:nth-of-type(odd) .timeline-item-image .inner-content {
        margin-right: 30px;
        margin-left: 0;
    }
    
    .timeline-item-image figure {
        width: 310px;
    }
}

@media only screen and (max-width: 781px) {
    #jubily-container img {
        height: unset!important;
        width: 100%;
    }
    
    nav.sub-nav {
        min-height: unset;
        justify-content: flex-start!important;
        margin-top: 0;
        margin-bottom: -10px;
        margin-left: 0!important;
    }
    
    .single-standort .address {
        margin-top: 0;
        margin-bottom: -35px;
        margin-left: 0!important;
    }
    
    #opener .wp-block-columns {
        gap: 0;
    }
    
    #opener .wp-block-columns .wp-block-group > p:first-of-type {
        display: none;
    }
    
    .is-style-accordion-arrow div:last-of-type {
        border-bottom: 2px solid black;
    }
    
    div#leistungsfinder-small {
        margin-bottom: 80px;
    }
}

@media only screen and (max-width: 750px) {
    
    .dAstylere #dAopener {
        right: 15px!important;
        top: 42%!important;
        width: 60px!important;
        height: 60px!important;
        filter: drop-shadow(0px 0px 6px #999)!important;
    }
    
    .download-item {
        flex-basis: 100%;
    }
    
    #leistungsfinder-small select {
        width: 250px!important;
    }
    
    #leistungsfinder-small #leistungsfinder-formular #user_location_autocomplete {
        width: 250px!important;
    }
    
    #leistungsfinder-small #locationwrapper {
        display: flex;
        flex-wrap: nowrap;
        align-items: start;
        gap: 10px;
        flex-direction: row;
        align-content: flex-start;
    }
    
    #leistungsfinder-small {
        min-height: 300px!important;
        margin-bottom: 80px!important;
    }
    

    
    h1 { font-size: 28px;}
    h2 { font-size: 25px;}
    h3 { font-size: 23px;}
    h4 { font-size: 21px;}
    h5 { font-size: 19px;}
    h6 { font-size: 17px;}
    
    .download-item {
        flex-basis: 44%;
    }
    
    .certificates-by-store .download-container {
        grid-template-columns: 2fr 2fr;
    }
    
    .timeline-item:nth-of-type(odd) {
        flex-direction: column; 
    }
    
    .timeline-item:nth-of-type(odd) .timeline-item-text .inner-content {
        margin-left: unset;
    }
    
    .timeline-item:nth-of-type(odd) .timeline-item-image .inner-content {
        margin-right: unset;
    }
    
    .timeline-item-image figure {
        width: 100%;
    }
    
    .timeline-item:after {
        left: 0;
        transform: unset;
        top: 5%;
    }
    
    .timeline-item:before {
        left: 8px;
        transform: unset;
        top: 5%;
    }
    
    .timeline-item {
        padding-left: 35px;
    }
    
    .timeline-item-text {
        width: 100%;
    }
    
    .timeline-item-image {
        width: 100%;
    }
    
    .timeline-item-text * {
        max-width: unset;
    }
    
    .timeline-item:nth-of-type(even) .timeline-item-image .inner-content {
        margin-left: unset;
    }
    
    .timeline-item:nth-of-type(odd) .timeline-item-image {
        justify-content: flex-start;
    }
    
    .timeline-item {
        flex-direction: column;
    }
    
    .timeline::after {
        left: 9px;
        bottom: 60px;
        z-index: 1;
    }
    
    .timeline-item-image .inner-content {
        width: 100%;
    }
    
}


@media only screen and (max-width: 650px) {
    #footer-navigation-container {
        justify-content: flex-start!important;
    }
    
    footer .wp-block-social-links {
        position: relative;
        left: -19px;
    }
    
    #very-bottom, #very-bottom nav  > ul {
        justify-content: flex-start;
    }
    
    .home h1 {
        font-size: 40px!important;
    }
    
    footer > div .alignwide {
        width: 90%;
    }
    
    #form-container .wp-block-cover__inner-container {
        top: 50px;
    }
    
    #leistungsfinder-formular select {
        width: 250px;
    }
    
    div#leistungsfinder-results #leistungsfinder-formular select#search {
        width: 315px;
    }
    
    #leistungsfinder-formular #user_location_autocomplete {
        width: 314px!important;
    }
    
    .wp-block-group-is-layout-grid > .wp-block-group figure img {
        width: 100%!important;
    }
    
    /* STANDORTE */
    .services ul {
        grid-template-columns: 2fr;
    }
    
    #leistungsfinder-small #locationwrapper {
        flex-direction: column;
    }
    
    #leistungsfinder-small div {
        max-width: unset;
    }
    
    #leistungsfinder-small h2 {
        margin-left: 0!important;
    }
    
    #leistungsfinder-small {
        min-height: 300px!important;
        margin-bottom: 150px!important;
        aspect-ratio: 5/4!important;
    }
    
/*
    .wp-block-table,
    .businesshours-container {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .wp-block-table table {
      min-width: 550px;
      border-collapse: collapse;
    }
    
    .businesshours-container table {
        min-width: 350px;
    }

    .wp-block-table th,
    .wp-block-table td,
    .businesshours-container th, 
    .businesshours-container td {
      white-space: nowrap;
    }
    
    .wp-block-table .has-fixed-layout {
        table-layout: auto!important;
    }
*/
    
/*
    .wp-block-table,
    .businesshours-container {
      display: block;
      width: 100%;
      max-width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: thin;
    }

    .wp-block-table table,
    .businesshours-container table {
      width: 100%;
      min-width: 550px;
      border-collapse: collapse;
      border-spacing: 0;
    }

    .businesshours-container table {
      min-width: 350px;
    }

    .wp-block-table th,
    .wp-block-table td,
    .businesshours-container th,
    .businesshours-container td {
      white-space: nowrap;
      word-break: keep-all;
    }

    .wp-block-table table.has-fixed-layout {
      table-layout: auto;
    }

    .wp-block-table {
      min-width: 0;
    }
*/
    
    /* SCROLLBAR & RESPONSIVE TABLES FIX FOR ALL TABLES */
.wp-block-table,
.businesshours-container {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #E20D19 #f2f2f2; /* red thumb, light track */
}

/* Webkit scrollbar for all tables */
.wp-block-table::-webkit-scrollbar,
.businesshours-container::-webkit-scrollbar {
    height: 8px;
}

.wp-block-table::-webkit-scrollbar-track,
.businesshours-container::-webkit-scrollbar-track {
    background: #f2f2f2;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.wp-block-table::-webkit-scrollbar-thumb,
.businesshours-container::-webkit-scrollbar-thumb {
    background-color: #E20D19;
    border-radius: 4px;
    border: 2px solid #f2f2f2;
}

/* Table layout */
.wp-block-table table,
.businesshours-container table {
    width: 100%;
    min-width: 550px; /* responsive minimum */
    border-collapse: collapse;
    border-spacing: 0;
}

.businesshours-container table {
    min-width: 350px; /* special case for smaller business hour tables */
}

.wp-block-table th,
.wp-block-table td,
.businesshours-container th,
.businesshours-container td {
    white-space: nowrap;
    word-break: keep-all;
}

.wp-block-table table.has-fixed-layout {
    table-layout: auto;
}

.wp-block-table {
    min-width: 0;
}
    
    .download-item {
        flex-basis: 48%;
    }

}
   
@media only screen and (max-width: 550px) {
    /* STANDORTE */
    .standort-wrapper {
        grid-template-columns: 2fr;
    }
    
    .services summary, 
    .abfuhrplaene-accordions summary,
    .is-style-details-alt summary {
        font-size: 20px;
    }
    
    .services details summary::before,
    .abfuhrplaene-accordions details summary::before,
    .is-style-details-alt summary::before {
        width: 15px;
        height: 20px;
    }
    
    .services details summary,
    .abfuhrplaene-accordions details summary, 
    .is-style-details-alt summary {
        padding-left: 1.2em;
    }
    
    .services ul, .abfuhrplaene-accordions ul {
        padding-left: 1.5rem;
    }
    
    .single-standort h1 {
        font-size: 30px;
    }
    
    .single-standort h2 {
        font-size: 25px;
    }
    
    .businesshours-container h2.businesshours {
        font-size: 25px;
    }
    
    .wp-block-query .columns-3, .wp-block-query .columns-4 {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    
    .download-item {
        flex-basis: 100%;
    }
    
    .certificates-by-store .download-container {
        grid-template-columns: 2fr;
    }
    
    ul.standort-results-list {
        grid-template-columns: 2fr;
    }
    
    .entry-content .wp-block-buttons .wp-block-button {
        width: 100%;
    }
    
    .entry-content .wp-block-buttons {
        row-gap: 5px;
    }
    
    div#leistungsfinder-small {
        margin-bottom: 80px!important;
    }
    
    .home #button-wrapper {
        row-gap: 5px;
    }
    
    .home #button-wrapper .wp-block-buttons {
        width: 100%;
    }
    
    .wp-block-table::before {
        content: "← →";
        display: block;
        font-size: 12px;
        font-weight: 700;
        color: #444;
        text-align: right;
        margin-bottom: 6px;
    }
}



@media only screen and (max-width: 500px) {
    .business-numbers {
        justify-content: center;
    }
    
    h1 { font-size: 25px;}
    h2 { font-size: 23px;}
    h3 { font-size: 21px;}
    h4 { font-size: 19px;}
    h5 { font-size: 17px;}
    h6 { font-size: 17px;}
    
    h1, h2, h3, h4, h5, h6 {
        hyphens: none;
    }
    
    .entry-content .wp-block-buttons {
        flex-direction: column!important;
        align-content: flex-start!important;
        align-items: flex-start!important;
        gap: 10px!important;
    }

    .wp-block-splide-carousel__container {
        max-width: unset;
    }
    
    .single-services .service-container #container-formular {
        padding: 15px!important;
    }
    
    .single-services .service-container {
        padding: 15px!important;
        max-width: unset;
    }
    
    .blog .wp-block-post-template .wp-block-group {
        padding: 20px!important;
    }
    
    .single-post #news-content {
        padding: 20px!important;
    }

}

@media only screen and (max-width: 450px) {
    body {
        --wp--style--global--content-size: 90%;
        --wp--style--global--wide-size: 90%;
    }
    
    #footer-navigation-wrapper,
    #footer-navigation-container {
        display: flex;
        flex-direction: column;
    }    
    
    .is-style-read-more-arrow:after {
        margin-left: 0px; 
    }
    
    #navigation-container {
        flex-direction: column;
        align-items: flex-end;
        gap: 10px;
    }
    
    #leistungsfinder-formular select {
        width: 200px;
    }
    
    div#leistungsfinder-results #leistungsfinder-formular select#search {
        width: 264px;
    }
    
    #leistungsfinder-formular #user_location_autocomplete {
        width: 264px!important;
    }
    
    .home h1 {
        font-size: 31px!important;
    }
    
/*
    header .wp-block-site-logo {
        width: 100px!important;
    }
*/
    
    .related-ceos {
        grid-template-columns: 1fr;
    } 
 
    .ceo-item {
         max-width: unset; 
    }
    
    footer .wp-block-social-links {
        margin-left: 0!important;
        display: flex;
        flex-wrap: nowrap;
        left: -17px;
    }
    
    .services ul, .abfuhrplaene-accordions ul {
        max-width: 90%;
    }
    
    .service-list li a {
        white-space: break-spaces;
        position: relative;
    }
    
    .services ul li a:after, .services ul li a.btn-additional:after {
        position: relative;
        right: -10px;
        bottom: -9px;
    }
    
    .service-list li {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
    }
    
    .timeline::after {
        bottom: 70px;
    }
    
    div#category-wrapper {
        display: flex;
        flex-wrap: nowrap;
        gap: 4px;
    }
    
    div#category-wrapper button {
        top: 2px;
    }
    
    div#leistungsfinder-small {
        min-height: 340px!important;
        margin-bottom: 20px!important;
        aspect-ratio: 1/1!important;
    }
    
}


@media only screen and (max-width: 400px) {
    #leistungsfinder-small #leistungsfinder-formular #user_location_autocomplete {
        width: 180px!important;
    }   
    
    #leistungsfinder-small select {
        width: 180px!important;
    }
    
    div#leistungsfinder-small {
        min-height: 330px!important;
        margin-bottom: -10px!important;
        aspect-ratio: 1/1.2!important;
    }
    
    .blog .wp-block-post-template .wp-block-group {
        padding: 15px!important;
    }
    
    .single-post #news-content {
        padding: 15px!important;
    }
    
    .businesshours-container::before {
        content: "← →";
        display: block;
        font-size: 12px;
        font-weight: 700;
        color: #444;
        text-align: right;
        margin-bottom: 6px;
        top: 60px;
        position: relative;
    }
    
    #very-top form.wp-block-search {
        width: 138px;
    }
}


@media only screen and (max-width: 350px) {
    .wp-block-search__button-inside {
        display: none;
    }
    
    #leistungsfinder-formular select {
        width: 180px;
    }
    
    div#leistungsfinder-results #leistungsfinder-formular select#search {
        width: 244px;
    }
    
    #leistungsfinder-formular #user_location_autocomplete {
        width: 244px!important;
    }
}