/******************
 *   style.css    *
 ******************/

@import 'googlefonts.css';

/***** RESET *****/ 
* {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 1em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	list-style-type: none;
	text-decoration: none;
}

/***** BASE STYLES *****/

strong {
	font-size: 1.0em;
	font-weight: bold;
	color:inherit;
}


ul, li {
	list-style: square;
	margin-left: 1.0em;
	padding-left: 0.5em;
	color: gray;
}

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


.imglinks {
    float: left;
    margin-right: 10px;
	/*width: 50%;
	height: auto;*/
}

.imgtextmittig {
    float: left;
    vertical-align: middle;
	width: 32px;
	height: auto;
}

.imgtextmittiglinks {
    vertical-align: middle;
}

#marker h3 {
	font-size: 1.2em;
	font-weight: 700;
	margin-left: 0;
	margin-bottom: 0em;
	padding-left: 0em;
	color: rgb(0,51,51);
}

#marker h4 {
	font-size: 1.0em;
	font-weight: 700;
	margin-bottom: 0em;
	color: black;
}

#marker p {
	font-size: 1.0em;
	font-weight: 600;
	color: black;
}

h1 {
	font-weight: 900;
	font-size: 5vw;
	color: rgb(0,51,51);
}

h2 {
	font-weight: 700;
	font-size: 2vw;
	color: white;
    color: rgb(0,51,51);
}

h3 {
	font-weight: 700;
	font-size: 1.4rem;
	padding-left: 1.0em;
	margin-bottom: 0.5em;
	color: rgb(0,51,51);
}

h4 {
	font-weight: 700;
	font-size: 1.1rem;
	padding-left: 1.0em;
	padding-top: 0.5em;
	margin-bottom: 0.5em;
	color: rgb(0,51,51);
}

h5 {
	font-weight: 700;
	font-size: 1.0rem;
	padding-left: 1.0em;
	color: rgb(0,51,51);
}

article h1 {
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.5em;
	padding-left: 1.0em;
	margin-top: 1.5em;
	margin-bottom: 1.0em;
	color: red; /*rgb(0,51,51);*/
}

article h2 {
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.5em;
	padding-left: 1.0em;
	margin-top: 1.5em;
	margin-bottom: 1.0em;
	color: rgb(0,51,51);
}

article h3 {
	font-weight: 700;
	font-size: 1.2em;
	line-height: 1.0em;
	margin-top: 1.0em;
	margin-bottom: 1.0em;
	padding-left: 1.0em;
	padding-right: 1.0em;
	color: rgb(0,51,51);
}

article  p {
	font-weight: 400;
	font-size: inherit;
	padding-left: 1.0em;
	padding-right: 1.0em;
	text-align: justify;
	color: gray;
}

article  a {
	font-weight: 400;
	font-size: inherit;
	padding-left: 2.0em;
	padding-right: 2.0em;
	text-align: justify;
	color: gray;
}

 a.menu-button {
 	font-weight: 900;
 	font-size: inherit;
 	padding-left: 0em;
 	padding-right: 0em;
 	color: rgb(0,51,51);
 }
 
.pdflinks {
    float: left;
    vertical-align: middle;
    width: 32px;
    height: 32px;
    margin-left: 1.0em;
    margin-bottom: 1.0em;
    margin-top: 1.0em;
} 

a[href^="./"]{
	font-weight: inherit;
	font-size: inherit;
	padding-left: 0em;
	padding-right: 0em;
    padding-top: 1.0em;
    margin-top: 1.0em;
	color: royalblue;
}

a[href^="./"]:hover {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: crimson;
}

a[href^="./"]:focus {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: purple;
}

a[href^="/"]{
	font-weight: inherit;
	font-size: inherit;
	padding-left: 0em;
	padding-right: 0em;
	color: royalblue;
}

a[href^="/"]:visited {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: purple;
}

a[href^="/"]:hover {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: green;
}

a[href^="/"]:visited:hover {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: crimson;
}

a[href^="/"]:focus {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: black;
}

a[href^="http"] {
	font-weight: inherit;
	font-size: inherit;
	padding-left: 0em;
	padding-right: 0em;
	color: royalblue;
}

a[href^="http"]:hover {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: crimson;
}

a[href^="mailto"]:hover {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: crimson;
}

a[href^="mailto"]:focus {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: purple;
}

a[href^="http"]:focus {
	font-weight: inherit;
	font-size: inherit;
	text-decoration: underline;
	text-align: left;
	color: purple;
}

aside-left > div h2, aside-right > div h2  {
	font-size: 1.0em;
	font-weight: 700;
	padding-left: 1.0em;
	padding-right: 0.5em;
	color: rgb(85,119,174);
}

aside-right > div h3  {
	font-size: 1.0em;
	font-weight: 700;
	padding-left: 1.0em;
	padding-right: 0.5em;
	padding-top: 1.0em;
	color: rgb(85,119,174);
}

aside-left > div h4 {
	font-size: 0.8em;
	font-weight: 700;
	padding-left: 1.0em;
	padding-right: 0.5em;
	padding-top: 0.5em;
	padding-bottom: 0em;
	color: black;
}

aside-left > div h5 {
	font-size: 0.8em;
	font-weight: 700;
	padding-left: 1.0em;
	padding-top: 0.5em;
	color: gray;
}

aside-left  strong {
	font-size: 0.9em;
	font-weight: 700;
	padding-left: 1.0em;
	padding-top: 2.5em;
	padding-bottom: 1.5em;
	color: crimson;
}

aside-left > div a {
	font-size: 0.8em;
	padding-left: 1.0em;
	color: gray;
}
		
aside-right p  {
	font-size: 0.9em;
	padding-left: 1.0em;
	padding-top: 0.5em;
	padding-bottom: 0.3em;
	color: gray;
}

aside-right > div a {
	font-size: 0.8em;
	padding-left: 1.2em;
	color: gray;
}

aside-left a, aside-right a,
foto-description a, foto-image a {
	font-size: 0.8em;
	padding-left: 1.0em;
	color: gray;
}

table {
	width: auto;
	padding-left: 1.0em;
	table-layout: auto;
	empty-cells: show;
}

table td {
	font-weight: 400;
	font-size: 0.8em;
	padding-right: 0.3em;
	color: gray;
}

td a {
	font-weight: 400;
	font-size: inherit;
	width:100%;
	text-align: left;
	color: rgb(0,51,51);
}

.footer > div p {
	font-size: 0.8em;
	padding-left: 0.5em;
	color: white;
}

.footer-button a {
	font-size: 0.8em;
	padding-left: 1.0em;
	text-decoration: underline;
	color: white;
}

.footer-button > .active {
	color: yellow;
}

#map {
	width: 100%;
	height: 500px;
	margin-top: 2em;
	margin-bottom: 2em;
}


/***** PAGE LAYOUT STYLES *****/

html, body {
	font-family: 'Lato', sans-serif;
	height: 100%;
	margin: 0;
}

.wrapper {
	min-height: 95%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	flex-grow: 1;
}

header {
	flex: none;
	min-height: 10%;
	background-color: rgb(0,51,51);
}
	
nav {
	flex: none;
    min-height: 1%;
	/* min-height: 5%; */
	z-index: 1000; /* test 25.2.19 */
	/*background-color: silver;*/
}
/***********23.10.2018*******/
@supports (position: sticky) {
	nav {
		position: sticky;
		top:0;
		background:#79c140;
	}
}

/****
@supports not (position: sticky) {
	nav {
		position: fixed;
		top:0;
		width:100%;
		background:#c03535;
	}
}
****/
.content {
    display: flex;
	align-items: stretch;
    min-height: auto;
	background-color: white;
    border-bottom: 1px solid gray;
	flex-grow: 1;
}

aside-left {
	flex: 1;
	min-width: 16em;
    min-height: auto;
	order: 1;
	background-color: #fffbf0;
	border-right: 1px solid silver;
}

aside-right {
	flex: 1;
	min-width: 16em;
    min-height: auto;
	order: 3;
	background-color: #fffbf0;
	border-left: 1px solid silver;
}

article {
	flex: 5;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: auto;
    min-height: auto;
	order: 2;
	background-color: white;
}

foto-container {
	display: flex;
	min-width: auto;
	border-bottom: 1px solid silver;
	padding-top: 2em;
	padding-left: 1em;
	padding-right: 1em;
	padding-bottom: 1em;
}

foto-image {
	flex: 1;
}

foto-description {
	flex: 1;
	padding-left: 2em;
}

.bahn {
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-color: red;
}


/***** FOOTER AREA *****/

.footer {
	flex: 1 0 auto;
	min-height: 5%;
	background-color: rgb(0,51,51);
	width: 100%;
	margin-bottom: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
.footer-left {
	flex: 1 0 auto;
	width: auto;
	text-align: left;
	padding-left: 0.5em;
	padding-top: 0.5em;
	justify-content: flex-start;
	flex-grow: 0;
	flex-shrink: 1;
}
.footer-right {
	flex: 1 0 auto;
	min-width: 10em;
	display: flex;
	flex-wrap:wrap;    
	justify-content: flex-end;
}
.footer-right-left {
	flex: 0 0 auto;
	width: auto;
	text-align: right;
	padding-right: 0.5em;
	padding-top: 0.15em;
}
.footer-right-right {
	flex: 0 0 auto;
	width: auto;
	text-align: right;
	padding-right: 0.5em;
	padding-top: 0.15em;
	justify-content: flex-end;
	text-align: right;
}
.footer input {
	background-color: rgb(0,51,51);
	color: white;
	box-sizing: border-box;
	border: none;
	font-size: 1.0em;
	padding-left: 0.5em;
}
/***** HEADER AREA *****/

#header-content {
	display: flex;
	justify-content: center;
	text-align: center;
	align-items: center;
}

logobox {
	flex:1;
	flex-shrink: 0;
	flex-grow: 1.55;
	background-color: white;
}

textbox {
	flex:5;
	padding-top: 0.5em;
	background-color: rgb(0,51,51);
	text-align: center;
	justify-content: center ;
	align-self: center;
}

imagebox {
	flex:2;
	flex-shrink: 0;
	flex-grow: 2.8;
	background-color: white;
}

imagebox > div {
	min-width: 0;
}

imagebox > div > img {
	max-width: 100%;
	height: auto;
}

/***** MENU STYLES *****/

.main-menu {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 100%;
	/*margin-top: auto;15.07.2019*/
	overflow: visible;
	background-color: silver;
	color: rgb(0,51,51);
}

.dropdown-wrapper.menu-button a {
	width: 100%;
	text-align: left;
	padding: .75em 1.5em;
	display: block;
	color: rgb(0,51,51);
	background-color: silver;
	border-bottom: 3.2px solid #ddd;
}

.main-menu a:hover {
	font-weight: 900;
	font-size: inherit;
	border-bottom: 3.2px solid #c14400;
	color: #c14400;	/* test */
}

/***** DROPDOWN MENU STYLES *****/

.drop-menu {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	transition: max-height .5s, opacity .5s;
	max-height: 0;
	overflow: hidden;
}

.dropdown-wrapper .drop-menu  a {
	background-color: silver;
}

.dropdown-wrapper:hover > .menu-button {
	color:  #c14400; /* rotbraun */
}

.dropdown-wrapper.menu-button > .active {
	font-weight: 900;
	font-size: inherit;
    background: #333;
	color: white;
}

.dropdown-wrapper:hover > .active {
	font-weight: 900;
	font-size: inherit;
    background: #333;
	color: #c14400;
}

.dropdown-wrapper .drop-menu > .active {
	font-weight: 900;
	font-size: inherit;
    background: #333;
	color: white;
	opacity: 1;
}

.dropdown-wrapper .drop-menu > .active:hover {
	font-weight: 900;
	font-size: inherit;
    background: #333;
	color: #c14400;
	opacity: 1;
}

.dropdown-wrapper .drop-menu > .active:hover {
	font-weight: 900;
	font-size: inherit;
    background: #333;
	color: #c14400;
	opacity: 1;
}

.dropdown-wrapper:hover .drop-menu {
	max-height: 100%;	/* 25.2.19 - von 300 auf 100% gesetzt */
	opacity: 1;
}

.dropdown-wrapper:hover > .drop-menu .menu-button {
	transform: translateY(0%); 
}

.dropdown-wrapper:hover > .drop-menu .active {
	transform: translateY(0%);
}


/*** STANDARD ***/
button {
    border: 1px solid #0066cc;
    background-color: #0099cc;
    color: #ffffff;
    padding: 5px 10px;
    border-radius: 10px;
    height: 2em;
    width: 10em;
}

button:hover {
    border: 1px solid #0099cc;
    background-color: #00aacc;
    color: #ffffff;
    padding: 5px 10px;
    border-radius: 10px;
    height: 2em;
    width: 10em;
}

button:disabled,
button[disabled]{
    border: 1px solid #999999;
    background-color: #cccccc;
    color: #666666;
    border-radius: 10px;
    height: 2em;
    width: 10em;
}

.footer-button a:hover{
	color: #c14400;
}

.footer-button a:active,
.footer-button a.focus {
	color: yellow;
}

a.button {
	text-decoration: none;
	color: initial;
}

/***** BACK-BUTTON STYLES *****/

#back-button {
	display: inline-block;
	background-color: rgb(0,51,51);
	width: 40px;
	height: 40px;
	text-align: center;
	border-radius: 4px;
	position: fixed;
	bottom: 40px;
	right: 20px;
	transition: background-color .3s, opacity .5s, visibility .5s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
}

#back-button:after {
	content: "\f077";
	font-family: FontAwesome;
	font-weight: normal;
	font-style: normal;
	font-size: 2em;
	line-height: 40px;
	color: #fff;
}

#back-button:hover {
	cursor: pointer;
	background-color: #333;
}

#back-button:active {
	background-color: #555;
}

#back-button.show {
	opacity: 1;
	visibility: visible;
}   

/***** MEDIA QUERIES *****/

/* drop-menu effects (larger screens) */
@media (min-width: 800px) {
	/* show submenu */
    .dropdown-wrapper:hover  .menu-button {
    	transform: translateX(0%);
        z-index: 1000;
    }
    
	.main-menu {
		flex-direction: row;
		align-items: flex-start;
		height:  45px;
		margin: 0;
        z-index: 1000;
	}
	
	#back-button {
		margin: 30px;
	}

	.footer {
		flex: 1 0 auto;
		min-height: 5%;
		background-color: rgb(0,51,51);
		width: 100%;
		margin-bottom: 0;
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: space-between;
	}
	
	.footer-left {
		flex: 1 0 auto;
		width: auto;
		text-align: left;
		padding-left: 0.5em;
		padding-top: 0.5em;
		justify-content: flex-start;
		flex-grow: 0;
		flex-shrink: 1;
	}
	
	.footer-right {
		flex: 1 0 auto;
		min-width: 10em;
		display: flex;
		flex-wrap:wrap;    
		justify-content: flex-end;
	}
	
	.footer-right-left {
		flex: 0 0 auto;
		width: auto;
		text-align: right;
		padding-right: 0.5em;
		padding-top: 0.15em;
	}
	
	.footer-right-right {
		flex: 0 0 auto;
		width: auto;
		text-align: right;
		padding-right: 0.5em;
		padding-top: 0.15em;
		justify-content: flex-end;
		text-align: right;
	}
}

/***** smaller screens *****/
@media (max-width: 800px) {
	 h1 {
	 	font-size: 1.0em;
	 }
	 
	 h2 {
	 	font-size: 0.8em;
	 }
	 
	.dropdown-wrapper .drop-menu  a {
		background-color: lightgray;
		text-indent: 2em;
	}
	
	.dropdown-wrapper .drop-menu > .active{
		color: white;
		background: darkgray;
		opacity: 1.0;
	}
	
	.content {
		width: 100%;
		order: 1;
		flex-direction: column;
		padding: 0;
		border: 0;
		border-top: 0.5rem solid gray;
	}
	
  	.content > aside-left {
  		order: 2;
  		border: 0;
  		border-top: 0.5rem solid gray;
  	}
  	
    .content > aside-right {
    	order: 3;
    	border: 0;
    	border-top: 0.5rem solid gray;
    }
    
  	.footer {
  		order: 4;
        height: auto;
  		display: flex;
  		flex-direction: column;
  		align-items: stretch;
  		align-content: center;
  		text-align: center;
  		border-top: 0.5rem solid gray;
  	}
  	
  	.footer-left {
  		align-items: stretch;
  		align-content: center;
  		text-align: center;
  	}
  	
  	.footer-right {
  		/*display:block flex;*/
        display: flex;
  		flex-direction: column;
  		align-items: stretch;
  		align-content: center;
  		text-align: center;
  	}
  	
	.footer-right-left {
		text-align: center;
	}
	
	.footer-right-right {
		text-align: center;
	}
	
  	.dropdown-wrapper .drop-menu  a {
  		padding-left: 3rem;
  		background-color: silver;
  	}
}

/* relevanter CSS Code für sticky nav */
@element body and (min-scroll-y: 200px) {
  nav {
    position: fixed;
    top:0;
    left:0;
    right:0;
  }
}
