:root {
	/* Grundfarben definieren */
	--hauptfarbe: rgb(136, 37, 55);					/* dunkelrot:		rgb(136, 37, 55)		#882537 */
	--zusatzfarbe: rgb(225, 200, 205);				/* hellrot:			rgb(225, 200, 205)		#E1C8CD */
	--zusatzfarbe2: rgb(245, 236, 238);				/* sehr hellrot:	rgb(245, 236, 238) */
	--textfarbe: grey;
	--schattierung: var(--textfarbe);
	--menutextfarbe: var(--hauptfarbe);
	--menuhintergrundfarbe: var(--zusatzfarbe2);
	--menuhintergrundfarbe2: var(--hauptfarbe);
	--menurahmenfarbe: var(--menutextfarbe);
}

pendenz {
	background-color: yellow;			/* Um Stellen zu markieren, die noch bearbeitet werden müssen. */
}


* {
	_border: 1px black solid;
}

/* ---------------------------------------------------------------- */

* {
	font-family: Arial, Helvetica, sans-serif;
	color: var(--textfarbe);
}


body {
	margin: 0px;
	font-size: 120%;   	 /* allgemeine Textgrösse prozentual anpassen */
}

p {
	margin-bottom: 0px;
}

h4 {
	margin-bottom: 0.3em;
}

ul, sl {
	margin-top: 0.2em;
	margin-bottom: 0.2em;
}

a.nondecoration {
	text-decoration: none;
}

header {
	height: 150px;
	width: 100%;
	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 900;
	
	background-image: url('../img/logo_hintergrund.png');
	background-size: 100% 100%;
	background-repeat: repeat;	/* Hintergrund repetieren */
}

header img {
	margin: 30px 0px 0px 5px;     /* oben rechts unten links */
}

.titellogo {
	position: absolute;
	top: 0;
	left: 0;
	width: 450px;
	max-width: 70vw;
}

nav {
	position: absolute;
	_bottom: 0;
	_right: 0;
}

nav li {
					_padding-left: 30px;
}

nav a>img {
    margin: 5px 5px 0px 0px;
}

content {
	margin-top: 110px;
}


main {
	margin: 0px 10px 50px 10px;     /* oben rechts unten links */
}
															/* http://www.professorweb.de/css/bilder-mit-css-beschneiden.html */
															.banner_TEST {
																width:100vw;
																max-height:400px;
																overflow:hidden;
																
																border: solid red 5px;
																
																_display: block;
															}

															.banner_TEST img {
																position: relative;
																width: 100vw;
																
															}


.banner img {
	position: relative;
	width: 100vw;
	height: 100%;
}

segment ~ .hintergrundsfarbe {
	background-color: rgba(174, 212, 233, 0.4);
}

article {
	
}

section {
	
}

section div {
	
}




th {
	text-align: left;
}


.flyer {
	_max-width: 800px;
}



.gerade {
	
}

.ungerade {
	background-color: rgba(170, 170, 170, 0.3);
}



.Textblock_unterteilt {
	margin-left: -10px;
	margin-right: -10px;
}

.Textblock_unterteilt div {
	padding: 10px;
}


.traininszeiten section * {
	text-decoration: none;
}

.traininszeiten section, .aktuelles section {
	padding-bottom: 10px;
}

.traininszeiten .bezeichnung, .aktuelles .bezeichnung {
	flex: 0 0 11em;
	font-weight: bold;
}




.jahresprogramm .Eintrag {
	padding: 5px 5px 5px 5px;	/* oben rechts unten links */
}

.jahresprogramm .Zeit {
	font-weight: bold;
	_width: 12em;
	_max-width: 12em;
}

.jahresprogramm .Event {
	_width: 30em;
	_max-width: 30em;
	margin-right: 10px;
}

.jahresprogramm .Ort {
	_width: auto;
	margin-right: 10px;
}

.jahresprogramm .Bemerkung {
	_width: auto;
	font-style: italic;
	font-size: 0.8em;
	
	_display: block;
	_text-align: right;
}

.jahresprogramm .erledigt * {
	color: #D2D2D2;
	_font-style: italic;
}

.jahresprogramm .ausstehend * {
	
}







.angeboticons a {
		text-decoration: none;
}



				.ICONBILD {
					_opacity: 0.3;				/* Transparenzgrad des Bildes (https://www.w3schools.com/css/css_image_transparency.asp) */
					_filter: alpha(opacity=30);	/* For IE8 and earlier */
				}

.angeboticons .icon, .angeboticons .iconbeschriftung {
	width: 150px;
	height:150px;
	
	margin: 10px;
	
	border-radius: 50%;
}

.angeboticons .icon {
			_background: red;
	
		__-webkit-background-size: contain;		/* auf Grösse des ungebenden Elementes anpassen */
	background-size: contain;		/* auf Grösse des ungebenden Elementes anpassen */
	background-position: center;	/* horizontal zentrieren */
	background-repeat: no-repeat;	/* Hintergrund nicht repetieren */

	transition: all 0.5s;
	
}

.angeboticons .icon:hover {
		__-webkit-transform: scale(1.5);
	transform: scale(1.5);
					_z-index: -999;						/* als unterstes Element definieren, damit dieses Element nicht andere Links verdeckt */
}


.angeboticons .iconbeschriftung {
			_border: 2px solid blue;
	
	font-style: bold;
	color: var(--zusatzfarbe);
	__text-shadow: 0 0 2px var(--hauptfarbe);
	    text-shadow: 1px  1px 1px var(--hauptfarbe),		/* dunkler Rahmen um den Text */
					1px -1px 1px var(--hauptfarbe),
					-1px  1px 1px var(--hauptfarbe),
					-1px -1px 1px var(--hauptfarbe);
	
	text-align: center;	
	display: table-cell;			/* damit das Element als Tabelle angesehen wird => ist nötig für die vertikale Aausrichtung */
	vertical-align: middle;

	transition: all 0.5s;
	_font-size: 0px;
	
	_position: absolute;
	_position: relative;
	_top: 50%;
	
		__-webkit-transform: scale(1);
	transform: scale(1);			/* damit sich das Element nach dem Hover wieder fliessend zurücktransformiert (ansonsten würde es übergangslos zurück springen) */

	_margin-top: 200px;
	
}

.angeboticons .iconbeschriftung:hover {
		__-webkit-transform: scale(1);
	transform: scale(1.5);
	font-size: 1.3em;
					position: relative;
					z-index: 900;						/* als oberstes Element definieren, damit dieses Element nicht von den anderen Elementen verdeckt wird */
}










figure {
	width: 200px;
	box-shadow: 10px 10px 40px var(--schattierung);	/* nach_rechts   nach_unten   Härte   Farbe */
	background-color: var(--hauptfarbe);
	border-radius: 5px;
	overflow: hidden;
	transition: all 0.5s;
}

.links figure {
	width: 300px;
}

.goenner figure {
	width: 300px;
}

figure:hover {
	transform: scale(1.4,1.4);
}

figure img {
	width: 100%;
	background-color: white;
	
}

figcaption {
	padding: 5px;
}

figcaption, figcaption * {
	width: auto;
	color: #FFFFFF;
}



.links {
	float: left;
	margin-right: 10px;
	margin-left: 0px;
	margin-top: 0px;
}

.rechts {
	float: right;
	margin-left: 10px;
	margin-right: 0px;
	margin-top: 0px;
}



.photogallery img {
	height: 90px;
	width: auto;
	
	margin: 10px;
	border-radius: 5px;
	box-shadow: 10px 10px 40px var(--schattierung);	/* nach_rechts   nach_unten   Härte   Farbe */
	
	transition: all 0.5s;
}

.photogallery img:hover {
	transform: scale(1.4,1.4);
}


.kontakt section, .bestellung section {
	margin: 1em 1em 0 0;    				/* oben rechts unten links */
}


.kontakt button, .bestellung button {
	margin-left: auto;
	margin-top: 5px;
    border-radius: 5px;
    padding: 0.5em;
    font-weight: bold;	
}


#captcha_userinput {
	Text-align: center;
	height: 34px;
	margin-left: 5px;
}


.bestellung select {
	width : 10em;
}




Eingabevalidierung {
	_background-color: #ffd9cc;
	_border: 2px solid red;
	padding: 5px;
	margin-bottom: 10px;
	font-size: 0.8em;
}

Eingabevalidierung, Eingabevalidierung * {
	color: red;	
}

Eingabevalidierung_Titel {
	font-size: 1.2em;
	font-weight: bold;
}



info {
	font-size: 0.6em;
	_margin-top: -20px;
    margin-bottom: -10px;
}

fileinfo {
	font-size: 0.6em;
	margin-left: 2em;
}

fehler, .wichtig, .wichtig * {
	color: red !important;
}


erfolg {
	color: blue !important;
}







#zum_seitenanfang {
	position: fixed;
	bottom: 50px;
	right: 50px;

	width: 50px;
	height: 50px;
	text-align: center;
		_vertical-align: middle;
	text-decoration: none;
	color: rgba(85, 85, 85, 0.4);
	background-color: rgba(85, 85, 85, 0.1);
	border: 1px solid; 
	border-radius: 5px;
	border-color: rgba(85, 85, 85, 0.5);
    
		__background-image: url("../img/up-icon.png");
		__background-repeat: no-repeat;
		__background-position: center;
}

#zum_seitenanfang img{
	height: 30px;
	margin-left: auto;
	margin-top: 10px;
	opacity: 0.3;				/* Transparenzgrad des Bildes (https://www.w3schools.com/css/css_image_transparency.asp) */
	filter: alpha(opacity=30);	/* For IE8 and earlier */
}

#zum_seitenanfang a {
	text-decoration: none;
	vertical-align: middle;
	font-size: 30px;
}







footer {
	background-color: var(--zusatzfarbe);
	border-top: 4px var(--hauptfarbe) solid;
	
	padding-bottom: 10px;						/* genügend Platz nach unten */
}

footer div {
	padding-top: 15px;
	padding-bottom: 15px;
	text-align: center;
}

footer * {
	color: #882537;
	text-decoration: none;
}

footer main {
	margin-bottom: 0px;
}


#footer {
	position: relative;
}


#brotec {
	position: absolute;
	bottom: -25px;
	right: 0px;
}

#brotec a {
	font-size: 0.5em;
	font-weight: bold;
	text-align: right;
	margin-left: 0.7em;
	text-decoration: none;
	_color: #FFFFFF;
}

#brotec a:hover {
	font-size: 1em;
}






/* Für grössere Display's   ==> ab ?????? */
@media screen and (min-width: 600px) {
	#footer #adresse {
		text-align: left;
		order: 1;
	}
	
	#footer #dienstleistungen {
		text-align: center;
		order: 3;
	}	
	
	#footer #kontakt {
		text-align: right;
		order: 2;
	}
}


@media screen and (min-width: 1000px) {
	#footer #adresse {
		text-align: left;
		order: 1;
	}
	
	#footer #dienstleistungen {
		text-align: center;
		order: 2;
	}	
	
	#footer #kontakt {
		text-align: right;
		order: 3;
	}
}




/* Für grössere Display's   ==> ab 400px */
@media screen and (min-width: 400px) {
	.photogallery img {
		height: 120px;
	}
}


/* Für mittelgrosse Display's   ==> zwischen 1000px und 1600px (also kleinere Notebooks und Tablets, aber keine Handy's) */
@media screen and (min-width: 1000px) and (max-width: 1600px) {
	.angeboticons section {
		padding: 60px;
	}
}


/* Mehrspaltiges Layout für grössere Display's   ==> ab 100px */
@media screen and (max-width: 30em) {
	.jahresprogramm .Event {
		_width: auto;
		_max-width: auto;
	}
}


/* Captcha-Feld-Breite ab bestimmter Seitenbreite begrenzen und Button (bei 1-spaltig) auf gleiche Höhe wie Captcha-Feld bringen   ==> ab 585px */
@media screen and (min-width: 585px) {
	#captcha_userinput {
		max-width: 150px;
	}
	.kontakt button, .bestellung button {
	margin-top: 0px;
	}
}













