@media (orientation: portrait) {
    .homewrap .headerbild img{
        object-position: 80%;
    }
}
@media (min-width: 1200px) {
    .preise-wrapper {
        display: flex !important
    }
}

@media (max-width: 1620px) {
    #genesis-nav-primary li a {
        padding: 15px;
    }

    #genesis-nav-primary li:not(.current-menu-item) a:hover::before {
        width: calc(100% - 30px);
    }

    #genesis-nav-primary li:not(.current-menu-item) a::before {
        left: 15px;
    }

    #genesis-nav-primary li.last a {
        padding: 15px 20px;
    }

    #genesis-nav-primary ul::after {
        width: calc(100% - 150px);
    }
}

@media (max-width: 1520px) {
    .wp-custom-logo .title-area {
        max-width: 175px;

    }

    .zeit-label {
        right: -40px;
        font-size: 35px;

    }

    .kursplan-grid .zeitreihe:last-child .zeit-label {
        left: -30px;
        right: auto;

    }

    .homewrap article {
        padding: 0 40px;
    }

    .page-template-page-aktionen article {
        padding: 0 20px;
    }
}

@media (max-width: 1440px) {

    .homewrap article h2 {
        font-size: 5vw;
    }
}

@media (max-width: 1350px) {
    .homewrap article .entry-content {
        position: relative;
    }

    .homewrap article .entry-content:before {
        position: absolute;
        content: '';
        width: 100%;
        height: 80%;
        background: rgba(255, 255, 255, 0.8);
        filter: blur(5rem);
        z-index: -1;
        top: -40px;
    }

}

@media (max-width: 1200px) {
    #preise-container {
        display: block;
    }

    .preisbox {
        margin: 15px;
    }

    .kursplan-grid {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .zeitreihe {
        display: block;
    }

    .wochentage-grid {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .tag-spalte {
        border-top: 1px solid #ccc;
        padding-top: 1rem;
    }

    .tag-spalte h4 {
        margin-bottom: 0.5rem;
        color: #009dde;
        font-weight: bold;
    }

    .kurs-box {
        background: #f9f9f9;
        padding: 1rem;
        margin-bottom: 1rem;
        border-left: 3px solid #009dde;
    }

    .zeit-label {
        font-size: 1.2rem;
        font-weight: bold;
        margin-bottom: 1rem;
        color: #555;
        text-transform: uppercase;
        position: static;
        transform: none;
        writing-mode: horizontal-tb;
    }

    .kursplan-grid .zeitreihe:last-child .zeit-label {
        transform: none;
    }

    .leer {
        font-style: italic;
        color: #aaa;
    }

    .wochentage-grid {
        padding: 0;
    }

    #kursslider li .absolute {
        width: 50%;
    }

    .site-footer > .wrap {
        flex-wrap: wrap;
    }

    .site-footer > .wrap:before {
        display: none;
    }

    #map {
        width: calc(100% - 200px);
    }

    #osm-map {
        width: 100%;
    }
       .preisoverview h4 + .flex{ 
        flex-wrap: wrap;
    }
    .preise-grid,.leistungen{
        width: 100%;
        margin-bottom: 20px;
    }

}
@media (max-width: 1200px) and (min-width: 1024px){
	.kurskategorie .icon {
  		width: 30px;
		margin-right:10px;
	}
	.kurskategorie strong {
  		width: calc(100% - 30px);
		font-size:14px;
}
}
@media (max-width: 1024px) {
    #trainingsmethoden .flex {
        flex-wrap: wrap;
    }

    #trainingsmethoden .flex .methode {
        flex: auto;
        display: flex;
    }

    #trainingsmethoden .flex .img {
        width: 320px;
        border-top-right-radius: 0;
        border-bottom-left-radius: 20px;

    }

    #trainingsmethoden .flex .img img {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }

    #trainingsmethoden .flex .excerpt {
        width: calc(100% - 320px);
    }

    #kurse > .wrap {
        flex-wrap: wrap;
    }

    #kurse > .wrap > .right,
    #kurse > .wrap > .left {
        width: 100%;
        order: inherit;
    }

    #kurse > .wrap > .left {
        margin-top: 20px;
    }

    .spezialkurs a {
        width: 100%;
    }

    .spezialkurs a img {
        width: 100%
    }

    #abnehmzentrum .column-2-3,
    #abnehmzentrum .column-1-3 {
        width: 100%;
        order: inherit;
    }

    #abnehmzentrum .wrap {
        flex-wrap: wrap;
    }

    #abnehmzentrum .column-1-2 {
        width: calc(50% - 10px);
    }

    .kurs {
        width: calc(50% - 17px);
    }

    #kursfilter .wrap {
        flex-wrap: wrap;
        justify-content: center;
    }

    #kursfilter .wrap button {
        font-size: 12px;
    }



    #kursslider li a {
        height: 55vw;
    }

    body:not(.home) #gallery li {
        min-height: 15vw;
    }

    #aktionenliste {
        flex-wrap: wrap;
    }

    #aktionenliste .aktion {
        width: 100%;
        flex: auto;
    }
 
}

@media (max-width:960px) {
    #preise .angebote {
        justify-content: center;
    }

    section#preise .wrap .angebot {
        flex: inherit;
        width: calc(50% - 30px);
    }

    .tagesansicht-nav button {
        width: 137px;

    }

    #tab-tag .kurseintraege {
        width: calc(100% - 140px);
    }

    #rueckenoptionen .flex {
        flex-wrap: wrap;
    }

    #rueckenoptionen .methode {
        flex: auto;
    }

    #rueckenoptionen .desc {
        min-height: auto;
    }

    #rueckenoptionen .flex::before {
        display: none;
    }

    .site-footer .column,
    .nav-secondary {
        width: calc(50% - 20px);
        margin: 0 0 20px;
        min-height: 120px;
    }

    .site-footer .column + p {
        display: none;
    }

    #map {
        width: 100%;
        padding: 0;
        order: 5;
    }

    .clock-container {
        bottom: 100px;
        right: 35px;
    }
}

@media (max-width: 767px) {
    .homewrap {
        display: flex;
        flex-wrap: wrap;
    }

    .homewrap .headerbild {
        height: auto;
        z-index: 1;
        min-height: 70vh;
        order: 1;
    }

    .homewrap article {
        order: 2;
        position: static;
        transform: none;
        margin-top: 50px;

    }

    .homewrap .topnews {
        position: absolute;
        z-index: 2;
        bottom: 3em;
        width: calc(100% - 40px);
        left: 20px;

    }

    .homewrap article h2 {
        font-size: 8vw;
    }

    .homewrap article {
        font-size: 16px;
    }

    .homewrap article .entry-header,
    .homewrap article .entry-content {
        width: 100%;
    }

    section .wrap h3,
    body:not(.home) .entry-title {
        font-size: 6vw;
    }

    p.small {
        width: 80%;
    }

    .home section .wrap {
        padding: 0 20px;
    }

    #trainingsmethoden .flex .img {
        width: 100%;
        border-top-right-radius: 20px;
        border-bottom-left-radius: 0;
    }

    #trainingsmethoden .flex .excerpt {
        width: 100%;
    }

    #trainingsmethoden .flex .methode {
        flex-wrap: wrap;
    }

    section .wrap h4 {
        font-size: 4.5vw;
    }

    section#preise .wrap .angebot {
        width: 80%;
    }

    #kontakt .right {
        width: 100%;
        order: 1;
    }

    #kontakt .left {
        width: 100%;
        order: 2;
    }

    #kontakt .right .tab-nav {
        display: flex;
    }

    #kontakt .tab-nav button {
        padding: 10px;
        font-size: 13px;
        text-align: center;
        border-right: 2px solid #fff;
        flex: 1;
    }

    #kontakt h2,
    .page-template-page-aktionen .wrap h2 {
        font-size: 5vw;
    }

    #kontakt .left {
        padding: 50px;
    }

    #kontakt h2::after {
        width: 57px;
        height: 51px;
        background-size: contain;
    }

    #kontakt h2::before {
        width: 30px;
        height: 30px;
        left: -35px;
        background-size: contain;
        top: 0;
    }

    section .wrap .kurs h4 {
        font-size: 20px;
    }

    .tagesansicht-nav button {
        display: none;
    }

    #tab-tag .kurseintraege {
        width: 100%;
    }
    .kurs-eintrag a{
        flex-wrap: wrap;
    }
    .kursplan-tag{
        gap:0;
        flex-wrap: wrap;
    }

    #kursslider li .absolute {
        width: 90%;
    }

    #kursslider li a:before {
        background: linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.8) 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    }

    body:not(.home) #gallery li {
        width: calc(50% - 24px);
    }

    .zweispaltig {
        flex-wrap: wrap;
        gap: 0;
    }

    .zweispaltig .bild,
    .zweispaltig .text {
        flex: auto;
        width: 100%;
    }

    .zweispaltig .bild {
        margin-bottom: 20px;
    }

    #kursslider .slick-track li::before {
        background: linear-gradient(135deg, rgba(0, 0, 0, 0.4) 0%, rgb(0, 0, 0) 100%);
    }

    .aktiondetail {
        flex-wrap: wrap;
    }

    .aktiondetail .content {
        width: 100%;
    }

    .aktiondetail .img {
        margin: 0 auto 2em;
    }

    .fly-in {
        margin: 0;
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        z-index: 100;
        bottom: -1em;
        margin-left: -55px;
    position: absolute;
    }

    .action-pulse {
        padding: 10px 15px;
        font-size: 15px;
    }

    #kontakt .wrap {
        flex-wrap: wrap;
    }

    .clock-container {
        bottom: -20px;
        right: 48px;
    }

    .preise-grid {
        grid-template-columns: 1fr;
    }

    .grid-header div:not(:first-child),
    .grid-footer div:not(:first-child),
    .preis-mm,
    .preis-om {
        text-align: left;
    }
    .grid-header .header-mm, .grid-header .header-om {
        font-size: 16px;
    padding: 1rem 1rem 1rem 40px;
    background: #f9f9f9 url(img/mitgliedspreis.svg) left 16px no-repeat;
    }
    .grid-header .header-om {
        background: #f9f9f9 url(img/zeitpreis.svg) left 16px no-repeat;
    }
    .preise-grid > div > div.preis-mm{
         background: #f9f9f9 url(img/mitgliedspreis.svg) 8px 19px no-repeat;
        padding-left: 40px;
    }
     .preise-grid > div > div.preis-om{
         background: #f9f9f9 url(img/zeitpreis.svg) 8px 20px no-repeat;
        padding-left: 40px;
    }
    .grid-footer .footer-mm{
        display: none;
    }
    
      .homewrap .topnews .right p{
          display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      overflow: hidden;
          margin-bottom: 5px;
    }
}
@media (max-width: 630px) and (min-width: 540px){
	.kurskategorie .icon {
  		width: 30px;
		margin-right:10px;
	}
	.kurskategorie strong {
  		width: calc(100% - 30px);
		font-size:14px;
	}
}
@media (max-width: 620px) {
    #abnehmzentrum .column-1-2 {
        width: 100%;
        margin-bottom: 2em;
    }

    #abnehmzentrum .column-1-2 img {
        width: 100%;
    }

    .kurs {
        width: 100%;
    }

    #kursslider li a {
        height: 110vw;
    }

    .page-template-page-aktionen .wrap h3 {
        font-size: 18px;
    }
}

@media (max-width: 540px) {
    .homewrap .headerbild {
        min-height: calc(100vh - 200px);
    }

    .homewrap .topnews strong {
        font-size: 16px;
    }

    .homewrap .topnews .right {
        padding: 10px 0 10px 20px;
        font-size: 14px;
        hyphens: auto;
        margin-bottom: 8px;
    }

    .site-container {
        margin: 10px;
    }

    .homewrap article h1 {
        font-size: 11vw;
    }

    .site-header {
        width: calc(100% - 20px);
    }



    .button {
        padding: 15px 20px;
    }

    .wp-custom-logo .title-area {
        max-width: 42vw;
        padding-top: 5px;
        margin-left: 20px;
    }

    .homewrap .topnews {
        padding: 6px;
    }

    .homewrap .topnews .left {
        width: 90px;
    }

    .homewrap .topnews .right {
        width: calc(100% - 90px)
    }

    .homewrap article .button {
        margin-right: 0;
        display: inline-block;
        width: 100%;
        text-align: center;
        margin-bottom: 5px;
    }

    section .wrap h3,
    body:not(.home) .entry-title {
        font-size: 8vw;
    }

    #kurse .wrap {
        flex-wrap: wrap;
    }

    .kurskategorie {
        width: 100%;
    }

    .kurskategorie .icon {
        width: 50px;
    }

    .separator {
        gap: 10px;
    }

    section .wrap h4 {
        font-size: 5.5vw;
    }

    .home section .wrap {
        margin: 2em auto
    }

    .tab-button {
        font-size: 12px;
    }

    .kurs .img {
        height: auto;
    }

    .kurs-eintrag {
        flex-wrap: wrap;
    }

    .kurs-bild {
        width: 100%;
    }

    .kurs-bild img {
        width: 100%;
    }

    #tab-tag .kurs-info {
        flex-wrap: wrap;
        padding: 0 10px 10px;
    }

    .kurs-eintrag::before {
        background-color: #fff;
        background-position: center center;
        height: 30px;
        border-radius: 50%;
        background-size: 60%;
    }

    #kursslider li .absolute {
        padding: 30px 20px;
        width: 100%;
    }

    #kursslider li a {

        height: 550px;
    }

    #kursslider .slick-dots {
        bottom: 30px;
    }

    #kursslider .slick-track li {
        height: 650px;
    }

    .page-template-page-aktionen .wrap h2 {
        font-size: 7vw;
    }

    #kontakt .right .tab-nav {
        flex-wrap: wrap;
    }

    #gallery .slick-next,
    #gallery .slick-prev {
        right: 0;
        top: auto;
        transform: none;
        bottom: -30px;
        background: var(--highlight);
        padding: 5px 3px;
    }

    #gallery .slick-prev {
        right: 30px;
        left: auto;
        transform: scale(-1)
    }

    #gallery .slick-prev:before {
        transform: none;
    }

    .tooltip {
        left: 30%;
    }
      #kontakt h2, .page-template-page-aktionen .wrap h2 {
    font-size: 8vw;
  }
    #kursplan .legende{
        flex-wrap: wrap
    }
    #kontakt .geburtstag span:first-child,
    #kontakt .geburtstag span[data-name="geburtsdatum"]{
        width: 100%;
    }
    #kontakt .geburtstag input{
		appearance:none;
		min-height: 50px;
    }
}

@media (max-width: 480px) {
    #kontakt .wrap {
        position: relative;
    }

    #kontakt .left {
        width: 100%;
        margin-top: 50px;
    }

    #kontakt .left {
        padding: 50px 20px;
    }

    #kontakt h2::before {
        left: 0;
        top: -37px;
    }

    #kontakt h2::after {
        right: 0;
        top: -10px;
    }

    .ansicht-tabs button {
        padding: 13px 15px;
    }

    .homewrap article {
        padding: 0 30px;
    }

    .site-footer .column,
    .nav-secondary {
        width: 100%;

    }

    .page-template-page-aktionen article {
        padding: 0 0;
    }

    .remodal {
        padding: 35px 20px;
    }

    .lightboxcontent .wpcf7-submit {
        font-size: 16px;
    }

    .lightboxcontent h3 {
        font-size: 18px;
    }

    .lightboxcontent h2 {
        font-size: 25px;
    }

    .clock-container {
        bottom: -20px;
        right: 31px;
    }

    .tooltip {
        font-size: 12px;
        left: 10%;
    }
	.wpcf7-form-control-wrap[data-name="aktion"] .wpcf7-list-item{
		width:100%;
		margin:0 0 10px;
	}
		.wpcf7-form-control-wrap[data-name="rueckruf"] .wpcf7-list-item{
		width:100%;
		margin:0 0 10px;
	}
}
@media (max-width: 380px) {
    #kontakt .tab-nav button{
        width: 50%;
		flex:auto;
    }
	#kontakt .onecolumn h2{padding-right:0;}
}