/* ==========================================================================
   THEME — original Tanz e.V. style.css overrides (verbatim).
   Only changes: <cms:link>/.content/ paths -> live absolute URLs,
   font-family Bebas/ArchivoNarrow -> Google Fonts equivalents.
   ========================================================================== */
/*var*/
:root {
	--a200: 200px;
	--main-color: #FEEA1D;
	--time: 1.6s;
}
body, a {
	font-family: 'Archivo Narrow', sans-serif;
}
.text h2 {
	color: var(--main-color);
	font-size: 80px;
	text-align: center;
	text-transform: uppercase;
}
.text h2 strong {
	color: #fff;
}
.area-header.logo-left .header-title, .header-links-bg {
	display: none;
}
body {
	background: #000;
}
.container {
	max-width: 1920px;
}
.area-header.home-header .header-group  {
	margin: 0 auto;

}

.area-header.logo-left .header-group {
	border: none;
	top: 0;
	position: fixed;
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	z-index: 9999;
	left: 50%;
	transform: translate(-50%);
}
.opencms-page-editor .area-header.logo-left .header-group {
	position: relative;
}
#nav-toggle-group {
  max-width: 1920px;
  position: fixed;
  width: 100%;
  margin: 0 auto;
  left: 50%;
  transform: translate(-50%);
  z-index: 10000;
}
.nav-main-container a {
	color: #fff;
	background: var(--main-color);
}
.head {
	background: transparent;
}
.area-header.logo-left.home-header .col-head-info {
	flex: 100%;
}
.head > .container > .row {
	flex-direction: row;
  	justify-content: start;
}
.area-header.logo-left .col-head-logo {
	width: 200px;
}
.area-header.logo-left.home-header .col-head-logo {
	width: 330px;
	transition: all .5s ease;
	padding: 0;
	border-radius: 100%;
	border: 2px solid #000;
	margin-top: 20px;
}

.scrolled .area-header.logo-left.home-header .col-head-logo {
	width: 130px;
	transition: all .5s ease;
}
/* Desktop: home header logo 210x210, 120px from left, top aligned with the menu (15px) */
@media (min-width: 1014px) {
	.area-header.logo-left.home-header .col-head-logo {
		width: 210px;
		margin-top: 15px;
		margin-left: 120px;
	}
}

@keyframes shake-horizontal {
	0% { transform: translate(0, -50%); }
	25% { transform: translate(20px, -50%); }
	50% { transform: translate(0px, -50%); }
	75% { transform: translate(20px, -50%); }
	100% { transform: translate(0, -50%); }
}
/*mobile nav on dektop*/
/* === Toggle Group === */
#nav-toggle-group {
  display: block;
}

/* === Toggle Label === */
#nav-toggle-label {
  position: relative;
  z-index: 150201;
  top: 15px;
  right: 30px;
  display: inherit;
  margin-bottom: 0;
  max-width: none;
  pointer-events: auto;
}

/* === Toggle Button === */
.nav-toggle-btn {
  display: block;
  float: right;
  position: relative;
  cursor: pointer;
  z-index: 150001;
  background: transparent;
  border: none;
  margin: 0;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: inherit;
  border-radius: 0;
  appearance: none;
}

/* === Toggle Icon === */
.nav-toggle-btn .nav-toggle {
  display: block;
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 50px;
  font-size: 0;
  text-indent: -9999px;
  border: none;
  border-radius: 3px;
  box-shadow: none;
  color: #000;
  background-color: transparent;
  transition: background 0.33s;
}

/* === Burger Lines === */
.nav-toggle-btn .nav-burger {
  display: block;
  position: absolute;
  top: 24px;
  left: unset;
  right: unset;
  height: 2px;
  background: var(--main-color);
  transition: background 0s 0.33s;
  width: 40px;
  animation: move-2 var(--time) infinite;
  animation-timing-function: linear;
  transition: background 2s ease !important;
}

.nav-toggle-btn .nav-burger::before,
.nav-toggle-btn .nav-burger::after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
  transition-duration: 0.33s, 0.33s;
  transition-delay: 0.33s, 0s;
  
}

.nav-toggle-btn .nav-burger::before {
  top: -12px;
  width: 30px;
  transition-property: top, transform;
  animation: move-1 var(--time) infinite;
  animation-timing-function: linear;
  transition: background 2s ease !important;
}

.nav-toggle-btn .nav-burger::after {
  bottom: -12px;
  width: 50px;
  transition-property: bottom, transform;
  transition: background 2s ease !important;
  animation: move-3 var(--time) infinite;
  animation-timing-function: linear;
}
/*button animation*/
@keyframes move-1 {
  0%   { width: 30px; }
  25%  { width: 40px; }
  50%  { width: 50px; }
  75%  { width: 40px; }
  100% { width: 30px; }
}

@keyframes move-3 {
  0%   { width: 50px; }
  25%  { width: 40px; }
  50%  { width: 30px; }
  75%  { width: 40px; }
  100% { width: 50px; }
}

@keyframes move-2 {
  0%   { width: 40px; }
  25%  { width: 50px; }
  50%  { width: 40px; }
  75%  { width: 30px; }
  100% { width: 40px; }
}
.active-nav .nav-toggle-btn .nav-burger::before,
.active-nav .nav-toggle-btn .nav-burger::after, 
.active-nav .nav-toggle-btn .nav-burger {
	color: green !important;
	background: red;
	transition: background 2s ease !important;
}
/* === Navigation Container === */
.nav-main-container {
  position: fixed;
  top: 0;
  right: -90vw;
  height: 100vh;
  opacity: 0;
  overflow-x: hidden;
  background-color: #ddd;
  pointer-events: auto;
  z-index: 150200;
  transition: right 0.5s, opacity 0.25s;
}

/* === Active State === */
html.active-nav .area-header .header-group .nav-main-container {
  opacity: 1;
  right: 0;
}

/* === Navigation Group === */
.nav-main-container .nav-main-group {
  display: block;
  position: relative;
  margin: 0 auto;
  border: 0;
  padding: 0;
  min-width: calc(250px + 15px);
  max-width: 1400px;
  width: 100%;
}
.nav-main-items {
	justify-content: center;
	flex-direction: column;
	align-content: center;
	background: transparent;
	padding-top: 50px;
}
.nav-main-items li {
	justify-content: center;
	position: relative;
}
.area-header.logo-left .nav-main-items > li > a {
	padding: 30px 0;
	background: transparent;
	color: #fff;
	font-size: 40px;
	font-family: 'Bebas Neue', sans-serif;
	line-height: unset;
}
.area-header.logo-left .nav-main-items > li.active > a, .area-header.logo-left .nav-main-items > li:hover > a {
	color: var(--main-color);
}
.area-header.logo-left .nav-main-items > li.active > a:before, .area-header.logo-left .nav-main-items > li > a:before {
	content: "";
	left: -40px;
	height: 40px;
	width: 40px;
	background: url("https://tanz-ev.cms.netzsystem.de/export/sites/tanz-ev/.content/_res/halbkreis_gelb.svg");
	background-size: 100%;
	position: absolute;
	transform: translate(-0%, -50%);
	top: 50%;
}
/* === Layout Variant === */
.area-header.logo-left .nav-main-container {
  justify-content: flex-start;
  background: #000;
}

.header-home-txt {
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%, -50%);
	width: 100%;
}
.header-home-txt .only-heading {
	text-align: center;
}
.header-home-txt .only-heading h2 {
	color: #fff;
	font-size: 130px;
	line-height: 
	font-family: 'Bebas Neue', sans-serif;
	font-weight: bold;
}
.header-home {
	position: relative;
}
.header-home-txt .only-text ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0;
}
.header-home-txt .only-text ul li {
	list-style-type: none;
	padding: 0 10px;
	width: 100%;
	text-align: center;
	color: #fff;
	text-transform: uppercase;
	font-weight: bold;
}
.header-home-txt .only-text ul li:nth-child(1) {
	font-size: 48px;
}
.header-home-txt .only-text ul li:nth-child(2) {
	font-size: 32px;
}
.header-home-txt .only-text ul li:nth-child(3) {
	font-size: 24px;
}
.header-home-txt .only-text ul li:nth-child(4) {
	font-size: 18px;
}
.header-home-txt .only-text ul li strong {
	color: var(--main-color);
}
.header-home-txt .next {
	text-align: center;
	margin: 100px 0 0 0 !important;
	position: relative;
}
.header-home-txt .next a {
	border: 1px solid var(--main-color);
	border-radius: 20px;
	color: var(--main-color);
	padding: 5px 60px;
	font-size: 22px;
	transition: padding .5s ease;
}
.header-home-txt .next a:after {
	content: "";
	position:absolute;
	width: 40px;
	background: url("https://tanz-ev.cms.netzsystem.de/export/sites/tanz-ev/.content/_res/pfeil.svg") no-repeat;
	height: 22px;
	top: 50%;
  	transform: translate(0, -50%);
	margin-left: 10px;
}
.header-home-txt .next a:hover:after {
	
	animation: shake-horizontal 2.2s ease-in-out infinite;
}
.header-home-txt .next a:hover {
	text-decoration: none;
	padding: 5px 80px;
	transition: padding .5s ease;
}
/*sub header*/

.sub-header {
	position: relative;
	padding-bottom: var(--a200);
}
.sub-header-txt {
position: absolute;
  left: 50%;
  bottom: 0%;
  transform: translate(-50%, -100%);
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.sub-header-txt .img-0 {
	background: #000;
	z-index: 999;
}
.sub-header-txt > div {
	margin: 0 !important;
}
html:not(.opencms-page-editor) .sub-header-txt > div:not(.img-0) {
	position: absolute;
	width: 100%;
	bottom: 0;
	margin: 0 auto !important;
	left: 0;
	right: 0;
	transform: translateY(0);
	transition: transform 0.5s ease-out;
	will-change: transform;
}
.sub-header-txt > div.img-1 {
	max-width: 1300px;
}
.sub-header-txt .img-2 {
	max-width: 1200px;
}
.sub-header-txt .img-3 {
	max-width: 1100px;
}
.sub-training-content, .sub-galerie {
	padding-bottom: 50px;
}
.sub-training-content .variant-accordion h2 {
	margin: 50px auto;
	text-align: left;
	color: #fff;
	text-transform: uppercase;
	font-size: 70px;
}
.sub-training-content .variant-accordion h2 .hc {
	color: grey;
}
/*home*/
.content-home-top-h2 {
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
}
.content-home-top-h2 .img-0 {
	z-index: 100;
	position: relative;
	background: #000;
}
.content-home-top-h2 > div:not(.img-0) {
	position: absolute;
	width: 100%;
	top: 0;
	margin: 0 auto !important;
	left: 0;
	right: 0;
}
.content-home-top-h2 > div.img-1 {
	top: 0px;
	max-width: 1400px;
}
.content-home-top-h2 > div.img-2 {
	top: 0px;
	max-width: 1300px;
}
.content-home-top-h2 > div.img-3 {
	top: 0px;
	max-width: 1300px;
}
/* center the layered Ebene1–4 graphics horizontally within their boxes */
.content-home-top-h2 img {
	margin-left: auto;
	margin-right: auto;
}
.content-home-top-row .row > div:first-child.col-md-6 .element .body {
	display: flex;
	align-items: center;
	height: 100%;
	color: #fff;
	max-width: 400px;
	font-size: 144%;
	margin-top: 150px;
}
.content-home-top-row .row > div:first-child.col-md-6 .element .body h2 {
	color: var(--main-color);;
}
.content-home-top-row {
	margin: 0 auto;
	padding: 0 var(--a200);
}
/* Dancer graphic aligned to white top edge (no top margin on visual) */
.content-home-top-row .row > div:last-child .visual {
	margin-top: 0;
	margin-bottom: 0;
}
/* align the intro text's left edge to the contact block (120px) on desktop */
@media (min-width: 1014px) {
	.content-home-top-row { padding-left: 120px; }
	.content-home-top-row .row > div:first-child.col-md-6 .element .body { margin-top: 150px; }
/* Black background on the right column, starting at the dancer's bottom */
.content-home-top-row .row > div:last-child {
	background: linear-gradient(to bottom, transparent 672px, #000 672px);
	position: relative;
}
}
.content-home-top-row .element {
	margin: 0;
}
.content-home-top-row .row > div:first-child {
	position: relative;
	z-index: 2;
} 
.content-home-top-row .row > div:first-child:after {
	content: "";
	right: 0;
	height: 200px;
	width: 200px;
	position: absolute;
	background: url("https://tanz-ev.cms.netzsystem.de/export/sites/tanz-ev/.content/_res/halbkreis_gelb.svg");
	background-size: 100%;
	top: 50%;
	left:100%;
	z-index: 9999;
	transform: translate(-50%, -50%) rotate(var(--rotation, 0deg));
	transition: transform 0.1s linear;
}
.home-content-center {
	background: #fff;
	/*padding: 50px var(--a200);*/
}
.home-content-center h2 {
	font-size: 80px;
	padding: 50px var(--a200);
}

.acc .accordion {
	margin: 0;
	box-shadow: none;
}
.acc .accordion h2 {
	margin: 0;
	display: inline-block;
	border-radius: 0px;
}
.acc .accordion h2 .acco-toggle {
	padding: 20px calc(var(--a200) + 40px);
}
.acc .acco-body {
	background: #000;
	padding: 50px var(--a200);
}
.acc .accordion .acco-toggle {
	background: #fff;
	border: none;
	border-bottom: 2px dotted #000;
	padding: 15px 40px;
	font-size: 24px;
	box-shadow: none !important;
	border-radius: 0px;
}
.acc .accordion .acco-header .acco-toggle::after {
	right: unset; 
	left: unset;
	transform: rotate(-90deg);
	margin-left: -40px;
}
.acc .accordion .acco-header .acco-toggle:not(.collapsed)::after { 
	transform: rotate(0deg);
}
.acc .accordion .acco-header .acco-toggle:hover,.acc .tab-list > li > .tab-toggle:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}
.acc .accordion .acco-header .acco-toggle[aria-expanded="true"], .acc .tab-list > li > .tab-toggle.active  {
	background: #000;
	border: none;
}
.acc .accordion .acco-header .acco-toggle {
	color: #000;
}
.acc .accordion .acco-header .acco-toggle .hc {
	color: #999;
}
.acc .accordion .acco-header .acco-toggle:not(.collapsed) .hc {
	color: #fff;
}

.acc .accordion .acco-body {
	border: none;
	border-radius: 0px;
}
.acc .collapsing {
  height: unset;
  transition: unset;
}

.acc .acco-body .element {
	color: #fff;
	max-width: 30%;
	width: 100%;
}
.acc .acco-body .element h3 {
	color: #fff;
}
.acc .acco-body .element h2 {
	color: #fff;
	font-size: 28px;
	padding: 0;
	text-align: left;
}
.acc .acco-body > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.acc .acco-body .element .link a {
	color: var(--main-color);
	background: transparent;
	position: relative;
	font-size: 0px !important;
}
.acc.route .acco-body .element .link a:before {
	content: "Google Maps";
	position: absolute;
	left: 0;
	color: var(--main-color);
	width: 100%;
	font-size: 18px !important;
}
.acc .acco-toggle:not(.collapsed) {
	color: var(--main-color) !important;
}
.home-content-bottom .body {
	display: flex;
	font-size: 48px;
	align-items: center;
	color: #fff;
	text-transform: uppercase;
}
.home-content-bottom .body em {
	color: var(--main-color);
	font-style: normal;
}
.home-content-center {
	padding: 30px 0;
}
.home-content-center .element, .home-content-center .visual {
	margin-bottom: 0;
}
.home-content-center .body {
	position: absolute;
	top: 25px;
	width: 100%;
	text-align: center;
}
.home-content-center .body h2 {
	color: var(--main-color);
	text-transform: uppercase;
	
}
.home-content-center .body h2 strong {
	color: #fff;
}
.home-content-center .body a {
	text-transform: uppercase; 
	border-radius: 30px;
	border: 1px solid var(--main-color);
	color: var(--main-color);
	padding: 5px 80px;
	font-size: 20px;
	position: relative;
	transition: all .5s ease;
}
.home-content-center .body a:hover {
	padding: 5px 100px;
	transition: all .5s ease;
}
.home-content-center .body a:before {
	content: "";
	position:absolute;
	width: 40px;
	background: url("https://tanz-ev.cms.netzsystem.de/export/sites/tanz-ev/.content/_res/pfeil.svg") no-repeat;
	height: 22px;
	top: 50%;
	left: 0;
  	transform: translate(0, -50%);
	margin-left: 10px;
}

.header-home-txt .next a {
	border: 1px solid var(--main-color);
	border-radius: 20px;
	color: var(--main-color);
	padding: 5px 60px;
	font-size: 22px;
	transition: padding .5s ease;
}

/*training*/
.sub-training .acc .acco-body .element {
	max-width: 100%;
	position: relative;
	padding-left: 50px;
}
.sub-training .acc .acco-body > div > div:not(:last-child).element {
	border-bottom: 2px dotted #000;
}
.sub-training .acc .acco-body .element:before{
	content: "";
	position: absolute; 
	height: 100%;
	width: 30px;
	left: 0;
}
/*rot*/
.sub-training .acc .acco-body .element.red:before {
	background: #ebd5c8;
} 
/*blau*/
.sub-training .acc .acco-body .element.blue:before {
	background: #cbdeef;
} 
/*grün*/

.sub-training .acc .acco-body .element.green:before {
	background: #d1f7ce;
}
/*dunkel grün*/

.sub-training .acc .acco-body .element.dunkel-green:before {
	background: #baefd3;
}
/*hellrot*/
.sub-training .acc .acco-body .element.hell_red:before {
	background: #f5d6d4;
}
.sub-training  .acc .accordion .acco-toggle{
	background:black;
}
.sub-training  .acc .accordion .acco-header .acco-toggle{
	color:white;
}
.sub-training  .acc .accordion .acco-header .acco-toggle[aria-expanded="true"], .acc .tab-list > li > .tab-toggle.active{
	background:white;
}
.sub-training  .acc .accordion .acco-header .acco-toggle[aria-expanded="true"], .acc .tab-list > li > .tab-toggle.active{
	color:black;
}
.sub-training  .acc .acco-body{
	background:white;
}
.sub-training  .acc .acco-body .element{
	color: #7f7f7f;
}
.sub-training  .acc .acco-body .element h3{
	color:black;
}
.sub-training  .acc .acco-toggle:not(.collapsed) {
	color:black !important ;
}
.sub-training .acc .accordion:not(:last-child){
	border-bottom:2.5px dotted white;
}

.sub-galerie-content .list-entries {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}

.sub-galerie-content .list-entries li {
	max-width: 22%;
	width: 100%;
	border: 1px solid #fff;
}
.sub-galerie-content .list-entries .teaser {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	margin: 0;
	text-align: center;

}
.sub-galerie-content .list-entries .visual {
	padding: 0 !important;
}
.sub-galerie-content .list-entries .visual img {
	border-radius: 0;
}
.sub-galerie-content .list-entries .teaser .body {
	padding: 0;
}
.sub-galerie-content .list-entries .teaser .body h3 {
	color: #fff;
	padding: 30px;
}
.sub-galerie-content .list-entries .teaser .link a {
	width: 100%;
	border-radius: 0;
	padding: 15px;
	background: var(--main-color);
	color: #000;
	font-weight: bold;
}
.teaser .teaser-date,.teaser .teaser-text {
	color: #fff;
	margin-bottom: 30px;
}
.detail-page * {
	color: #fff;
}
/**/
#topcontrol {
	border: 2px solid var(--main-color);
	background: #000;
	color: var(--main-color);
	width: 45px;
	height: 45px;
}
/*galerie*/
.slider-box {
	margin: 0 auto;
	max-width: 1400px;
}
/*footer*/
.area-foot {
	text-align: center;
}
.area-foot .topfoot {
	background: #000;
	color: #fff;
	padding: 50px 15px;
}
.area-foot .topfoot ul {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.area-foot .topfoot li {
	list-style-type: none;
	margin: 0 10px;
}
.area-foot .topfoot a {
	color: #fff;
}
.area-foot .topfoot h2 {
	color: var(--main-color);
}
.area-foot .topfoot h3 {
	color: #fff;
}
/* Footer: contact block on the left (left-aligned), social on the right */
.area-foot .topfoot .footer-cols {
	max-width: none;
	margin: 0;
	/* match the statement block's 120px left inset (.topfoot already pads 15px) */
	padding-inline: calc(120px - 15px);
	justify-content: space-between;
	align-items: flex-start;
	text-align: left;
}
.area-foot .topfoot .footer-cols .contact { order: 1; font-size: 120%; color: #fff; }
.area-foot .topfoot .footer-cols .contact h2 { color: var(--main-color); }
.area-foot .topfoot .footer-cols .social { order: 2; text-align: right; }
.area-foot .topfoot .footer-cols .social h2 { color: var(--main-color); }
.area-foot .topfoot .footer-cols .social img { filter: invert(1); }
.area-foot .topfoot .social ul { justify-content: flex-end; }
.area-foot .topfoot .contact ul { justify-content: flex-start; }
.area-foot .topfoot .contact li:first-child { margin-left: 0; }
.area-foot .topfoot .social li:last-child { margin-right: 0; }
@media (max-width: 600px) {
	.area-foot .topfoot .footer-cols { padding-inline: 20px; }
}
.area-foot .subfoot {
	background: #000;
	color: #fff;
}
.area-foot .subfoot a {
	color: #fff;
}
.unterstuetzer-item {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10%;
	padding: 75px 0;
	border-bottom: 1px solid #fff;
	margin-bottom: 75px;
	background: #000;
}
.unterstuetzer-item > div a img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	margin: 0 auto;
}
.unterstuetzer-item > div {
	max-width: 200px;
	width: 100%;

}
.unterstuetzer-item > div:first-child {
	width: 100%;
	max-width: 100%;
	margin-bottom: 50px;
}
.unterstuetzer-item > div:first-child h2 {
	text-transform: uppercase;
	margin-bottom: 50px !important;
	color: var(--main-color);
}
.unterstuetzer-item > div:nth-child(2) {
	width: 100%;
	max-width: 274px;
}
.unterstuetzer-item > div:nth-child(3) {
	width: 100%;
	max-width: 95px;
}
.unterstuetzer-item > div:nth-child(4) {
	width: 100%;
	max-width: 274px;
}
.footer-img-x {
	max-width: 1000px;
	margin: 100px auto 0;
	padding: 50px 15px;
	margin-bottom: 100px;
}
.acc .accordion .acco-header .acco-toggle::after {
	color: var(--main-color);
}
@media (max-width:1367px) {
	.header-home-txt {
		position: relative;
		left: unset;
		top: unset;
		transform: unset;
	}
	.header-home-txt .only-heading h2 {
		font-size: 80px;
	}
}
@media (max-width:1013px) {
	:root {
		--a200: 50px;
		--main-color: #FEEA1D;
		--time: 1.6s;
	}
	.sub-header-txt {
		padding: 0 15px;
	}
	.acc .accordion h3 .acco-toggle {
		padding-left: 50px;
	}
	.home-content-bottom .text {
		text-align: center;
		width: 100%;
		padding: 10px;
	}
	.nav-toggle-btn.active-nav .nav-burger {
		transition: background 2s ease !important;
	}
	 .nav-toggle-btn.active-nav .nav-burger::before {
		top: -12px; 
	}
	.nav-toggle-btn .nav-burger::after {
		bottom: -12px;
	}
	 .nav-toggle-btn.active-nav .nav-burger::before,  .nav-toggle-btn.active-nav .nav-burger::after {
	 	transform: unset;
	 }
	 .nav-toggle-btn.active-nav .nav-burger::after {
	 	bottom: -12px;
	 }
	 html.active-nav .area-header .head-overlay {
	 	display: none;
	 }
	 html.active-nav #mercury-page {
	 	right: unset !important;
	 }
	 .nav-main-container .nav-main-mobile-logo {
	 	display: none;
	 }
	 .nav-main-items {
	 	background: #000;
	 }
	 .nav-main-items li {
	 	text-align: center;
	 }
	 html.active-nav .area-header .header-group .nav-main-container {
	 	width: 100%;
		background: rgba(0,0,0,.85);
	 }
	 .nav-main-container .nav-main-group, .nav-main-items {
	 	background: transparent;
	 }
	 .head > .container > .row {
	 	justify-content: start;
	 }
	 .area-header.logo-left.home-header .col-head-logo {
	 	max-width: 150px;
		margin-left: 15px;
	 }
	 .header-home-txt .only-text ul li {
	 	padding: 10px;
	 }
	 .content-home-top {
	 	margin: 100px 0 0;
		padding: 0;
	 }
	 .content-home-top-h2 > * {
	 	width: 90% !important;
		margin: 0 auto;
	 }
	 .acc .acco-body > div {
	 	flex-direction: column;
		gap: 50px;
	 }
	 .acc .acco-body .element {
	 	max-width:100%;
	 }
}
@media (max-width:676px) {
	.header-home-txt .only-heading h2 {
		font-size: 50px;
	}
}

/* ── Unsere Unterstützer: weisser Hintergrund, schwarze Überschrift ── */
.unterstuetzer-item {
	background: white;
	border-bottom: 1px solid #000;
}
.unterstuetzer-item > div:first-child h2 {
	color: black;
}

/* ══ Responsive enhancements ══════════════════════════════════════════════ */

/* Home: reduce intro-text top margin when columns stack */
@media (max-width: 767px) {
	.content-home-top-row .row > div:first-child.col-md-6 .element .body { margin-top: 40px; }
}

/* Home: statement overlay text — scale down */
@media (max-width: 900px) {
	.home-content-bottom .body { font-size: 34px; }
}
@media (max-width: 600px) {
	.home-content-bottom .body { font-size: 24px; }
}

/* Training: scale accordion text for smaller viewports */
@media (max-width: 1013px) {
	.sub-training .acc .acco-toggle { font-size: 30px !important; padding-left: 65px !important; }
	.sub-training .acc .acco-body .element h3 { font-size: 22px !important; }
	.sub-training .acc .acco-body .element .body p { font-size: 18px !important; }
}
@media (max-width: 480px) {
	.sub-training .acc .acco-toggle { font-size: 20px !important; padding-left: 48px !important; }
	.sub-training .acc .acco-body .element h3 { font-size: 17px !important; }
	.sub-training .acc .acco-body .element .body p { font-size: 15px !important; }
}

/* Legal pages: reduce top padding on mobile */
@media (max-width: 767px) {
	.legal-page { padding-top: 110px; }
}

/* Footer: centre-align columns when stacked on narrow screens */
@media (max-width: 767px) {
	.area-foot .topfoot .footer-cols {
		padding-inline: 20px;
		justify-content: center;
		text-align: center;
	}
	.area-foot .topfoot .footer-cols .contact,
	.area-foot .topfoot .footer-cols .social { text-align: center; }
	.area-foot .topfoot .contact ul { justify-content: center; }
	.area-foot .topfoot .social ul { justify-content: center; }
	.area-foot .topfoot .contact li:first-child { margin-left: 10px; }
}

/* ─── Scroll reveal ──────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
	.reveal {
		opacity: 0;
		transform: translateY(28px);
		transition: opacity 0.55s ease, transform 0.55s ease;
	}
	.reveal.reveal-visible {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ─── Cursor dot + ring ──────────────────────────────────────────────────── */
.cursor-dot,
.cursor-ring {
	position: fixed;
	top: 0;
	left: 0;
	border-radius: 50%;
	pointer-events: none;
	z-index: 999999;
	opacity: 0;
	will-change: transform;
	transition: opacity 0.3s ease;
}
.cursor-dot {
	width: 8px;
	height: 8px;
	background: var(--main-color);
}
.cursor-ring {
	width: 28px;
	height: 28px;
	border: 1.5px solid var(--main-color);
	z-index: 999998;
}
@media (hover: none) {
	.cursor-dot, .cursor-ring { display: none; }
}
html.active-nav .nav-toggle-btn .nav-burger {
	background: transparent !important;
	animation: none !important;
	transition: background 0.15s ease !important;
}
html.active-nav .nav-toggle-btn .nav-burger::before {
	top: 0 !important;
	width: 40px !important;
	background: var(--main-color) !important;
	transform: rotate(45deg) !important;
	animation: none !important;
	transition: top 0.12s ease, transform 0.22s 0.12s ease !important;
}
html.active-nav .nav-toggle-btn .nav-burger::after {
	bottom: 0 !important;
	width: 40px !important;
	background: var(--main-color) !important;
	transform: rotate(-45deg) !important;
	animation: none !important;
	transition: bottom 0.12s ease, transform 0.22s 0.12s ease !important;
}

/* ─── Nav close button (injected via JS) ────────────────────────────────── */
.nav-close-btn {
	display: none;
	position: absolute;
	top: 16px;
	right: 20px;
	background: transparent;
	border: 1px solid rgba(254,234,29,.35);
	color: var(--main-color);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 8px 12px;
	border-radius: 3px;
	z-index: 150202;
	font-family: inherit;
	transition: background .2s ease, border-color .2s ease;
}
.nav-close-btn:hover {
	background: rgba(254,234,29,.12);
	border-color: var(--main-color);
}
html.active-nav .nav-close-btn { display: block; }
