body {
	font-family: 'trebuchet_msregular';
	font-size: 15px;
	color: #808080;
	line-height: 140%;
	padding: 0;
	margin: 0 0 0 0;
	background-color: #ecead8;
}

img {max-width:100%; height:auto;}

a:link, a:visited, a:active {
	color: #6192bb;
	text-decoration: none;
	font-weight: bold;
	text-shadow: 0px 1px 8px rgba(0,0,0,0.3);
	transition: 0.5s all;
}
a:hover {
	color: #6192bb;
	text-decoration: none;
	font-weight: bold;
	text-shadow: 0px 3px 3px rgba(0,0,0,0.5);
}

p { line-height: 150%; margin: 5px 0 2px 0; }

hr {
	margin: 15px 0px 15px 0px;
	border: none;
	border-bottom: solid #35a7ff 1px;
	height: 1px;
	width: 100%;
}

/* ==========================================================
   Formularfelder – Farben passend zu drehorgel-tanzbaer.ch
   Gelb  #fdca01  (Header/Footer)
   Blau  #6192bb  (Links, Überschriften)
   Hell  #F2F1E6  (Seitenhintergrund)
   Text  #333     (gut lesbar in Feldern)
   ========================================================== */

:root {
	--tb-yellow:      #fdca01;
	--tb-yellow-dark: #e6b800;
	--tb-yellow-line: #c9a000;
	--tb-blue:        #6192bb;
	--tb-blue-dark:   #4a7aa3;
	--tb-blue-soft:   rgba(97, 146, 187, 0.45);
	--tb-focus-ring:  rgba(253, 202, 1, 0.45);
	--tb-text:        #333;
}

/*Felder*/
.input_name_field,
.input_message_field,
.input_mail_field,
.input_website_field,
textarea,
input[type=text],
input[type=email],
input[type=password],
input[type="date"],
input[type="time"],
input[type=number],
select {
	font-family: 'trebuchet_msregular', 'Open Sans', Arial, sans-serif;
	font-size: 15px;
	border: 1px solid var(--tb-blue);
	border-radius: 5px;
	background: #fff;
	color: var(--tb-text);
	padding: 4px 8px 4px 8px;
	box-sizing: border-box;
	transition: border-color .2s, box-shadow .2s;
}

textarea { width: 250px; max-width: 100%; }
select   { min-width: 268px; max-width: 100%; }

input[type=number] {
	width: 50px;
	letter-spacing: 5px;
}

/* Fokus: gelber Ring statt Browser-Standard */
.input_name_field:focus,
.input_message_field:focus,
.input_mail_field:focus,
.input_website_field:focus,
textarea:focus,
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type=number]:focus,
select:focus {
	outline: none;
	border-color: var(--tb-yellow-line);
	box-shadow: 0 0 0 3px var(--tb-focus-ring);
}

/* Buttons: Tanzbär-Gelb mit schwarzer Schrift (wie der Footer)
   Menü-Buttons (#menuswitch, #menuclose) sind ausgenommen */
button[type=button]:not(#menuswitch):not(#menuclose),
input[type=submit] {
	font-family: 'trebuchet_msregular', 'Open Sans', Arial, sans-serif;
	border: 1px solid var(--tb-yellow-line);
	border-radius: 5px;
	background: var(--tb-yellow);
	color: #000;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0px;
	word-spacing: 0px;
	padding: 4px 12px 4px 12px;
	width: auto;
	cursor: pointer;
	box-shadow: 4px 3px 5px 1px var(--tb-blue-soft);
	transition: background-color .2s, box-shadow .2s, transform .1s;
}
button[type=button]:not(#menuswitch):not(#menuclose):hover,
input[type=submit]:hover {
	background: var(--tb-yellow-dark);
}
button[type=button]:not(#menuswitch):not(#menuclose):focus-visible,
input[type=submit]:focus-visible {
	outline: 2px solid var(--tb-blue);
	outline-offset: 2px;
}
button[type=button]:not(#menuswitch):not(#menuclose):active,
input[type=submit]:active {
	transform: scale(0.99);
	box-shadow: 1px 1px 2px 0px var(--tb-blue-soft);
}

/* Checkbox */
input[type="checkbox"] { display: none; }

input[type="checkbox"] + label {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 5px;
	font: 14px/20px 'Open Sans', Arial, sans-serif;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--tb-blue);
	background: #fff;
	border-radius: 3px;
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}

input[type="checkbox"] + label:hover:before {
	border-color: var(--tb-yellow-line);
}

/* Haken in Gelb-Dunkel, damit er sich vom Blau abhebt */
input[type="checkbox"]:checked + label:before {
	width: 10px;
	top: -5px;
	left: 5px;
	border-radius: 0;
	background: transparent;
	opacity: 1;
	border-color: var(--tb-yellow-line);
	border-top-color: transparent;
	border-left-color: transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* Radio */
input[type=radio] {
	--c: var(--tb-yellow-line);   /* aktive Farbe */
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	margin: 0 5px -4px 0;
	padding: 0;
	border: 2px solid var(--tb-blue);
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 3px #fff;   /* weisser Ring, unchecked unsichtbar */
	outline-offset: 2px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	font-size: inherit;
	transition: background-color .2s, border-color .2s;
}
input[type=radio]:checked {
	border-color: var(--c);
	background: var(--c);               /* gefüllt, der weisse Ring lässt in der Mitte den Punkt stehen */
}
input[type=radio]:focus-visible {
	outline: 2px solid var(--tb-blue);
}

/* Captcha */
.captcha_iframe {
	font-family: 'trebuchet_msregular', 'Open Sans', Arial, sans-serif;
	border: 1px solid var(--tb-blue);
	border-radius: 5px;
	background: #fff;
	color: var(--tb-text);
	font-size: 15px;
	letter-spacing: 0px;
	word-spacing: 0px;
	padding: 0px 0px 0px 0px;
	margin: 0 0 0 -3px;
	cursor: pointer;
}

/* Datei-Auswahl-Button */
input::file-selector-button {
	font-family: 'trebuchet_msregular', 'Open Sans', Arial, sans-serif;
	border: 1px solid var(--tb-yellow-line);
	border-radius: 5px;
	background: var(--tb-yellow);
	color: #000;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0px;
	word-spacing: 0px;
	padding: 2px 8px 2px 8px;
	width: auto;
	cursor: pointer;
	transition: background-color .2s;
}
input::file-selector-button:hover {
	background: var(--tb-yellow-dark);
}
/*Scrollbar*/
::-webkit-scrollbar {
  width: 15px;
}
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 10px #ddd;
	background: #e6b800;
}
::-webkit-scrollbar-thumb {
/*  background-color: #6192bb; /*6192bb c9a000 e6b800*/
	background: rgba(97, 146, 187, 0.45);
}


/***********************************
container
************************************/
#mainContainer { 
	max-width: 100%;
	width:1920px;
	margin: 0 auto;
}

#container {
	background-color: #ecead8;
	box-shadow: 0 20px 50px 0 rgba(0, 0, 0, 0.1);
}

#sidebar {
	float: left;
	width:190px;
	vertical-align: top;
	background-color: #ecead8;
	margin-top: 25px;
	margin-left: 0px;
	padding: 0px;
	position: sticky;
  top: 0px;
}

#tools {
	float: left;
	width: 170px;
	color: #666;
	text-align: left;	
	background-color: #ecead8; 
	font-size: 100%;
	padding: 5px 0 0 15px;
	
}
.tools input {
	width: 80%;
	font-size: 80%;
}
.tools a:link, .tools a:visited, .tools a:active {
	color: #999;
	text-decoration: none;
}
.tools a:hover {
	color: #FFF;
	text-decoration: none;
}
/* Back to Top */
#backtotop {
  display: inline-block;
  background-color: #909090;
  width: 30px;
  height: 30px;
  text-align: center;
  border-radius: 4px;
  position: fixed;
  bottom: 5px;
  right: 5px;
  transition: background-color .5s, 
  opacity .5s, visibility .5s;
  opacity: 0.4;
  visibility: hidden;
  z-index: 1000;
}
#backtotop::after {
  content: "\f077";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  font-size: 25px;
  line-height: 30px;
  color: #ffffff;
}
#backtotop:hover {
  cursor: pointer;
  background-color: #606060;
}
#backtotop:active {
  background-color: #909090;
}
#backtotop.show {
	opacity: 0.4;
  visibility: visible;
}

/* Der Hauptcontainer für das Raster */
.bild-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px; /* Etwas mehr Abstand für den Text */
}

/* Die Box, die Bild + Text zusammenhält */
.grid-item {
  display: flex;
  flex-direction: column; /* Stapelt Bild und Text untereinander */
}

/* Das Bild innerhalb der Box */
.grid-item img {
  height: 200px;
  object-fit: cover;
  border-radius: 8px;
}

.link-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  column-gap: 16px;
  row-gap: 40px;          /* Abstand zwischen den Zeilen – hier anpassen */
  margin-top: 22px; 
}

.link-col {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.link-col strong {
  display: flex;
  align-items: flex-start;   /* Text oben ausrichten, damit erste Zeile immer gleich hoch startet */
  justify-content: center;
  min-height: 55px; /* Abstand von der Schrift zum Logo */
  text-align: center;
}

.link-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100px;          /* feste Höhe statt automatisch */
  padding: 0 16px;         /* nur noch seitliches Padding, Höhe kommt von "height" */
  border: 1px solid #fff;
  border-radius: 10px;
  box-sizing: border-box;
  width: 100%;
}

.link-item img {
  display: block;
  max-width: 100%;
  max-height: 70px;       /* etwas kleiner als die Box-Höhe, damit Rand bleibt */
  width: auto;
  height: auto;
  object-fit: contain;
}

/***********************************
main content
************************************/
#mainContent {
	padding: 20px;
	background-color: #F2F1E6;
	position: relative;
	vertical-align: top;
	text-align: left; 
    margin-left:190px;
	margin-top: -5px;
	min-height:400px;
}

#mainContent a:hover {
	color: #6192bb;
}

/*.illustrations {
	float:right;
	width: 200px;
	margin: 0px 0px 0px 0px;
	position: relative;
	background-color: #ecead8;
}
*/
h1, h2, h3, h4, h5, h6 { text-shadow: 0px 1px 5px #aaa; }
#mainContent h1 {
	font-size: 36px;
	line-height: 90%;
	font-weight: 300;
	color: #6192bb;
	margin: 18px 0 10px 0;
}
#mainContent h2 {
	font-size: 24px;
	font-weight: 400;
	color: #6192bb;
	margin: 18px 0 10px 0;
}
#mainContent h3 {
	font-size: 20px;
	color: #35a7ff;
	margin: 18px 0 10px 0;
}
#mainContent h4 {
	font-size: 18px;
	color: #35a7ff;
	margin: 18px 0 10px 0;
}
#mainContent h5 {
	font-size: 15px;
	color: #35a7ff;
	margin: 18px 0 10px 0;
}
#mainContent h6 {
	font-size: 12px;
	color: #35a7ff;
	margin: 18px 0 10px 0;
}

.grid {
  display: grid;
  gap: 10px;
	grid-template-columns: 70% 30%;
}
.main {
	padding: 0 15px 0 0;
}
.side {
	padding: 0 10px 0 25px;
	border-left: 1px solid #fdca01;
}
.main,
.side {
  /*nix*/
}

@media(max-width: 900px){
  .grid {
	  grid-template-columns: 100%; 
  }
	.side {
	border-left: none;
		border-top: 2px solid #fdca01;
		padding: 20px 0 0 0;
  }
	.main {
	padding: 0 0 10px 0;
  }
}

/***********************************
separator
************************************/

#clear
	{
	clear: both;
	height:0;
	}
/***********************************
footer
************************************/

.thrfooter{
	background-color: #fdca01;
	border-top: 1px solid #ddd;
	padding: 25px 0px 15px 0px;
	text-align: center;
	color: #6192bb;
	 		font-weight: bold;
	        font-style: normal;
	        font-size: 25px;  
}
.thrfooter a {
	        color: #6192bb;
			text-decoration: none; 
}
.thrfooter a:hover {
				color: #fff;
				text-decoration: none; 
}
.footer{
	background-color: #fdca01;
	padding: 15px 0px 25px 0px;
	text-align: center;
	color: #6192bb;
	 		font-weight: bold;
	        font-style: normal;
	        font-size: 16px;  
}
.footer a {
	        color: #6192bb;
			text-decoration: none; 
}
.footer a:hover {
				color: #fff;
				text-decoration: none; 
}
.copyright{
	background-color: #fdca01;
	padding: 0px 0px 25px 0px;
	text-align: center;
	font-weight: bold;
	font-style: normal;
	font-size: 16px;  
}
.copyright a {
	        color: #6192bb;
			text-decoration: none; 
}
.copyright a:hover {
				color: #fff;
				text-decoration: none; 
}

/*Show and Hide Responsive*/
.hideOnDesktops {display: none;}	
#mobilebar, #menu-backdrop, .drawer-head { display: none; }
