/* General Style */ 

html{
	background-image: url("images/Titel2.jpg");
	background-repeat: no-repeat center center fixed;
	background-repeat: no-repeat center center fixed;
	-webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
	max-width:100%;
	min-width: 100%;
	min-height: 100%;
}

body {
	font-size:100%;
	margin:0em;
	padding:0em;
}


h1 {
	font-family:Helvetica;
	font-weight:100;
	font-weight: bold;
	color:white;
	margin:0em;
	text-align:center;
	margin-top: 1em;
}

h2::first-letter {
	color: #D23799;

}
h2 {
	font-size:3em;
	line-height:1.8em;
	font-family:Helvetica;
	font-weight:100;
	color:#FFFFFF;
	margin:0em;
	text-align:left;

}

h2 img {
	width: 10%;
}
h3 {
	font-size:1.2em;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-weight: bold;
	text-align: left;
	padding:0em 0.8em;
}

h4 {
	font-size: 1.8em;
	font-weight: normal;
	margin: 0em;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-weight:100;
	text-align: center;
}

h5 {
	padding: 0em;
	font-family: tahoma, arial, helvetica, sans-serif;
	font-size: 1em;
	padding:0em 0.8em;
}

h6{
	font-size:1.4em;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-weight: bold;
	text-align: center;
}

p {
	line-height:1.45em;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-weight:100;
	font-size: 1.2em;
	color:#FFFFFF;
	margin:0em;
	text-align:justify;
	padding:0em 0.8em;
}

table {
	width: 100%;
	padding:0em 0.8em;
}

table td {
	position:center;
	margin:0em 1.25em;
	padding: 12px;
    font-weight: normal;
    font-family:tahoma, arial, helvetica, sans-serif;
}


.bild td img{
	width: 100%;
}

.erste td{
	background-color: #bdbdbd;
	color: black;
	opacity: 0.80;
	font-family:tahoma, arial, helvetica, sans-serif;
}

.zweite td{
	background-color: #ededed;
	color: black;
	opacity: 0.80;
	font-family:tahoma, arial, helvetica, sans-serif;

}


.bio  {
	width: 90%;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-size: 1.4em;
 	font-weight: normal; 
 	margin-left: 8%;
 	
}

.kurs {
	font-size: 1em;
    text-align: left;
    font-weight: normal;
    font-family:tahoma, arial, helvetica, sans-serif;
    width: 100%;

}

.angebot {
	font-size: 1em;
    text-align: left;
    font-weight: normal;
    font-family:tahoma, arial, helvetica, sans-serif;
    width: 100%;

}

.termine{
	font-size: 1em;
    text-align: left;
    font-weight: normal;
    font-family:tahoma, arial, helvetica, sans-serif;
    width: 100%;

}

.kontakt {
	font-size: 1em;
    text-align: left;
    font-weight: normal;
    font-family:tahoma, arial, helvetica, sans-serif;
    width: 100%;
}

.formular {
	font-size: 1em;
    text-align: left;
    font-weight: normal;
    font-family:tahoma, arial, helvetica, sans-serif;
    width: 100%;
}


ul {
	margin:0px;
	padding:0em 2em 0em 2em;
	
}

li {
	list-style:square;
	font-family:Helvetica;
	font-weight:100;
	color:#FFFFFF;
	line-height:1.25em;
	margin:0em;
	margin:0.313em 0em 0.313em 0em;
}

#body1 img {
	width: 47%;
	height:auto;
	max-width:100%;
}

#body1 {
	margin:2em;
	text-align:center;
	font-size:1.5em;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-weight:100;
	font-weight: bold;
}

a {
	text-decoration: none;
}

.topnav {
  overflow: hidden;
  background-color:#fff;
  opacity: 0.9;
  box-shadow: 0 0 10px #aaa;
  font-family:tahoma, arial, helvetica, sans-serif;
  font-size: 20px;
}

.topnav a {
  float: left;
  display: block;
  color: #D23799;
  text-align: center;
  padding: 18px 18px;
  text-decoration: none;
  font-size: 20px;
  opacity: 0.8;

}

.topnav img {
	float: left;
	width: 50px;
    margin: 5px 5px ;
}

.active {
  color: #D23799;
}

.topnav .icon {
  display: none;
}

.dropdown {
    float: left;
    overflow: hidden;


}

.dropdown .dropbtn {
    font-size: 20px;    
    border: none;
    outline: none;
    color: #D23799;
    padding: 18px 18px;
    background-color: #fff;
    font-family: inherit;
    margin: 0;
    opacity: 0.8;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;

}

.dropdown-content a {
    float: none;
    color: black;
    padding: 12px 12px;
    text-decoration: none;
    display: block;
    text-align: left;
    font-size: 13px;
}

.topnav a:hover, .dropdown:hover .dropbtn {
  background-color: #555;
  color: white;
}

.dropdown-content a:hover {
    background-color: #ddd;
    color: black;

}

.dropdown:hover .dropdown-content {
    display: block;
}

@media screen and (max-width: 900px) {
  .topnav a:not(:first-child), .dropdown .dropbtn {
    display: none;
  }
  .topnav a.icon {
    float: right;
    display: block;
  }
}

@media screen and (max-width: 900px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
  .topnav.responsive .dropdown {float: none;}
  .topnav.responsive .dropdown-content {position: relative;}
  .topnav.responsive .dropdown .dropbtn {
    display: block;
    width: 100%;
    text-align: left;
  }
}

@media screen and (max-width: 600px) {
	table {
		width: 100%;
		margin: 0;
		border: none;
		font-size: 75%;
	}

.bio  {
	width: 90%;
	font-size: 80%;
}


.kurs {
    width: 100%;
    font-size: 57%;
}

.angebot {
	width: 100%;
	font-size: 54%;
}
p{
	font-size: 90%;
}

p img {
	width: 90%;
}

h2 img {
	width: 30%;
}

.bild td img {
	width: 100%;
}

h2{
	font-size: 195%;
}
body {
		font-size:86%;
	}

footer{
		size: 86%;
	}
	}




/* Content Area */ 

#background {

}

#main {
	position:center;
	display:block;
	color:white;
	border-radius:5px;
	max-width:980px;
	margin:2.25em auto;
	padding:1.25em;
	/*background-color:#FFFFFF;*/
	background-image:url("images/transparent.png");
	
}

#main a{
	font-weight: bold;
	color: #D23799;
} 



/* Das Kontaktformular */ 
form {
  width: 100%; /* Breite des Formulars */
  text-align: left;
  padding:0em ;
  
}

label { /* Beschriftung auf eigener Zeile */
  line-height:1.25em;
	font-family:tahoma, arial, helvetica, sans-serif;
	font-weight:100;
	color:#FFFFFF;
	margin:0em;
	text-align:justify;
 	cursor: pointer; /* Mauszeiger wird zur Hand */
}

input#absender,
textarea {
  width: 100%;
  height: 5em;
  border: 1px solid #8c8c8c;
  margin-bottom: 1em;
  border-radius:5px;
}
textarea {
  height: 12em;
  width: 80%;
  border-radius:5px;
}

input:focus,
textarea:focus {
 
}

#walter img {
	width: 80%;
	display: block;
    margin-left: auto;
    margin-right: auto
	
	}

iframe {
	width: 100%;
}


/*Footer */ 
footer {
	background:#2F2C2C;
	font-weight: bolder;
    left: 0px;
    bottom: 0px;
    width: 100%;
    opacity: 0.7;
    position: fixed;
    width:100%;
}

footer ul {

	text-align:center;
	font-family:tahoma, arial, helvetica, sans-serif;
	text-align:center;
	margin:0px auto;
}

footer ul li {
	display:inline;
	font-size:0.8em;
	line-height:2.8em;
	color:#E2DBDB;
}

footer ul li a {
	color:#E2DBDB;
}

footer ul li a:hover {
	background:#DBD9D8;
	color:#2F2C2C;
	border-bottom: 0.188em solid #2F2C2C;
}

.neon {
    font-family: sans-serif;
    text-transform: uppercase;
    font-size: 60px;
    font-weight: bold;
    font-style: helvetica;
    letter-spacing: .1em;
	text-align:center;
    color: white;
    text-shadow: 0 0 40px white,
                 0 0 40px white,
                 0 0 20px #e80c7a,
                 0 0 40px #e80c7a,
                 0 0 60px #e80c7a,
                 0 0 90px #e80c7a,
                 0 0 120px #e80c7a,
                 0 0 160px #e80c7a;
}

.neon1 {
    font-family: sans-serif;
    text-transform: uppercase;
    font-size: 25px;
    font-weight: bold;
    font-style: helvetica;
    letter-spacing: .1em;
	text-align:center;
    color: white;
    text-shadow: 0 0 40px white,
                 0 0 40px white,
                 0 0 20px #e80c7a,
                 0 0 40px #e80c7a,
                 0 0 40px #e80c7a,
                 0 0 70px #e80c7a,
                 0 0 100px #e80c7a,
                 0 0 1400px #e80c7a;
}	


#groups {
    margin: 20px 0;
    display: flex;
    flex-wrap: wrap;  /* Ermöglicht, dass die Buttons in mehreren Zeilen umbrochen werden */
    justify-content: center;
    gap: 10px;
}

.group-button {
    padding: 10px 20px;
    background-color: #e80c7a;  /* Standard Hintergrundfarbe für Buttons */
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.active-group-button {
    background-color: white;  /* Beispiel: Blaue Hintergrundfarbe */
    color: #e80c7a;                /* Weiße Textfarbe */
}

.group-button:hover {
	background-color: white;  /* Standard Hintergrundfarbe für Buttons */
    color: #e80c7a;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));  /* Flexibles Grid */
    gap: 20px;
    margin: 20px;
    padding: 0 10px;
}

.gallery img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    margin-top: 10px;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery img:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Modal Styling */
.modal {
    display: none; /* Standardmäßig nicht sichtbar */
    position: fixed;
    z-index: 1; /* Überlagernd */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8); /* Hintergrund schwarz mit Transparenz */
    padding-top: 60px;
}

.modal-content {
    margin: auto;
    display: block;
    max-width: 80%;
    max-height: 80%;
    margin-bottom: 20px;
    border-radius: 8px;
}

/* Close button */
.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* Navigation Pfeile (Vorheriges und Nächstes) */
.nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    color: white;
    background-color: transparent;
    border: none;
    cursor: pointer;
    z-index: 10;
    padding: 10px;
}

#prev {
    left: 10px;
}

#next {
    right: 10px;
}

/* Hover-Effekt für Pfeile */
.nav-btn:hover {
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
}

/* Responsivität */
@media (max-width: 768px) {
    .gallery {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); /* Kleinere Bilder auf Tablets */
    }

    .group-button {
        padding: 8px 16px;
        font-size: 14px;
    }

    h1 {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .gallery {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); /* Bilder werden noch kleiner auf Mobilgeräten */
    }

    .group-button {
        padding: 6px 12px;
        font-size: 12px;
    }

    h1 {
        font-size: 1.2rem;
    }
}