/* ########################################################################################################################################## */
/* ########################################################################################################################################## */

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300;
	src: url('./fonts/open-sans-v18-latin-300.eot');
	/* IE9 Compat Modes */
	src: local(''),
		url('./fonts/open-sans-v18-latin-300.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('./fonts/open-sans-v18-latin-300.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('./fonts/open-sans-v18-latin-300.woff') format('woff'),
		/* Modern Browsers */
		url('./fonts/open-sans-v18-latin-300.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('./fonts/open-sans-v18-latin-300.svg#OpenSans') format('svg');
	/* Legacy iOS */
}

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: url('./fonts/open-sans-v18-latin-regular.eot');
	/* IE9 Compat Modes */
	src: local(''),
		url('./fonts/open-sans-v18-latin-regular.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('./fonts/open-sans-v18-latin-regular.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('./fonts/open-sans-v18-latin-regular.woff') format('woff'),
		/* Modern Browsers */
		url('./fonts/open-sans-v18-latin-regular.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('./fonts/open-sans-v18-latin-regular.svg#OpenSans') format('svg');
	/* Legacy iOS */
}

@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 600;
	src: url('./fonts/open-sans-v18-latin-600.eot');
	/* IE9 Compat Modes */
	src: local(''),
		url('./fonts/open-sans-v18-latin-600.eot?#iefix') format('embedded-opentype'),
		/* IE6-IE8 */
		url('./fonts/open-sans-v18-latin-600.woff2') format('woff2'),
		/* Super Modern Browsers */
		url('./fonts/open-sans-v18-latin-600.woff') format('woff'),
		/* Modern Browsers */
		url('./fonts/open-sans-v18-latin-600.ttf') format('truetype'),
		/* Safari, Android, iOS */
		url('./fonts/open-sans-v18-latin-600.svg#OpenSans') format('svg');
	/* Legacy iOS */
}

.fadeElement {
	opacity: 0;
}

.hideElement {
	display: none;
}

/* ########################################################################################################################################## */
/* Ab 1000px */


@media screen and (min-width: 1000px) {

	:root {
		--widthwide: 100%;
		--widthnarrow: 1000px;
	}

	* {
		margin: 0;
	}

	a {
		color:inherit;
		text-decoration: none;
	}

	a:hover {
		text-decoration: underline;
	}

	hr {
		width: 100%;
		border-bottom: 2px solid grey;
		margin: 20px 0px 0px 0px;
	}

	body {
		background-color: transparent;
		font-family: Open Sans light, Microsoft Sans Serif;
		background-color: lightgrey;
		font-size: 11pt;
		color: #000000;
	}

	div.body {
		position: relative;
		display: flex;
		flex-direction: column;

		min-width: 1000px;
		width: 100%;
		max-width: 2600px;
		height: auto;

		background-color: #FFFFFF;

		align-items: center;
		justify-content: center;
	}

	div.banner {
		position: relative;
		display: flex;
		flex-direction: column;

		width: var(--widthwide);
		height: auto;

		background-color: #FFFFFF;

		align-items: center;
		justify-content: center;

	}

	div.content {
		position: relative;
		display: flex;
		flex-direction: column;

		width: var(--widthwide);
		height: auto;

		background-color: #FFFFFF;

		align-items: center;
		justify-content: center;
	}

	div.footer {
		position: relative;
		display: flex;
		flex-direction: column;

		width: var(--widthnarrow);
		height: auto;

		background-color: #EEEEEE;

		align-items: center;
		justify-content: center;

	}

	div.wide {
		position: relative;
		display: flex;
		flex-direction: column;

		width: var(--widthwide);
		height: auto;

		background-color: transparent;

		align-items: center;
		justify-content: center;
	}

	div.narrow {
		position: relative;
		display: flex;
		flex-direction: column;

		left: 0px;
		right: 0px;


		width: var(--widthnarrow);
		height: auto;

		padding-top: 10px;

		background-color: transparent;

		align-items: flex-start;
		justify-content: space-between;
	}

	div.burger {
		display: none;
		position: fixed;
		width: 50px;
		height: 50px;
		right: 50px;
		top: 50px;
		background-color: red;
		z-index: 100;
	}

	/* ####################################################################################### */

	div.banner_content_a {
		position: relative;
		width: calc(100% - 5px);
		height: 75px;
	}

	div.banner_content_b {
		position: relative;
		width: 100%;
		height: 70px;
	}

	div.logo {
		position: absolute;
		width: 100px;
		height: 140px;
		top: -55px;
		z-index: 10;
	}

	div.textlogo {
		font-size: 18pt;
		padding-left: 120px;
	}

	div.banner_content_c {
		position: relative;
		width: 100%;
		top: -5px;
		height: 45px;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		text-align: right;
	}

	li.banner_content_c_menu_spacer {
		display: none;
	}

	ul.menu {
		width: calc(100% - 35px);
		list-style-type: none;
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;
	}

	a.mainmenu {
		font-size: 13pt;
		letter-spacing: -0.3pt;
	}

	a.mainmenu:active {
		font-size: 13pt;
		letter-spacing: -0.3pt;
		text-decoration: underline;
	}

	span.separator {
		display: inline;
	}

	div.banner_content_d {
		background-image: url('../jpg/ellwangen01.jpg');
		background-position: center center;
		height: 400px;
		background-size: cover;
		background-repeat: no-repeat;
		width: 100%;
		border-top: 1px solid #BBBBBB;
		animation: animate_header 60s;
		animation-iteration-count: infinite;
	}

	@keyframes animate_header {
		0% {
			opacity: 1;
			background-image: url('../jpg/ellwangen01.jpg');
			background-position: bottom;
		}

		1% {
			opacity: 1;
			background-image: url('../jpg/ellwangen01.jpg');
			background-position: bottom;
		}

		32% {
			opacity: 1;
			background-image: url('../jpg/ellwangen01.jpg');
			background-position: bottom;
		}

		33% {
			opacity: 0;
			background-image: url('../jpg/ellwangen01.jpg');
			background-position: bottom;
		}

		34% {
			opacity: 0;
			background-image: url('../jpg/ellwangen02.jpg');
			background-position: bottom;
		}

		35% {
			opacity: 1;
			background-image: url('../jpg/ellwangen02.jpg');
			background-position: bottom;
		}

		65% {
			opacity: 1;
			background-image: url('../jpg/ellwangen02.jpg');
			background-position: bottom;
		}

		66% {
			opacity: 0;
			background-image: url('../jpg/ellwangen02.jpg');
			background-position: bottom;
		}

		67% {
			opacity: 0;
			background-image: url('../jpg/ellwangen03.jpg');
			background-position: bottom;
		}

		68% {
			opacity: 1;
			background-image: url('../jpg/ellwangen03.jpg');
			background-position: bottom;
		}

		98% {
			opacity: 1;
			background-image: url('../jpg/ellwangen03.jpg');
			background-position: bottom;
		}

		99% {
			opacity: 0;
			background-image: url('../jpg/ellwangen03.jpg');
			background-position: bottom;
		}

		100% {
			opacity: 0;
			background-image: url('../jpg/ellwangen01.jpg');
			background-position: bottom;
		}
	}

		{
		from {
			width: 0px;
			height: 0px;
		}

		to {
			width: 200px;
			height: 200px;
		}
	}

	input.content_formular_input {
		width: 100%;
		padding: 10px;
	}

	input.content_formular_email {
		width: 100%;
		padding: 10px;
	}

	textarea.content_formular_textarea {
		width: 100%;
		padding: 10px;
		min-height: 150px;
	}

	input.content_formular_checkbox {
		padding: 10px;
	}

	input.content_formular_submit {
		padding: 10px;
	}

	/* ####################################################################################### */

	h1.content {
		padding-top: 20px;
		font-size: 1.6em;
	}

	h2.content {
		font-size: 1.4em;
	}

	h3.content {
		font-size: 1.2em;
	}

	div.content_1_columns {
		display: flex;
		width: 100%;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;

	}

	div.content_2_columns {
		display: flex;
		width: 100%;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}

	div.content_3_columns {
		display: flex;
		width: 100%;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}

	div.content_4_columns {
		display: flex;
		width: 100%;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
	}

	div.content_column_spacer {
		width: 50px;
	}

	div.content_column {
		width: calc(100% - 10px);
		height: calc(auto - 10px);

	}

	div.content_table {
		width: 100%;
	}

	div.content_table_row {
		display: flex;
		width: 100%;
		flex-direction: row;
		justify-content: flex-start;
	}

	div.content_table_column {
		width: 100%;
	}

	p.downloads {
		width: 25%;
		text-align: center;
	}

	/* ####################################################################################### */

	div.footer_content {
		display: flex;
		width: 100%;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		padding-left: 30px;
		width: calc(100% - 60px);
	}

	div.footer_spacer {
		display: block;
		width: 1px;
		height: 150px;
		background-color: #404040;
	}

	.copyright {
		text-align: center;
		font-size: 8pt;
	}

	#covidInfo {
		position: absolute;
		border: 0px solid rgb(128, 128, 128);
		box-shadow: 2px 2px 15px rgba(128, 128, 128, 0.5);
		top: -480px;
		right: -80px;
		width: 40%;
		padding: 20px;
		border-radius: 7px;
		background-color: rgb(230, 230, 230);
		transition-timing-function: ease;
		transition: 1s;
	}

	.closeBtn {
		display: block;
		margin: 0px 0px 0px 20px;
		width: 26px;
		opacity: 0.5;
	}

	.headerIcon {
		display: block;
		float: right;
	}

	#vita ul {
		padding: 0;
	}

	#vita li {
		display: block;
	}

	#vita span {
		padding: 2px 2px 2px 0;
	}

	#vita span.left {
		float: left;
		display: block;
		width: 20%;
	}

	#vita span.right {
		float: left;
		display: block;
		width: 75%;
	}

	.team-wrapper {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		position: relative;
		left: -10px;
		width: 1020px;
	}

	.team-wrapper img {
		width: 80%;
	}

	.inner-wrapper {
		width: 235px;
		margin: 10px 10px;
	}

	.menu-service .row {
		/* background-color: crimson; */
	}

	.menu-service a {
		display: block;
	}

	.menu-service .column {
		float: left;
		margin: 1% 0% 1% 1%;
		width: 24.25%;
		height: 200px;
	}

	.menu-service .column.first {
		margin-left: 0;
	}

	.menu-service .column .item {
		text-transform: uppercase;
		letter-spacing: -0.08em;
		/* font-family: Georgia, 'Times New Roman', Times, serif; */
		color: rgb(240, 240, 240);
		font-size: 1.25em;
		background-color: rgb(200, 200, 200);
		margin-bottom: 10px;
		padding: 10px;
		height: 75px;
	}

	.item::first-letter {
		font-size: 1.2em;
	}

	.menu-service .column .item.first {
		height: 180px;
	}

	.menu-service .column .item p {}
}

.dlnew {
	margin-top: 10px;
	width: 100%;
}

.dlnew img {
	float: left;
	margin-right: 5px;
	height: 40px;
}

.dlnew p.header {
	font-weight: bold;
}

.dlnew p.desc {
	font-style: italic;
	font-size: 0.9em;
}

/* ########################################################################################################################################## */
/* ########################################################################################################################################## */

@media screen and (max-width: 1000px) {
	:root {
		--widthwide: 100%;
		--widthnarrow: 100%;
	}

	* {
		font-family: Open Sans light, Microsoft Sans Serif;
		font-size: 2vh;
		color: #000000;
		text-decoration: none;
		margin: 0px;
		background-color: transparent;
	}

	/* DIV FRAMING  */

	body {
		background-color: lightgrey;
	}

	div.body {
		position: relative;
		display: flex;
		flex-direction: column;
		width: 100%;
		height: auto;
		background-color: #FFFFFF;
		align-items: center;
		justify-content: center;
	}

	div.banner {
		position: relative;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: var(--widthwide);
		height: auto;
		background-color: #FFFFFF;
		align-items: center;
		justify-content: center;
	}

	div.content {
		position: relative;
		display: flex;
		flex-direction: column;
		padding-left: 0px;
		width: calc(var(--widthwide) - 30px);
		height: auto;
		background-color: #FFFFFF;
		align-items: center;
		justify-content: center;
	}

	div.footer {
		position: relative;
		display: flex;
		flex-direction: column;
		width: var(--widthwide);
		height: auto;
		background-color: #EEEEEE;
		align-items: center;
		justify-content: center;

	}

	div.wide {
		position: relative;
		display: flex;
		flex-direction: column;
		width: var(--widthwide);
		height: auto;
		background-color: transparent;
		align-items: center;
		justify-content: center;
	}

	div.narrow {
		position: relative;
		display: flex;
		flex-direction: column;
		left: 0px;
		right: 0px;
		width: var(--widthnarrow);
		height: auto;
		padding-top: 10px;
		background-color: transparent;
		align-items: flex-start;
		justify-content: space-between;
	}

	div.burger {
		position: absolute;
		width: 50px;
		height: 50px;
		right: 0px;
		top: 0px;
		background-color: #BBBBBB;
		z-index: 100;
		font-size: 30pt;
		text-align: center;
		margin: 0px;
		padding: 0px;
	}

	/* ####################################################################################### */

	div.banner_content_a {
		display: none;
		position: relative;
		width: 50%;
		height: auto;
	}

	div.banner_content_b {
		position: absolute;
		width: calc(100% - 120px);
		height: auto;
		left: 120px;
		z-index: 5;
	}

	div.logo {
		position: absolute;
		width: 80px;
		height: 112px;
		top: 10px;
		left: -105px;
		z-index: 10;
	}

	div.textlogo {
		font-size: 3.5vh;
		padding-top: 45px;
		padding-left: -5px;
		z-index: 15;
		width: auto;
	}

	div.banner_content_c {
		position: fixed;
		display: none;
		overflow: hidden;
		right: 0px;
		top: 0px;
		left: 0px;
		bottom: 0px;
		width: auto;
		height: auto;
		flex-direction: row;
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: nowrap;
		z-index: 10;
		background-color: rgba(230, 230, 230, 0.95);
	}


	a.mainmenu {
		font-size: 3.5vh;
	}

	ul.menu {
		position: relative;
		width: 90%;
		height: auto;
		list-style-type: none;
	}

	li:hover {
		background-color: #BBBBBB
	}

	span.separator {
		display: none;
	}

	div.banner_content_d {
		position: relative;
		height: 150px;
		width: 100%;
		background-color: #FFFFFF;
		/*background-image: url('../jpg/ellwangen02.jpg'); background-position: bottom; background-size: 120%; height: 150px; background-repeat: no-repeat; width: 100%; border-top: 1px solid #404040;*/
	}

	/* ####################################################################################### */


	div.content_1_columns {}

	div.content_2_columns {}

	div.content_3_columns {}

	div.content_4_columns {}


	/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


	div.content_table {
		width: 100%;
	}

	div.content_table_row {
		display: flex;
		width: 100%;
		flex-direction: row;
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	div.content_column {
		width: auto;
		flex-wrap: wrap
	}

	p.downloads {
		min-width: 45%;
		text-align: center;
	}

	input.content_formular_input {
		width: calc(100% - 20px);
		padding: 10px;
	}

	input.content_formular_email {
		width: calc(100% - 20px);
		padding: 10px;
	}

	textarea.content_formular_textarea {
		width: calc(100% - 20px);
		padding: 10px;
		min-height: 150px;
	}

	input.content_formular_checkbox {
		padding: 10px;
	}

	input.content_formular_submit {
		padding: 10px;
	}



	/* ####################################################################################### */

	div.footer_content {
		display: flex;
		padding-left: 10px;
		width: calc(100% - 20px);
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
	}

	div.footer_spacer {
		width: 100%;
		height: 20px;
		margin-top: 20px;
		border-top: 1px solid #404040;
	}

	.copyright {
		text-align: center;
		font-size: 1.5vh;
	}


}