html, body{
	width:100%; 
	height:100%;
	padding:0;
	margin:0;
	font-size:24px;
	line-height:140%;
	color: #000;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;

	
	 font-family: 'Play', Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-display: swap; /* Bei @font-face definiert */
	}
main{
	width:100%;
	height:auto;
	padding-top: 171px;
	overflow: hidden;
	}
.readablefont01 html, .readablefont01 body{
	
	font-family: Arial, Helvetica, sans-serif !important;

	}

/* \\\\\\\\\\\\\\\\\\\\ HEADER ///////////////////// */





picture#logo {
    position: fixed;
    z-index: 10;
    top: 50px;
    width: 22%;
    height: auto;
    padding: 20px 30px;
    left: 100px;
    background: #fff;
    border-bottom-right-radius: 20px;
	z-index: 1001;
	-webkit-transition:1s ease-in-out all;
	transition:1s ease-in-out all;
}

.hide-nav picture#logo {
    width: 9%;
	padding:10px 20px;
	left:100px;
}
#logo img{
	width:100%;
	position: relative;
	}

@media screen and (max-width:1660px){ 
	picture#logo {
    width: 18%;
}
	.head-btn {
		width: 200px;
	}
}

@media screen and (max-width:1340px){ 
	.header-con {
		width: 100%;
		padding: 0px 0 0 20px;
	}
	.head-btn {
		width: 175px;
	}
	#logo {
		width: 200px;
	}
	picture#logo {
		left: 30px;
		    width: 19%;
	}
	
	html, body{

	font-size:18px;
	}
	    main {
        padding-top: 118px;
    }
	.hide-nav picture#logo {
	left:30px;
}
}

@media screen and (max-width:1080px){ 
	    picture#logo {
        left: 0%;
        width: 15%;
        padding: 0 0 0 30px;
    }
}
@media screen and (max-width:768px){ 
	header#head {
		width: 100%;
		height: auto;
		padding-left: 36%;
	}
	a.studio-button-head.head-btn, a.termin-button-head.head-btn {
		display: none;
	}

	html, body{
	font-size:22px;
	}
        picture#logo {
        left: 0%;
        width: 196px;
        padding: 5px 0px 0 30px;
        top: 0;
    }
	header#head {
    height: 43px;
}
	   main {
        padding-top: 55px;
    }
	.hide-nav picture#logo {
    width: 110px;
		left:0;
    padding: 10px 10px 5px 30px;
}
}


	
	
/* \\\\\\\\\\\\\\\\\\\\ NAVIGATION ///////////////////// */	



nav.menu-topmenu-container {
    position: fixed;
    top: 0;
    left: 0;
    font-size: .7rem;
    width: 100%;
    font-weight: 700;
    background-color: #cee0c4;
    text-align: right;
    padding: 13px 100px 12px 0;
    box-sizing: border-box;
	line-height: 100%;
	z-index: 1000;
		font-family: 'Play', Helvetica, Helvetica Neue, Arial;

}
nav.menu-topmenu-container ul li {
    display: inline-block;
    list-style: none;
    padding: 0 15px;
}
nav.menu-topmenu-container ul {
    padding: 0;
    margin: 0;
}

.kontrast01 nav.menu-hauptmenue-container a, .kontrast01 nav.menu-topmenu-container a {
    color: #fff;
}

.kontrast01 nav.menu-hauptmenue-container {
    background: #222;
    color: #fff;
}
.kontrast01 picture#logo {
    background: #222;
}
.kontrast01 nav.menu-topmenu-container {
    background: #000;
}


nav.menu-topmenu-container a:link, nav.menu-topmenu-container a:active, nav.menu-topmenu-container a:visited, nav.menu-topmenu-container a:hover, 
nav.menu-hauptmenue-container a:link, nav.menu-hauptmenue-container a:active, nav.menu-hauptmenue-container a:visited, nav.menu-hauptmenue-container a:hover{
	color:#000;
}
.kontrast01 nav.menu-topmenu-container a:link, .kontrast01 nav.menu-topmenu-container a:active, .kontrast01 nav.menu-topmenu-container a:visited, .kontrast01 nav.menu-topmenu-container a:hover, 
.kontrast01 nav.menu-hauptmenue-container a:link, .kontrast01 nav.menu-hauptmenue-container a:active, .kontrast01 nav.menu-hauptmenue-container a:visited, .kontrast01 nav.menu-hauptmenue-container a:hover{
	color:#ffffff;
}

nav.menu-topmenu-container a:hover,
nav.menu-topmenu-container .current-menu-item a:link,
nav.menu-topmenu-container .current-menu-item a:visited,
nav.menu-topmenu-container .current-menu-item a:active{color:#00847e;}  

nav.menu-hauptmenue-container a:hover,
nav.menu-hauptmenue-container .current-menu-item a:link,
nav.menu-hauptmenue-container .current-menu-item a:visited,
nav.menu-hauptmenue-container .current-menu-item a:active,

nav.menu-hauptmenue-container .current-menu-parent a:link,
nav.menu-hauptmenue-container .current-menu-parent a:visited,
nav.menu-hauptmenue-container .current-menu-parent a:active,

nav.menu-hauptmenue-container .current-page-ancestor a:link,
nav.menu-hauptmenue-container .current-page-ancestor a:visited,
nav.menu-hauptmenue-container .current-page-ancestor a:active{
	color:#ffd500;
}

nav.menu-hauptmenue-container {
    position: fixed;
    top: 42px;
    right: 0;
    font-size: 1.2rem;
    font-weight: 600;
    background: #fff;
    width: 100%;
    text-align: right;
    padding: 50px 35px 50px 50px;
	 box-sizing: border-box;
	    line-height: 100%;
	z-index: 1000;
	-webkit-transition:1s ease-in-out all;
	transition:1s ease-in-out all;
}

nav.menu-hauptmenue-container ul li {
    display: inline-block;
    padding: 0 25px;
}

nav.menu-hauptmenue-container ul {
    padding: 0;
    margin: 0;
}
nav.menu-hauptmenue-container ul li ul {
   
}



nav.menu-hauptmenue-container ul li ul{
	position: fixed;
	border-top:50px solid #fff;
    top: 121px;
    height: auto;
    width: 40%;
    background-color: rgba(255, 255, 255, 1);
    padding: 100px 120px 120px;
    font-size: 1.3rem;
    line-height: 200%;
	background-color:#00847e;
	right:-100%;
	/*-webkit-transition: all 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  	transition:         all 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);*/
	-webkit-transition:1s ease-in-out all;
	transition:1s ease-in-out all;
	    border-bottom-left-radius: 30px;
}
.kontrast01 nav.menu-hauptmenue-container ul li ul{ border-color:#222222; background-color:#000000;}

.hide-nav nav.menu-hauptmenue-container ul li ul{border-top:10px solid #fff; top:81px;}


.hide-nav nav.menu-hauptmenue-container {
    padding: 10px 35px 10px 10px;
}

nav.menu-hauptmenue-container ul li:hover ul, nav.menu-hauptmenue-container ul li:focus-within ul {
 

    width: 50%;
    right: 0;

    /* border-left: 15px solid #00847e; */
    /* z-index: -1; */
}

ul#menu-hauptmenue ul li a {    color: #fff; }

nav.menu-hauptmenue-container ul#menu-hauptmenue li ul .current-menu-item a:link,
nav.menu-hauptmenue-container ul#menu-hauptmenue li ul .current-menu-item a:visited,
nav.menu-hauptmenue-container ul#menu-hauptmenue li ul .current-menu-item a:active,  
nav.menu-hauptmenue-container ul#menu-hauptmenue li ul a:hover{
	color:#ffd500;
}

/* Hover-Flyouts unterdrücken, wenn Maus noch nicht bewegt wurde */
body:not(.mouse-has-moved) nav.menu-hauptmenue-container ul li:hover ul {
  right: -100% !important;
  width: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

#menu-button {
    padding: 15px 0 15px 0;
    background: #00847e;
    border-radius: 3px;
    width: 60px;
    height: 60px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	display:none;
	position:fixed;
	top:10px ;
	right:10px;
	z-index:100002;
	display:none;
}
#menu-button {    
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    line-height: 0; /* optional: verhindert Lücken unter dem Bild */
}
#menu-button div {
    background: #fff;
    width: 30px;
    position: absolute;
    height: 4px;
    top: 18px;
    left: 15px;
    border-radius: 5px;
	-webkit-transition: all 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  	transition:         all 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	cursor: pointer;
}
#menu-button div:nth-child(2) {
    top: 28px;
}
#menu-button div:nth-child(3) {
    top: 38px;
}
.toggle-on #menu-button div:nth-child(2) {
    transform: rotate(45deg);
}
.toggle-on #menu-button div:nth-child(1), .toggle-on #menu-button div:nth-child(3) {
    transform: rotate(-45deg);
	top: 28px;
}

@media screen and (max-width:1340px){
	nav.menu-hauptmenue-container {
    top: 37px;
    padding: 30px 35px 30px 30px;
}
	
	nav.menu-hauptmenue-container ul li ul {
    border-top: 27px solid #fff;
    top: 91px;
}
	nav.menu-hauptmenue-container ul li:hover ul, nav.menu-hauptmenue-container ul li:focus-within ul {
    width: 70%;

    padding-right: 150px;
}
	.hide-nav nav.menu-hauptmenue-container ul li ul{border-top:10px solid #fff; top:68px;}
	
}

@media screen and (max-width:1080px){
	nav.menu-hauptmenue-container ul li {
		padding: 0 15px;
	}
}
@media screen and (max-width:768px){ 

	nav.menu-topmenu-container {
		top: -500px;
		-webkit-transition: 1s ease-in-out all;
		transition: 1s ease-in-out all;
	}
	nav.menu-hauptmenue-container {
		left: -150%;
		-webkit-transition: 1s ease-in-out all;
		transition: 1s ease-in-out all;
	}
	
	    .toggle-on nav.menu-topmenu-container {
        top: 0px;
        padding-right: 75px;
			min-height: 126px;
    }
	.toggle-on nav.menu-hauptmenue-container {
		left: 0%;
	}
	nav.menu-topmenu-container {
		z-index: 100001;
		padding: 10px;
	}
	
	
	nav.menu-hauptmenue-container, .hide-nav nav.menu-hauptmenue-container {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 150px 0 30px 0px;
    z-index: 100000;
    overflow-y: scroll;
}

nav.menu-hauptmenue-container ul li {
    padding: 0;
	display:block;
	width:100%;
}
	nav.menu-hauptmenue-container > ul > li {
    padding: 10px;
    box-sizing: border-box;
}
nav.menu-hauptmenue-container ul li ul {
    position: static;
    padding: 0;
    width: 100%;
	display:none;
	  font-size: 1rem;
}
	.sub-menu {
  display: none;
}
.sub-menu.open {
  display: block;
}
    nav.menu-hauptmenue-container ul li:hover ul, nav.menu-hauptmenue-container ul li:focus-within ul {
        width: 100%;
        padding-right: 0;
        padding: 10px;
        border-radius: 0;
    }

	
	nav.menu-topmenu-container ul li {

    padding: 10px;
}
	#menu-button {
		display:block;
	}


	
	
	.hide-nav.toggle-on picture#logo,.toggle-on  picture#logo {
    z-index: 100000000;
    top: 127px;
    padding: 10px 10px 0;
		 width: 110px;
}
}		







	
/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ CONTENT /////////////////////////*/



#wrapper{
	width:100%;
	min-height:100%;
	float:left;
	}	
#content {
    width: 1280px;
    height: auto;
    padding: 120px 0 30px 0;
    margin: 0 0 0 100px;
    overflow: hidden;
}
.page-template-default #content .con,  .page-template #content .con{ width: 850px; }
.blog #content .con{width:1280px;}

@media screen and (max-width:1340px){ 
	#content{
		width:100%;     
		padding: 40px 30px 30px 30px;
	}
	
	#content {
		margin: 0 0 0 0px;
	}
}


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

	.page-template-default #content .con, .page-template #content .con {
		width: 100%;
	}
	
}





/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  LIGHTBOX ///////////////////////// */

.kontakt-icons {
    position: fixed;
    right: 12px;
    top: 105px;
    z-index: 1000;
}
.kontakt-icon {
    width: 60px;
    height: 60px;
    background: #666666;
    padding: 12px;
    cursor: pointer;
    border-radius: 3px;
}
.kontakt-icon img{width: 100%;}
.lightbox-kontakt-wrapper, .lightbox-info-wrapper {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background: #fff;
    z-index: 9999;
	    overflow: scroll;
    padding: 30px;
	-webkit-transition: 1s all ease-in-out;
	transition: 1s all ease-in-out;
}
.kontakt-visible .lightbox-kontakt-wrapper {
    left: 0;
    padding-top: 120px;
}
.info-visible .lightbox-info-wrapper{left:0;}
.lightbox-kontakt.con h2 {
    text-align: center;
}
.lightbox-kontakt.con {
    width: 850px;
	text-align: center;
}
.lightbox-kontakt input.wpcf7-form-control.wpcf7-submit {
    margin: 0 auto;
}
.close {
    position: absolute;
    right: 20px;
    top: 110px;
    width: 40px;
}
.close img {
    width: 100%;
}

@media screen and (max-width:1140px){ 
	.lightbox-kontakt.con {
		width: 100%;
	}
}



/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  FOOTER ///////////////////////// */


button#search-toggle {
    position: fixed;
    top: 7px;
    width: 26px;
    right: 60px;
	z-index: 1000;
}
button.searchicon {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    display: inline-block;
    line-height: 0; /* optional: verhindert Lücken unter dem Bild */
}

section#search {
    position: fixed;
    top: 0;
    left: -150%;
    width: 100%;
    height: 100%;
    z-index: 100000;
    background-color: rgba(255, 255, 255, .8);
    padding: 10%;
    box-sizing: border-box;
	-webkit-transition:1s ease-in-out all;
	transition:1s ease-in-out all;
}
.search-on section#search{left:0;}
section#search #searchsubmit {
    width: 20%;
}

section#search input {
    width: 80%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
    height: 100px;
}

img.close_search {
    position: absolute;
    top: 30px;
    right: 30px;
}



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

button#search-toggle {
    top: 7px;
}
	section#search {
    padding: 220px 32px;
}
	    img.close_search {
        top: 120px;
        right: 30px;
        width: 50px;
    }
}

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

	    .toggle-on button#search-toggle {
        right: 25px;
        top: 85px;
    }
		button#search-toggle {
    right: -100px;
}
	 .toggle-on  button#search-toggle {

    top: 85px;
    width: 26px;
    right: 30px;
    z-index: 1000002;
}
	section#search #searchsubmit {
    width: 100%;
    padding: 10px !important;
    height: auto;
}
	
section#search input#s {
    width: 100%;
}
}







.menu-footer-menue-container {
    width: 100%;
    text-align: left;
    padding: 10px 30px;
    background-color: #00847e;
    box-sizing: border-box;
    padding-left: 194px;
}

.menu-footer-menue-container ul, .menu-footer-menue-container li {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-block;
}

.menu-footer-menue-container li {
    padding: 0 30px;
}

.menu-footer-menue-container li a {
    color: #fff;
    font-weight: 600;
    font-size: .8rem;
}









.kontakt-footer {
    clear: both;
    overflow: hidden;
    background: #cee0c4;
    padding-left: 100px;
    padding-top: 100px;
}
.kontrast01 .kontakt-footer {
    background: #000000;
}

.c03.kontakt-btn {
	padding: 100px 60px 0px 120px;
}
.c03.kontakt-btn a.btn {
    width: 100%;
    box-sizing: border-box;
    background-color: #00847e;
    color: #fff;
    font-size: .8rem;
	-webkit-transition: 1s all ease-in-out;
	transition: 1s all ease-in-out;
}

.c03.kontakt-btn a.btn:hover{
	color:#000;
	 background-color: #d3f504;
}


img.kontakt_img {
    border-radius: 100%;
    width: 260px;
    float: right;
    vertical-align: bottom;
    display: inline-block;
    position: absolute;
    right: 9%;
    border: 15px solid #03847f;
    bottom: 18%;
	    z-index: 2;
}
.c03.kontakt-img {
    position: relative;
}
img.kontakt_bg {
    width: 80%;
    float: right;
}
.c03.kontakt-daten_footer {
    font-size: .7rem;
	line-height: 140%;
}

.footer-telefon {
    background-image: url(../images/tel-icon.svg);
     padding-left: 50px;
    font-weight: 600;
    background-repeat: no-repeat;
    background-size: 35px;
	margin-bottom:10px;
    background-position: left center;
	height: 40px;
}
.footer-mail {
    background-image: url(../images/mail-icon.svg);
    padding-left: 50px;
    font-weight: 600;
    background-repeat: no-repeat;
    background-size: 40px;
	margin-bottom:10px;
    background-position: left center;
	height: 40px;
}

.c03.kontakt-daten_footer {
    padding-top: 150px;
}




@media screen and (max-width:1660px){ 
	.c03.kontakt-daten_footer {
		padding-top: 70px;
	}
	.c03.kontakt-btn {
		padding: 50px 60px 0px 120px;
	}
}

@media screen and (max-width:1340px){ 
    .c03.kontakt-btn {
        padding: 30px 30px 0px 30px;
    }
	    .c03.kontakt-daten_footer {
        padding-top: 30px;
    }
.c03.kontakt-daten_footer {
    font-size: 1rem;
    line-height: 140%;
}
	img.kontakt_img {
    width: 160px;
    right: 23%;
    bottom: 41%;
}
img.kontakt_bg {
    width: 100%;
    float: right;
    position: relative;
    right: 0;
    top: -60px;
}
}

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

.kontakt-footer {
    clear: both;
    overflow: hidden;
    background: #cee0c4;
    padding-left: 0;
    padding-top: 50px;
}
	
    .c03.kontakt-daten_footer {
        padding-right: 30px;
    }
}



@media screen and (max-width:768px){
.c03.kontakt-img {
    clear: both;
    overflow: hidden;
}
       img.kontakt_img {
        width: 54%;
        right: 16%;
        bottom: 14%;
    }
	    img.kontakt_bg {
        position: static;
    }
.c03.kontakt-daten_footer {
    padding: 0 30px 100px;
}
}








.partnerlogos-inner-wrapper {
    text-align: center;
}


.partnerlogos-inner-wrapper img {
    width: auto;
    height: 120px;
    margin: 30px;
	filter: grayscale();
		-webkit-transition: 1s all ease-in-out;
	transition: 1s all ease-in-out;
}

section#partnerlogos img:hover{
	filter: grayscale(0);
}


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

	.partnerlogos-inner-wrapper img {
		height: 60px;
		margin: 10px;
	}

}



/*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  USER HELP ///////////////////////// */


section#userhelp-popup {
    line-height: 140%;
}
#maincontent {
  scroll-margin-top: 150px;
}


/* Container bleibt oben fixiert, pointer-events werden vom Link selbst geregelt */
#accessNav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    padding: 0;
    margin: 0;
}

/* Liste ohne Standard-Styles */
ul.accessNav__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Standardzustand: nicht sichtbar, nicht interaktiv */
ul.accessNav__list li a {
    position: absolute;
    left: 0;
    top: -100%;
    width: 100%;
    height: auto;
    padding: 1em;
    background: #00847e;
    color: #fff;
    text-align: center;
    font-weight: bold;
    text-decoration: none;

    pointer-events: none; /* ← NEU: keine Interaktion im normalen Zustand */
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 10001;
}

/* Sichtbar & interaktiv beim Fokus */
ul.accessNav__list li a:focus {
    top: 0;
    opacity: 1;
    pointer-events: auto; /* ← NEU: erst beim Fokus interaktiv */
    outline: 2px solid #fff;
}

/*
@media (prefers-color-scheme: dark) {
    ul.accessNav__list li a {
        background: #333;
        color: #fff;
    }
}*/


.userhelp_icons {
    position: fixed;
    right: 10px;
   top: 179px;
    z-index: 1000000;
}
.userhelp_icon {
    width: 90px;
    height: 90px;
    background: #00847e;
    padding: 15px 20px;
    cursor: pointer;
    border-radius: 3px;
}
.userhelp_icon img{width: 100%;}
.userhelp_bf_icon{opacity:1;}
.userhelp-on .userhelp_bf_icon{opacity:0;}
.close {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 50px;
    opacity: 0;
}
.userhelp-on .close{opacity:1;}







html.kontrast01, html.kontrast01 body{background-color:#000; color:#fff;}
.mousepointer01 *{ cursor: url('../images/icon-mauszeiger-gross.svg'), auto;		}
.fontsize01 body{font-size: 50px /*2.2rem;*/}
.fontsize02 body{font-size: 60px /*2.2rem;*/}




section#userhelp-popup {
    position: fixed;
    right: -800px;
    top: 202px;
    font-size: 24px;
    z-index: 100000;
    padding: 30px 90px 30px 30px;
    width: 500px;
    border-top-left-radius: 5px;
	 border-bottom-left-radius: 5px;
    -webkit-transition: 1s all ease-in-out;
    transition: 1s all ease-in-out;
    background: #fff;
    border: 10px solid #00847e;
    border-right: none;
}
.userhelp-on section#userhelp-popup{right:0px;}





.userhelp-options {
    float: left;
    width: 50%;
    padding: 30px;
}
.userhelp-options {
    text-align: center;
	cursor: pointer;
}

.user-help-btn_info-wrapper span {
    background-color: #c7e5c0;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin: 0 5px;
    border-radius: 100%;
}

.fontsize01 .userhelp_fontsize .user-help-btn_info-wrapper span:nth-child(1),
.fontsize02 .userhelp_fontsize .user-help-btn_info-wrapper span:nth-child(2),
.kontrast01 .userhelp_kontrast .user-help-btn_info-wrapper span:nth-child(1),
.readablefont01 .userhelp_readablefont .user-help-btn_info-wrapper span:nth-child(1),
.mousepointer01 .userhelp_mousepointer .user-help-btn_info-wrapper span:nth-child(1){background-color:#a41790;}




.kontrast01 section#userhelp-popup {
    background: #000;
}




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

.userhelp_icons {
    display: none;
}
.userhelp-on section#userhelp-popup {
	right:0;
}

	section#userhelp-popup {
    width: 100%;
    bottom: 0;
    top: unset;
    left: unset;
	
    font-size: 18px;
    line-height: 150%;
    box-sizing: border-box;
    padding-bottom: 60px;
}
	section#userhelp-popup {padding:0;}

}
