/*
Theme Name: TV Holz
Theme URI: https://tvholz.de
Author:  KMD Medien GmbH
Author URI: https://www.kmd.de
Description: Theme for TV Holz 02 e.V.
Version: 1.0
*/


/*----------------------------------------------------------------------
last update: 10 2025
copyright: KMD Medien GmbH – www.kmd.de
----------------------------------------------------------------------*/


/*----------------------------------------------------------------------
Variables
----------------------------------------------------------------------*/

:root {
    --white: #ffffff;
    --black: #000000;
    --mid-black: #232323;
    --mid-grey: #aaaaaa;
    --light-grey: #e6e6e6;
    --shadow-grey: #dddddd;
    
    --brand-color: #069734;
    --brand-color-two: #2c2b2a;
    --active-state: #a50f46;
    
    --font-normal: 400;
    --font-bold: 900;
    }


/*----------------------------------------------------------------------
Fonts
----------------------------------------------------------------------*/

/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-v49-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/roboto-v49-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/*----------------------------------------------------------------------
global Structure & Normalize
----------------------------------------------------------------------*/

html {
    overflow-x: hidden;
    scroll-behavior: smooth;
    }

body {
    margin: 0;
    border: 0 none;
    padding: 0;
    color: var(--brand-color-two);
    font-family: 'Roboto', sans-serif;
    font-weight: var(--font-normal);
    font-size: 20px;
    line-height: 28px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    }

p, form, img, legend, ul, ol, li, h1, h2, h3, h4, h5, h6, dl, dt, dd, figure {
    margin: 0;
    border: 0 none;
    padding: 0;
    }
 
input, textarea, button, input[type="submit"], select {
    margin: 0;
    font: inherit;
    text-transform: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    }

textarea {
    overflow: auto;
    }

a {
    color: var(--brand-color);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    }

a:hover, a:focus, a:active {
    color: var(--active-state);
    outline-width: 0;
    }

mark {
    background-color: var(--mid-grey);
    color: var(--white);
    padding: 1px 3px;
    border-radius: 5px;
    }

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
    }

sub {
    bottom: -0.25em;
    }

sup {
    top: -0.5em;
    }
    
strong {
    font-weight: var(--font-bold);
    }    
    
small {
    font-size: 16px;
    line-height: 22px;
    }
    
.wrapper {
    margin: 0px auto;
    width: 100%;
    max-width: 1580px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;  
    }

*, ::after, ::before {
    scroll-behavior: smooth;
    }


/*----------------------------------------------------------------------
Forms
----------------------------------------------------------------------*/

.button-first,
a.brandbutton-first,
a span.brandbutton-first,
span.brandbutton-first a,
input[type=button],
input[type=submit] {
    display: inline-block;
    background: url(img/icon-arrowround-r-w.svg) 15px center no-repeat var(--brand-color);
    background-size: 25px auto;
    color: var(--white) !important;
    text-decoration: none !important;
    font-weight: var(--font-bold);
    padding: 8px 15px 8px 50px;
    border-radius: 50px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    outline: 0 none;
    border: 0 none;
    cursor: pointer;
    }

a.brandbutton-second,
a span.brandbutton-second,
span.brandbutton-second a {
    display: inline-block;
    background: url(img/icon-arrowround-r-w.svg) 15px center no-repeat var(--mid-black);
    background-size: 25px auto;
    color: var(--white) !important;
    text-decoration: none !important;
    font-weight: var(--font-bold);
    padding: 8px 15px 8px 50px;
    border-radius: 50px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    }

.button-first:hover,
a.brandbutton-first:hover,
a:hover span.brandbutton-first,
span.brandbutton-first a:hover,
a.brandbutton-second:hover,
a:hover span.brandbutton-second,
span.brandbutton-second a:hover,
input[type=button]:hover,
input[type=submit]:hover {
    background-color: var(--active-state);
    color: var(--white) !important;
    text-decoration: none !important;
    }

form *,
.su-button {
    -webkit-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    }   

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
    outline-width: 0 !important;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    }
 
span.wpcf7-list-item {
    margin: 0 15px 0 0 !important;
    } 
    
.forms-section {
    border: 1px solid var(--mid-grey);
    padding: 30px;
    border-radius: 5px;
    margin: 0 0 30px 0;
    }

.main-content .forms-section h4 {
    color: var(--brand-color);
    font-size: 30px;
    line-height: 36px;
    }
    
.forms-row {
    line-height: 30px;
    margin: 0 -20px 15px 0;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    width: auto;
    }

.forms-row select,
input[type=text],
input[type=date],
input[type=email] {
    width: calc(100% - 20px);
    margin: 0 15px 0 0;
    padding: 10px;
    font-size: 20px;
    border: 1px solid var(--mid-grey);
    border-radius: 5px;
    color: var(--dark-color);
    background: var(--white);
    }

.forms-row select {
    background: url(img/icon-arrowround-d-g.svg) 98% center no-repeat var(--white);
    background-size: 20px auto;
    -moz-appearance: none; 
    -webkit-appearance: none;
    appearance: none;
    }

.forms-row textarea,
.forms-row textarea:focus,
.forms-row textarea:hover {
    width: calc(100% - 20px);
    margin: 0;
    border-radius: 5px;
    padding: 10px;
    height: 180px;
    font-size: 20px;
    line-height: 20px;
    border: 1px solid var(--mid-grey);
    background: var(--white);
    }

.forms-row .forms-item-50 {
    width: 50%;
    }

.forms-row .forms-item-100 {
    width: 100%;
    }
    
.forms-row input,
.forms-row input {
    width: calc(100% - 20px);
    }    

.forms-row li p {
    padding: 0;
    }
        
input[type=checkbox] {
    width: 20px;
    height: 20px;
    border: 1px solid var(--mid-grey);
    border-radius: 0;
    }    

input[type=radio] {
    width: 20px;
    height: 20px;
    border: 1px solid var(--mid-grey);
    border-radius: 0;
    }    
    
span.wpcf7-not-valid-tip {
    color: var(--brand-color) !important;
    font-size: 16px;
    line-height: 22px;
    border-radius: 5px;
    }    

.wpcf7-not-valid {
    border: 1px solid var(--brand-color) !important;
    }
    
.wpcf7-checkbox.wpcf7-not-valid {
    border: 1px solid transparent !important;
    } 
    
div.wpcf7-response-output {
    margin: 20px 0 20px 0 !important;
    padding: 20px !important;
    border-radius: 5px;
    }    

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    background: var(--brand-color);
    }    

div.wpcf7-mail-sent-ok {
    background: var(--active-state);
    color: var(--white);
    border-radius: 5px;
    }

.forms-item-check {
    font-size: 16px;
    line-height: 22px;
    margin: 15px 0 0 0;
    }

.forms-small-text {
    display: block;
    padding: 30px 0 0 0;
    font-size: 12px;
    line-height: 16px;
    }

.forms-info-note {
    display: block;
    background: var(--mid-grey);
    color: var(--white);
    padding: 15px;
    margin: 0 0 30px 0;
    border-radius: 5px;
    }

.forms-info-warning {
    display: block;
    background: var(--active-state);
    color: var(--white);
    padding: 15px;
    margin: 0 0 30px 0;
    border-radius: 5px;
    }

.choose-block .wpcf7-list-item {
    display: block;
    }

.sow-accordion .sow-accordion-panel .sow-accordion-panel-header {
    border-radius: 5px;
    }


/*----------------------------------------------------------------------
Header
----------------------------------------------------------------------*/

header * {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    }

.header-items {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.5s;
    background-color: var(--white);
    }

.scrollUp {
    top: -220px;
    }

.header-items .wrapper {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    width: 100%;
    height: 150px;
    transition: all 0.5s;
    }
 
 .header-logo {
    display: block;
    font-size: 0;
    line-height: 0;
    background: url(img/logo-tv-holz.svg) center center no-repeat;
    background-size: 120px auto;
    width: 120px;
    margin: 0 auto;
    }

.header-logo a {
    display: block;
    width: 120px;
    height: 140px;
    font-size: 0;
    line-height: 0;
    text-decoration: none;
    }
 
.header-items .nav-and-info {
    display: block;
    list-style: none;
    padding: 0;
    width: calc(100% - 120px);
    align-items: center;
    justify-content: right;
    }

.header-items .header-meta {
    width: 100%;
    height: 90px;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: right;
    }

.header-meta ul {
    list-style: none;
    }

.header-meta li {
    display: inline-block;
    margin: 0 0 0 10px;
    }

.header-meta li a,
a.join-button,
a.training-button {
    color: var(--white);
    text-decoration: none;
    border-radius: 25px;
    display: inline-block;
    font-weight: var(--font-bold);
    }

.join-us a,
a.join-button {
    background: url(img/icon-checkround-w.svg) 15px center no-repeat var(--active-state);
    background-size: 25px auto;
    padding: 8px 15px 8px 50px;
    }

.training-hours a,
a.training-button {
    background: url(img/icon-hours-w.svg) 15px center no-repeat var(--brand-color);
    background-size: 25px auto;
    padding: 8px 15px 8px 50px;
    }

.header-meta li a:hover,
a.join-button:hover,
a.training-button:hover {
    background-color: var(--mid-grey);
    }

.header-items nav {
    display: flex;
    width: 100%;
    justify-content: right;
    }

.header-items nav li {
    display: inline-block;
    position: relative;
    margin: 0 20px -30px 0;
    }

.header-items nav li:last-child {
    margin: 0 0 -30px 0;
    }

.header-items nav a {
    color: var(--black);
    font-size: 22px;
    font-weight: var(--font-bold);
    margin-bottom: 20px;
    display: inline-block;
    text-decoration: none;
    }

.header-items nav li.only-on-mobile {
    display: none;
    }

.header-items nav a:hover {
    color: var(--brand-color);
    }

.header-items nav ul ul {
    background-color: var(--mid-black);
    border-radius: 5px;
    padding: 0;
    list-style: none;
    position: absolute;
    right: -9999px;
    z-index: 100;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none;
    }
    
.header-items nav ul ul::before {
    content: ' ';
    position: absolute;
    width: 0;
    height: 0;
    right: 15px;
    top: -15px;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid var(--mid-black);
    }

.header-items nav ul ul li,
.header-items nav ul ul li:last-child  {
    border-bottom: 1px solid var(--mid-grey);
    display: block;
    text-align: left;
    margin: 0;
    }
 
 .header-items nav ul ul li:last-child {
    border-bottom: 0px;
    }   
    
.header-items nav li:hover ul {
    right: 0;
    }

.header-items nav ul ul a {
    padding: 10px 10px 10px 15px;
    color: var(--white);
    display: block;
    width: 280px;
    margin: 0;
    font-size: 20px;
    }

.header-items nav ul ul ul {
    background-color: var(--brand-color-two);
    border-radius: 0;
    padding: 0;
    list-style: none;
    position: relative;
    right: -9999px;
    z-index: 100;
    -webkit-transition: none;
    -moz-transition: none;
    transition: none;
    }
    
.header-items nav ul ul ul a {
    font-weight: var(--font-normal);
    text-transform: none;
    padding-left: 30px;
    }    
    
.header-items nav ul li:hover ul li a:hover {
    color: var(--mid-grey);
    }

.header-items nav input[type=checkbox],
.header-items nav label {
    display: none;
    }

.while-scrolling {
    background-color: var(--white);
    box-shadow: 0 10px 40px rgb(0,0,0,0.2);
    }

.while-scrolling .wrapper {
    height: 130px;
    }

.while-scrolling .header-logo {
    font-size: 0;
    line-height: 0;
    background: url(img/logo-tv-holz.svg) center center no-repeat var(--white);
    background-size: 100px auto;
    width: 100px;
    }

.while-scrolling .header-logo a {
    display: block;
    width: 100px;
    height: 130px;
    }

.while-scrolling .header-items .nav-and-info {
    width: calc(100% - 100px);
    }

.is-home-stage {
    padding: 170px 0 90px 0;
    }


/*----------------------------------------------------------------------
Main
----------------------------------------------------------------------*/

.stage-home {
    content: ' ';
    margin: 90px 0 90px 0;
    }

.stage-follow {
    background: var(--light-grey);
    margin: 130px 0 90px 0;
    }

.stage-follow .stage-headline {
    padding: 180px 0 0 0;
    margin: 0 -30px;
    font-size: 30px;
    line-height: 40px;
    }

.stage-follow .stage-headline h1 {
    background: var(--white);
    padding: 30px 30px 0 30px;
    border-radius: 5px 5px 0 0;
    }

.stage-headline p.sh-sideinfo {
    font-size: 18px;
    line-height: 24px;
    text-align: right;
    }

.callto-action {
    margin: 120px 0 0 0;
    }

.cta-content {
    width: 33.33%;
    margin: 0 auto;
    font-size: 20px;
    }

.cta-content h2 {
    margin: 0 0 30px 0;
    text-align: center;
    }

.cta-content p {
    text-align: center;
    }

.cta-actions {
    list-style: none;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    margin: 15px 0 0 0;
    }

.cta-actions li {
    width: 50%;
    margin: 30px 0 0 0;
    }

.cta-actions li a {
    display: block;
    padding: 8px 15px 8px 50px;
    margin: 0 10px;
    font-weight: var(--font-bold);
    text-decoration: none;
    border: 1px solid var(--brand-color);
    border-radius: 50px;
    }

.cta-actions li a:hover {
    border: 1px solid var(--active-state);
    }

.cta-actions .cta-joinus {
    background: url(img/icon-checkround-green.svg) 15px center no-repeat;
    background-size: 25px auto;
    }

.cta-actions .cta-hours {
    background: url(img/icon-hours-green.svg) 15px center no-repeat;
    background-size: 25px auto;
    }

.cta-actions .cta-member {
    background: url(img/icon-member-green.svg) 15px center no-repeat;
    background-size: 25px auto;
    }
    
.cta-actions .cta-contact {
    background: url(img/icon-contact-green.svg) 15px center no-repeat;
    background-size: 25px auto;
    }    

.link-more {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    background: url(img/icon-arrowround-r-g.svg) left center no-repeat;
    background-size: 35px auto;
    padding: 10px 0 10px 45px;
    font-weight: var(--font-bold);
    text-decoration: none;
    color: var(--mid-grey);
    }

.link-more:hover {
    background: url(img/icon-arrowround-r-g.svg) 3px center no-repeat;
    background-size: 35px auto;
    color: var(--brand-color);
    }

.ph-news {
    padding: 120px 0 60px 0;
    }

.news-show-all {
    display: block;
    margin: 60px 0 0 0;
    text-align: center;
    }

.news-show-all a {
    display: inline-block;
    background: url(img/icon-info-w.svg) 15px center no-repeat var(--brand-color);
    background-size: 25px auto;
    color: var(--white);
    text-decoration: none;
    font-weight: var(--font-bold);
    padding: 8px 15px 8px 50px;
    border-radius: 50px;
    }

.news-show-all a:hover {
    background-color: var(--mid-grey);
    }

.here-news-items * {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    }

.here-news-items {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    margin: 0 -30px 0 0;
    }

.news-item {
    width: calc(33.33% - 30px);
    margin: 30px 30px 0 0;
    background: var(--white);
    box-shadow: 0 10px 40px var(--shadow-grey);
    border-radius: 5px;
    }

.news-item:hover {
    margin: 25px 30px 5px 0;
    }

.ni-header {
    position: relative;
    }

.ni-header img {
    width: 100%;
    height: auto;
    border-radius: 5px 5px 0 0;
    }

.ni-header .ni-aside {
    position: absolute;
    right: 25px;
    margin: -25px 0 0 0;
    }

.ni-header .ni-aside time,
.nli-header .nli-aside time {
    display: inline-block;
    background: var(--light-grey);
    border-radius: 50px;
    padding: 8px 15px;
    }

.ni-header .ni-aside .news-category,
.nli-header .nli-aside .news-category {
    margin: 0 5px 0 0;
    }

.ni-header .ni-aside .news-category a,
.nli-header .nli-aside .news-category a {
    display: inline-block;
    background: var(--light-grey);
    border-radius: 50px;
    padding: 8px 15px;
    text-decoration: none;
    color: var(--black);
    }
    
.ni-header .ni-aside .news-category a:hover,
.nli-header .nli-aside .news-category a:hover {
    color: var(--brand-color);
    }

.ni-body {
    padding: 30px;
    }

.ni-body h3 {
    padding: 15px 0 30px 0;
    margin: 0;
    text-transform: none;
    }

.ni-body h3 a {
    color: var(--black);
    text-decoration: none;
    }

.ni-body h3 a:hover {
    color: var(--brand-color);
    }

.news-image {
    width: 100%;
    height: auto;
    max-height: 200px;
    overflow: hidden;
    }

.single-item-image {
    display: block;
    height: 200px;
    width: 100%;
    border-radius: 5px 5px 0 0;
    }

.news-pagination {
    display: table;
    width: 100%;
    margin: 60px 0 0 0;
    }

.news-pagination h2 {
    display: none;
    }
 
.news-pagination-main {
    display: table-cell;
    width: 50%;
    vertical-align: middle;
    }   
    
.news-pagination-main ul {
    list-style-type: none;
    }
    
.news-pagination-main li {
    display: inline;
    }
    
.news-pagination-main li .current {
    display: inline-block;
    background: transparent;
    border: 1px solid var(--black);
    padding: 10px 15px;
    border-radius: 25px;
    }
    
.news-pagination-main li a {
    display: inline-block;
    background: transparent;
    border: 1px solid var(--brand-color);
    padding: 10px 15px;
    text-decoration: none;
    border-radius: 25px;
    }    

.news-pagination-main li a:hover {
    border: 1px solid var(--mid-grey);
    } 
    
.news-pagination-aside {
    display: table-cell;
    width: 50%;
    text-align: right;
    vertical-align: middle;
    }   

.news-pagination-aside a {
    display: inline-block;
    border: 1px solid var(--brand-color);
    border-radius: 25px;
    padding: 10px 15px;
    line-height: 22px;
    text-decoration: none;
    }

.news-pagination-aside a:hover {
    border: 1px solid var(--mid-grey);
    }

.content-teaser {
    background: var(--white);
    box-shadow: 0 10px 40px var(--shadow-grey);
    border-radius: 5px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    padding: 30px 30px 1px 30px;
    }

.content-teaser:hover {
    margin: -5px 0 5px 0;
    }

.content-teaser:hover .link-more {
    background: url(img/icon-arrowround-r-g.svg) 3px center no-repeat;
    background-size: 35px auto;
    color: var(--brand-color);
    }

.content-teaser a {
    display: inline-block;
    }

.content-teaser .link-more {
    display: inline-block;
    margin: 15px 0 0 0;
    padding: 10px 0 10px 45px;
    }    

.sow-carousel-item {
    background: var(--white);
    border: 1px solid var(--mid-grey);
    border-radius: 5px;
    padding: 30px 30px 1px 30px;
    margin: 0px 15px 60px 0px !important;
    }

.sow-carousel-item a {
    text-decoration: none !important;
    }

.main-content h1,
.stage-follow .stage-headline h1 {
    font-size: 40px;
    line-height: 45px;
    }

.main-content h2,
.homeextro-content h2,
.cta-content h2,
.ph-news-header h2,
.notfound-content h2 {
    font-size: 35px;
    line-height: 40px;
    margin: 15px 0 15px 0;
    }

.main-content h3,
.homeextro-content h3,
.ph-news-header h3,
.ni-body h3 a,
.nli-main h3 a {
    font-size: 27px;
    line-height: 32px;
    font-weight: var(--font-normal);
    margin: 15px 0 15px 0;
    }
    
.main-content h4 {
    font-size: 20px;
    line-height: 25px;
    margin: 0 0 15px 0;
    }

.main-content h5 {
    font-size: 20px;
    line-height: 25px;
    margin: 0 0 15px 0;
    }
    
.main-content blockquote {
    font-style: italic;
    padding: 0;
    margin: 0;
    }

.main-content blockquote p {
    padding: 30px;
    background: var(--white);
    box-shadow: 0 0 30px 0 var(--shadow-grey);
    margin: -6px 0 -10px 0;
    border-radius: 5px;
    }
    
.main-content blockquote::before { 
    content: open-quote;
    font-size: 40px;
    margin: 0 0 0 15px;
    }

.main-content blockquote::after { 
    content: close-quote;
    text-align: right;
    display: block;
    margin: 6px 15px 0 0;
    font-size: 40px;
    }

.main-content p {
    padding: 0 0 30px 0;
    }

.main-content .forms-section p {
    padding: 0;
    }

.main-content ul,
.main-content ol {
    padding: 0 0 30px 0;
    margin: 0 0 0 30px;
    }

.main-content .responsive-table {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    }
    
.main-content .responsive-table .tablepress {
    margin: 0 !important;
    }

.main-content table {
    border: 0 none;
    border-collapse: collapse;
    }

.main-content img,
.main-content .wp-caption {
    max-width: 100%;
    height: auto;
    }

.main-content .image {
    border-radius: 5px;
    }

#fancybox-outer,
#fancybox-content {
    border-radius: 5px;
    }

.main-content .mejs-container,
.main-content .mejs-container *,
.main-content .wp-video-shortcode video,
.main-content video.wp-video-shortcode {
    border-radius: 5px;    
    }

.main-content .sow-slider-base ul.sow-slider-images li.sow-slider-image.sow-slider-image-cover,
.main-content .sow-masonry-grid-item img {
    border-radius: 5px;
    }

.main-content .gallery {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    }

.main-content .gallery-item {
    float: none !important;
    }

.main-content .gallery-item img {
    border: 0 !important;
    border-radius: 5px;
    max-width: calc(100% - 20px);
    }

.dark-content-ground {
    background: var(--brand-color-two);
    background-size: 1500px auto;
    color: var(--white);
    padding: 120px 0 90px 0;
    }

.grey-content-ground {
    background: var(--light-grey);
    padding: 120px 0 90px 0;
    }

.trainer-content-ground {
    background: var(--brand-color-two);
    color: var(--white);
    }

.trainer-content-ground img {
    margin: 60px 0 0 0;
    }

.light-content-box {
    border: 1px solid var(--mid-grey);
    border-radius: 5px;
    padding: 30px 30px 0 30px;
    }

.notfound-content {
    text-align: center;
    }

.notfound-content img {
    width: 50%;
    margin: 0 0 60px 0;
    }

.notfound-content h2 {
    margin: 30px 0;
    }

.notfound-content p {
    width: 50%;
    margin: 0 auto 30px auto;
    }

.single-news-content {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    }
    
.single-news-main {
    width: 100%;
    }

.post {
    background: var(--mid-grey);
    color: var(--white);
    padding: 30px;
    border-radius: 5px;
    margin: -210px 0 30px 0;
    }

.news-aside-content img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    }

.news-aside-more {
    margin: 0 0 30px 0;
    }

.news-aside-more .news-link {
    background: var(--light-grey);
    padding: 30px;
    border-radius: 5px;
    margin: 30px 0 0 0;
    }

.news-aside-more h3 {
    margin: 30px 0 -45px 0;
    background: var(--light-grey);
    padding: 30px 30px 15px 30px;
    border-radius: 5px 5px 0 0;
    }

.single-post-bottom {
    text-align: center;
    margin: 60px auto 15px auto;
    max-width: 40%;
    }

.single-post-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    }

.follow-archive-columnset {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    margin: 0 -30px 0 0;
    }

.follow-news-list {
    width: 100%;
    margin: 0;
    }

.follow-news-list .is-news-list {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    }

.news-list-item {
    width: calc(25% - 30px);
    margin: 30px 30px 0 0;
    background: var(--white);
    box-shadow: 0 10px 40px var(--mid-grey);
    border-radius: 5px;
    }

.nli-header {
    position: relative;
    }

.nli-header .nli-aside {
    position: absolute;
    right: 30px;
    margin: -30px 0 0 0;
    }

.nli-main {
    padding: 30px;
    }

.nli-main h3 {
    padding: 15px 0;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    }

.nli-main h3 a {
    color: var(--black);
    text-decoration: none;
    }

.nli-main h3 a:hover {
    color: var(--brand-color);
    }

.blog-item-credits {
    text-align: center;
    }

.blog-item-credits .news-author,
.blog-item-credits .news-photos {
    max-width: 40%;
    margin: 0 auto 0 auto;
    border-bottom: 1px solid var(--light-grey);
    border-radius: 5px;
    padding: 5px 0;
    }

.blog-item-info {
    list-style: none;
    text-align: center;
    margin: 30px 0 0 0;
    }

.blog-item-info li {
    display: inline-block;
    }
 
.blog-item-info .blog-item-tooverview,
.blog-item-info a {
    border: 1px solid var(--brand-color);
    border-radius: 25px;
    padding: 10px 15px 10px 15px;
    display: block;
    margin: 0 0 5px 0;
    line-height: 22px;
    text-decoration: none;
    } 

.blog-item-info a:hover { 
    border: 1px solid var(--mid-grey);
    }

.blog-item-info .blog-item-date {
    color: var(--mid-grey);
    border: 1px solid var(--mid-grey);
    border-radius: 25px;
    padding: 10px 15px 10px 15px;
    margin: 0 0 5px 0;
    line-height: 22px;
    display: block;
    }

.main-content .responsive-table {
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    }

.table-training {
    border: 1px solid var(--mid-grey) !important;
    border-collapse: collapse;
    }

.table-training th,
.table-training td {
    text-align: center !important;
    min-width: 150px !important;
    }

.table-training > :where(thead, tfoot) > * > th {
    background-color: var(--brand-color) !important;
    color: var(--white) !important;
    font-weight: 900 !important;
    font-size: 20px;
    }

.sport-item {
    background: var(--white);
    box-shadow: 0 10px 40px var(--shadow-grey);
    border-radius: 5px;
    text-align: center;
    }

img.is-sport-icon {
    max-width: 100px !important;
    height: auto;
    margin: 30px 0 0 0;
    }

.sport-item h4 {
    padding: 30px 30px 5px 30px;
    margin: 0;
    font-size: 30px;
    line-height: 36px;
    }
    
.is-sport-subline {
    display: block;
    padding: 0 30px 30px 30px;
    }
    
.is-sport-price-tag {
    display: block;
    padding: 15px 30px 5px 30px;
    background: var(--light-grey);
    font-size: 30px;
    line-height: 36px;
    }    

.is-sport-intervall {
    display: block;
    padding: 0 30px 15px 30px;
    background: var(--light-grey);
    }    

.is-sport-feature {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    }    

.is-sport-feature li {
    border-bottom: 1px solid var(--mid-grey);
    margin: 0;
    padding: 15px 30px;
    }        

.is-sport-feature li:last-child {
    border-bottom: 1px solid transparent;
    }        

.sow-slider-base .sow-slide-nav {
    z-index: 999 !important;
    }

.sow-slider-base .sow-slider-pagination {
    z-index: 998 !important;
    }    

.sow-slider-base ul.sow-slider-images li.sow-slider-image > img {
    border-radius: 5px !important;
    }

.homeextro-action {
    background: var(--light-grey);
    color: var(--mid-black);
    padding: 90px 0;
    }

.homeextro-content p {
    padding: 0 0 30px 0;
    }


/*----------------------------------------------------------------------
Footer
----------------------------------------------------------------------*/

footer {
    margin: 120px 0 0 0;
    color: var(--white);
    }

.footer-orientation {
    background: var(--brand-color);
    margin: 0px auto;
    width: 100%;
    }

.footer-columns {
    background: var(--brand-color-two);
    color: var(--mid-grey);
    }

.footer-columns ul {
    list-style: none;
    }

.footer-orientation .wrapper,
.footer-columns .wrapper {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;    
    }

.footer-breadcrumb {
    width: calc(100% - 55px);
    padding: 40px 0;
    }

.footer-breadcrumb a {
    color: var(--white);
    text-decoration: none;
    }

.footer-breadcrumb a:hover {
    color: var(--mid-grey);
    }

.footer-breadcrumb a:first-child {
    background: url(img/icon-home-w.svg) left center no-repeat transparent;
    background-size: 25px auto;
    padding: 5px 0 5px 35px;
    }

.page-up {
    width: 55px;
    margin-top: -25px;
    }

.page-up button {
    display: block;
    background: url(img/icon-arrowround-u-green.svg) center center no-repeat var(--white);
    background-size: 45px auto;
    width: 55px;
    height: 55px;
    border-radius: 50px;
    font-size: 0;
    padding: 0;
    margin: 0;
    border: 0px none;
    color: transparent;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    transition: all 0.5s ease;
    cursor: pointer;
    }

.page-up button:hover {
    margin: -10px 0 10px -5px;
    width: 65px;
    height: 65px;
    }

.footer-columns article {
    padding: 40px 0;
    }

.footer-logocol {
    width: 170px;
    }

.footer-logo {
    display: block;
    font-size: 0;
    line-height: 0;
    background: url(img/logo-tv-holz-white.svg) top left no-repeat;
    background-size: 130px auto;
    width: 130px;
    }

.footer-logo a {
    display: block;
    width: 130px;
    height: 145px;
    }

.footer-maincol {
    width: calc(100% - 340px);
    text-align: center;
    }

.footer-maincol small {
    width: 50%;
    display: block;
    font-size: 14px;
    line-height: 22px;
    margin: 15px auto 0 auto;
    }

.footer-navigation,
.legal-navigation {
    margin: 0 0 30px 0;
    }

.footer-navigation li,
.legal-navigation li {
    display: inline-block;
    }

.footer-navigation li a {
    border: 1px solid var(--white);
    border-radius: 50px;
    color: var(--white);
    text-decoration: none;
    display: block;
    padding: 8px 15px 8px 15px;
    margin: 0 10px;
    }

.footer-navigation li a:hover {
    border: 1px solid var(--mid-grey);
    color: var(--mid-grey);
    }

.legal-navigation li a {
    color: var(--white);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 50px;
    padding: 5px 10px;
    margin: 0 2px;
    }

.legal-navigation li a:hover {
    color: var(--mid-grey);
    border: 1px solid var(--mid-grey);
    }

.footer-asidecol {
    width: 170px;
    text-align: right;
    }

.social-navigation {
    padding: 0 0 35px 0;
    }

.social-navigation li {
    display: inline-block;
    margin: 0 0 0 20px;
    }

.social-navigation a {
    display: block;
    width: 30px;
    height: 30px;
    font-size: 0;
    color: transparent;
    }

.social-navigation .icon-facebook {
    background: url(img/icon-facebook-w.svg) no-repeat center center;
    background-size: 30px auto;
    }

.social-navigation .icon-instagram {
    background: url(img/icon-instagram-w.svg) no-repeat center center;
    background-size: 30px auto;
    }

.social-navigation .icon-youtube {
    background: url(img/icon-youtube-w.svg) no-repeat center center;
    background-size: 30px auto;
    }

.powered-by a {
    color: var(--mid-grey);
    text-decoration: none;
    background: url(img/logo-kmd.svg) no-repeat right center;
    background-size: 50px auto;
    padding: 0 55px 0 0;
    }

.powered-by a:hover {
    color: var(--mid-grey);
    }

.powered-by a strong {
    display: none;
    }


/*----------------------------------------------------------------------
Small Desktop
----------------------------------------------------------------------*/

@media only screen and (max-width: 1720px) { 

    .wrapper {
        margin: 0px 60px;
        max-width: calc(100% - 120px);
        } 
}

@media only screen and (max-width: 1440px) { 

    .header-items nav li {
        margin: 0 15px -30px 0;
        }
        
    .header-items nav a {
        font-size: 20px;
        }

    .news-show-all a,
    .footer-navigation li a {
        text-transform: none;
        }
        
    .news-list-item {
        width: calc(33% - 30px);
        }

    .cta-content {
        width: 50%;
        }
}

@media only screen and (max-width: 1280px) { 

    .footer-navigation li a {
        margin: 5px;
        }

    .footer-maincol small {
        width: 100%;
        }

}

/*----------------------------------------------------------------------
Tablet-Styles (Landscape)
----------------------------------------------------------------------*/

@media only screen and (max-width: 1024px) { 
   
   .wrapper {
        margin: 0px 30px;
        max-width: calc(100% - 60px);
        }

    .scrollUp {
        top: 0;
        }

    .header-items .wrapper,
    .while-scrolling .wrapper,
    .while-scrolling .nav-and-info {
        height: 130px;
        }
    
    .header-items .nav-and-info {
        width: calc(100% - 90px);
        }    
    
    .header-logo,
    .while-scrolling .header-logo {
        background-size: 90px auto;
        width: 90px;
        height: 130px;
        top: 0;
        }
    
    .header-logo a,
    .while-scrolling .header-logo a {
        width: 90px;
        height: 100px;
        margin: 20px 0 0 0;
        }

    .is-home-stage {
        padding: 90px 0 90px 0;
        }
    
    @-webkit-keyframes breath {
        0%   {  background-size: 110% auto; }
        50%  {  background-size: 125% auto; }
        100% {  background-size: 110% auto; }      
        }
    
    .header-items nav label {
        background: url(img/icon-menu-b.svg) no-repeat center center;
        background-size: 30px 30px;
        width: 30px;
        height: 30px;
        cursor: pointer;
        display: inline-block;
        text-align: left;
        font-size: 0;
        font-weight: var(--font-bold);
        }

    .header-items nav label:hover {
        background: url(img/icon-menu-b.svg) no-repeat center center;
        }

    .header-items nav li {
        letter-spacing: inherit;
        }

    .header-items nav li.only-on-mobile {
        display: inline-block;
        }
        
    .header-items nav li.not-on-mobile {
        display: none !important;
        }
    
    .header-items nav ul {
        display: none;
        margin: 0 0 0 0;
        padding: 10px 0;
        width: 0;
        }
    
    .header-items nav ul li a {
        text-decoration: none;
        padding: 0 0 10px 0;
        display: inline-block;
        }
    
    .header-items nav input[type=checkbox]:checked ~ label {
        background: url(img/icon-menux-b.svg) no-repeat center center;
        background-size: 30px 30px;
        -webkit-animation: breath 1s linear infinite;
        }

    .header-items nav input[type=checkbox]:checked ~ label:hover {    
        transform: rotate(180deg);
        }
    
    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul {
        display: block;
        position: absolute;
        z-index: 10000;
        background-color: var(--brand-color-two);
        height: calc(70vh - 110px);
        width: 100%;
        overflow-x: hidden;
        left: 0;
        top: 0;
        margin-top: 130px;
        text-align: left;
        border-bottom: 1px solid var(--mid-black);
        box-shadow: 0 10px 40px rgb(0,0,0,0.4);
        -webkit-transition: all 0.5s ease;
        -moz-transition: all 0.5s ease;
        transition: all 0.5s ease;
        }

    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul ul::before {
        left: 0;
        top: 0;
        border-left: 0 none;
        border-right: 0 none;
        border-bottom: 0 none;
        }

    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li {
        display: block;
        margin: 0 20px;
        }

    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li a {
        font-weight: var(--font-bold);
        font-size: 20px;
        background: transparent;
        color: var(--white);
        margin: 0;
        }

    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li a:hover {
        color: var(--mid-grey);
        }

    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li a {
        display: block;
        }

    .header-items nav .nav-active {
        background: transparent;
        }
        
    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul ul {
        background: transparent;
        position: relative;
        left: 0;
        margin: 0;
        border: 0;
        height: auto;
        display: block;
        box-shadow: 0 0 0 transparent;
        }
    
    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul ul li {
        padding: 0;
        margin: 0;
        background: transparent;
        border: 0;
        }
        
    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li:hover ul {
        left: 0px;
        }        
    
    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul ul a {
        color: var(--mid-grey);
        margin: 0 0 0 15px;
        }
        
    .header-items nav input[type=checkbox]:checked ~ .menu-hauptmenue-container ul li:hover ul li a:hover {
        background: transparent;
        color: var(--mid-grey);
        }

    .stage-follow .stage-headline {
        padding: 150px 0 0 0;
        }

    .stage-follow .stage-headline h1 {
        border-radius: 0;
        } 

    .main-content .gallery-item {
        width: 50% !important;
        }
        
    .here-news-items {
        margin: 0;
        }
    
    .news-item,
    .news-item:hover,
    .news-list-item {
        width: 100%;
        margin: 0 0 30px 0;
        }

    .follow-archive-columnset {
        margin: 0;
        }

    .callto-action {
        margin: 60px 0 0 0;
        }
        
    .cta-content {
        width: 60%;
        }
        
    .cta-actions li {
        width: 80%;
        margin: 15px auto 0 auto;
        text-align: center;
        }

    .cta-actions li a {
        padding: 8px 15px 8px 15px;
        }
        
    footer {
        margin: 60px 0 0 0;
        }        
        
    .footer-navigation li {
        width: 80%;
        display: block;
        margin: 0 auto 15px auto;
        }
    
    .footer-navigation li a {
        padding: 8px 15px 8px 15px;
        font-weight: var(--font-bold);
        }
}


/*----------------------------------------------------------------------
Mobile-Styles
----------------------------------------------------------------------*/

@media only screen and (max-width: 900px) { 

    body {
        font-size: 16px;
        line-height: 24px;
        }

    .is-home-stage {
        padding: 60px 0 60px 0;
        }

    h1, h2, h3, h4, h5, h6 {
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        }

    .sow-accordion .sow-accordion-panel .sow-accordion-panel-content .sow-accordion-panel-border {
        padding: 0 15px;
        }

    .forms-section {
        padding: 30px 15px;
        }

    .forms-row {
        margin: 0;
        }

    .forms-row .forms-item-50 {
        width: 100%;
        }

    .forms-row select,
    input[type=text],
    input[type=email],
    input[type=date],
    .forms-row textarea,
    .forms-row textarea:focus,
    .forms-row textarea:hover {
        margin: 0;
        width: 100%;
        }

    .forms-detail-sport {
        margin: 15px 0 30px 0;
        }

    .content-teaser,
    .content-teaser:hover {
        margin: 0;
        }

    .single-news-main {
        width: 100%;
        }

    .news-aside-more .news-link {
        margin: 30px 0 0 0;
        }

    .news-aside-more h3 {
        margin: 30px 0 -45px 0;
        }
    
    .single-post-bottom {
        max-width: 100%;
        }

    .main-content .responsive-table {
        border: 1px solid var(--brand-color);
        height: 400px;
        }

    .footer-logocol {
        width: 100%;
        text-align: center;
        }

    .footer-maincol {
        width: 100%;
        }

    .footer-asidecol {
        width: 100%;
        text-align: center;
        margin: 0 0 30px 0;
        }

    .footer-columns article {
        padding: 30px 0 0 0;
        }

    .footer-logo {
        background: url(img/logo-tv-holz-white.svg) center top no-repeat;
        background-size: 110px auto;
        width: 110px;
        margin: 0 auto;
        }
    
    .footer-logo a {
        width: 110px;
        height: 125px;
        margin: 0 auto;
        }

    .footer-navigation li {
        width: 100%;
        }

    .legal-navigation li {
        display: block;
        }

    .legal-navigation li a {
        display: block;
        border: 1px dotted var(--mid-grey);
        color: var(--mid-grey);
        margin: 0 5px 10px 5px;
        }
    
    .social-navigation {
        padding: 0 0 30px 0;
        }
    
    .social-navigation li {
        margin: 0 15px 0 15px;
        }
}

@media only screen and (max-width: 700px) { 

   .wrapper {
        margin: 0px 20px;
        max-width: calc(100% - 40px);
        }

    .header-items .wrapper {
        width: calc(100% - 40px);
        }  

    .header-items .wrapper,
    .while-scrolling .wrapper,
    .while-scrolling .nav-and-info {
        height: 120px;
        }

    .header-items .nav-and-info {
        display: flex;
        }
    
    .header-items .nav-and-info {
        width: calc(100% - 80px);
        }    
    
    .header-logo,
    .while-scrolling .header-logo {
        background-size: 80px auto;
        width: 80px;
        height: 120px;
        }
    
    .header-logo a,
    .while-scrolling .header-logo a {
        width: 80px;
        height: 95px;
        }

    .header-items nav {
        width: 60px;
        }      

    .header-meta li a {
        margin: 3px 0;
        }

    .join-us a {
        background: url(img/icon-checkround-w.svg) 15px center no-repeat var(--active-state);
        background-size: 20px auto;
        padding: 5px 15px 5px 40px;
        }
    
    .training-hours a {
        background: url(img/icon-hours-w.svg) 15px center no-repeat var(--brand-color);
        background-size: 20px auto;
        padding: 5px 15px 5px 40px;
        }

    body,
    .cta-content {
        font-size: 16px;
        line-height: 25px;
        }

    .stage-home,
    .stage-follow {
        margin: 110px 0 30px 0;
        }

    .main-content h1,
    .stage-follow .stage-headline h1 {
        font-size: 30px;
        line-height: 35px;
        }

    .stage-follow .stage-headline h1 {
        padding: 30px 20px 0 20px;
        }

    .stage-follow .stage-headline {
        padding: 120px 0 0 0;
        margin: 0 -20px;
        }

    .homeextro-action {
        padding: 60px 0;
        }

    .main-content h2,
    .homeextro-content h2,
    .cta-content h2,
    .ph-news-header h2,
    .notfound-content h2 {
        font-size: 25px;
        line-height: 30px;
        }

    .main-content h3,
    .homeextro-content h3,
    .ph-news-header h3,
    .ni-body h3 a,
    .nli-main h3 a,
    .news-aside-more h3 {
        font-size: 22px;
        line-height: 26px;
        }

    .main-content h4 {
        font-size: 18px;
        line-height: 23px;
        }
    
    .main-content h5 {
        font-size: 18px;
        line-height: 23px;
        }

    .ph-news {
        padding: 60px 0;
        }

    .news-show-all {
        margin: 0;
        }
    
    .news-image {
        max-height: 150px;
        }    
    
    .single-item-image {
        height: 150px;
        }    
    
    .dark-content-ground,
    .grey-content-ground {
        padding: 60px 0 30px 0;
        background-size: 800px auto;
        }
    
    .cta-content {
        width: calc(100% - 40px);
        padding: 0 20px;
        }
        
    .cta-actions li {
        width: 100%;
        }

    .notfound-content img {
        width: 80%;
        }

    .notfound-content p {
        width: 100%;
        }

    footer {
        margin: 60px 0 0 0;
        }    
}
