/* IDS International Development Systems – statischer Onepager
   Basiert auf files/css/default.css der bisherigen Seite (Werte 1:1 übernommen,
   nicht mehr benötigte Regeln für Navigation, Reports und Login entfernt). */

* {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 160%;
	text-align: left;
	border-style: none;
	padding: 0;
	margin: 0;
}

html {
	width: 100%;
	height: 100%;
	background: none;
	overflow-y: scroll; /* Scrollbar immer sichtbar, kein Seitensprung */
}

body {
	text-align: center;
	width: 100%;
	height: 100%;
	background-color: #ececec;
}

h1, h2, h3, h4, h5 {
	font-style: normal;
	text-decoration: none;
	color: #000;
	margin: 0 0 10px 0;
	padding: 0;
	display: block;
	clear: right;
}

p {
	font-style: normal;
	font-size: 14px;
	text-decoration: none;
	color: #000;
	margin: 0 0 15px 0;
	padding: 0;
	display: block;
	clear: right;
}

a {
	font-style: normal;
	font-weight: bold;
	text-decoration: none;
	color: #2e4091;
}

a:hover,
a:focus {
	color: #868686;
}

img {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	width: 100%;
	height: auto;
	display: block;
}

ul {
	list-style: square;
	font-size: 12px;
	margin: 0 0 0 14px;
	padding: 0 0 5px 0;
	color: #000;
}

/* Rahmen */

.frame {
	margin: 0 auto;
	position: absolute;
	float: left;
	top: 20px;
	left: 20px;
	right: 20px;
	width: 1280px;
	clear: both;
}

.page {
	position: relative;
	float: left;
	width: 100%;
	min-height: 100%;
	height: auto;
}

/* Header: nur Logo */

.header_box {
	position: absolute;
	float: left;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background-color: #2e4091;
	clear: both;
	z-index: 5;
}

.header_logo {
	position: absolute;
	float: left;
	top: 14px;
	left: 35px;
	width: 400px;
	height: 60px;
	background-image: url('../img/IDS_logo.png');
	background-repeat: no-repeat;
	z-index: 210;
}

/* Hauptbereich mit Hintergrundbild */

.main {
	position: absolute;
	float: left;
	clear: both;
	top: 80px;
	left: 0;
	width: 100%;
	min-height: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	background-color: #d6d8d9;
	background-image: url('../img/background/bg_sweater.jpg');
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 50% 0%;
	z-index: 10;
}

.main h1 {
	font-size: 38px;
	font-weight: bold;
	margin: 0;
	padding: 80px 0 20px 82px;
	color: #fff;
	line-height: 115%;
}

/* Inhalt */

.content_box {
	position: relative;
	float: left;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	z-index: 150;
}

.content {
	position: relative;
	float: left;
	top: 0;
	left: 0;
	width: 1110px !important;
	height: 100%;
	margin: 0 35px;
	padding: 0 50px 50px 50px;
	background-color: #fff;
}

.wrapper {
	position: relative;
	float: left;
	min-width: 100%;
	height: 25px;
}

/* Spalten 1-1-1 */

.a_c1,
.a_c2,
.a_c3 {
	position: relative;
	float: left;
	width: 29%;
}

.content_line-space {
	position: relative;
	float: left;
	width: 6%;
	height: 100%;
}

.content img {
	margin: 0 0 10px 0;
}

.a_c1 h2,
.a_c2 h2,
.a_c3 h2 {
	font-size: 22px;
	font-weight: bold;
	margin: 0;
	padding: 0 0 8px 0;
	color: #000;
}

.a_c1 h3,
.a_c2 h3,
.a_c3 h3 {
	font-size: 14px;
	font-weight: bold;
	margin: 0;
	padding: 15px 0 8px 0;
	color: #000;
}

/* Erste Zwischenüberschrift direkt unter der Spaltenüberschrift:
   kein Abstand oben, damit sie auf Höhe des ersten Absatzes der Nachbarspalte steht */
.a_c1 h2 + h3,
.a_c2 h2 + h3,
.a_c3 h2 + h3 {
	padding-top: 0;
}

address {
	font-style: normal;
	margin: 0 0 15px 0;
}

address.postal {
	margin-top: 30px;
}

/* Footer */

.footer_box {
	position: relative;
	float: left;
	top: 0;
	width: 100%;
	height: 35px;
	z-index: 300;
}

.footer {
	position: relative;
	float: left;
	top: 8px;
	height: 20px;
	padding: 0 0 30px 0;
}

.footer p {
	font-size: 11px;
	font-weight: bold;
	margin: 0;
	padding: 0 0 0 85px;
	color: #fff;
}

.footer span {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

/* Responsive (Breakpoints wie bisher) */

@media only screen and (max-width: 1340px) {
	body {
		background-color: #d6d8d9;
	}

	.frame {
		left: 0;
		right: 0;
		top: 0;
		width: 100%;
	}

	/* ersetzt den alten ::before-Hack: volle Breite statt Shrink-to-fit */
	.content {
		float: none;
		display: flow-root;
		width: auto !important;
	}
}

@media only screen and (max-width: 1150px) {
	* {
		font-size: 14px;
	}

	p {
		font-size: 14px !important;
	}
}

@media only screen and (max-width: 920px) {
	.main {
		background-size: contain;
	}

	.a_c1,
	.a_c2,
	.a_c3 {
		width: 47%;
		margin: 0 0 50px 0;
	}

	/* Spalte 3 beginnt sauber links in neuer Zeile, auch wenn Spalte 1 länger ist */
	.a_c3 {
		clear: left;
	}

	/* Abstand zwischen Spalte 2 und 3 entfällt, Spalte 3 rutscht in die nächste Zeile */
	.content_line-space.space-2 {
		width: 0;
	}
}

@media only screen and (max-width: 600px) {
	.header_logo {
		width: 70%;
		background-size: contain;
		top: 7%;
	}

	.main {
		background-size: 150% auto;
	}

	.main h1 {
		font-size: 34px;
		padding: 60px 0 20px 65px;
	}

	.content {
		padding: 0 25px;
	}

	.a_c1,
	.a_c2,
	.a_c3 {
		width: 100%;
		margin: 0 0 20px 0;
	}

	.content_line-space,
	.content_line-space.space-2 {
		width: 0;
	}

	.footer p {
		padding: 0 0 0 60px;
	}
}

@media only screen and (max-width: 480px) {
	.header_logo {
		height: 50%;
	}

	.main h1 {
		font-size: 32px;
		padding: 40px 0 20px 25px;
	}

	.content {
		margin: 0;
	}

	.footer p {
		padding: 0 0 0 25px;
	}
}

/* Druck */

@media print {
	.frame,
	.main,
	.header_box {
		position: static;
		width: 100%;
	}

	.main {
		background-image: none;
	}

	.main h1,
	.footer p {
		color: #000;
		padding-left: 0;
	}

	.content {
		margin: 0;
		padding: 0;
		width: 100% !important;
	}
}

/* Kontaktformular (Optik wie bisher: graue Felder, blauer Send-Button) */

.a_c3 h3.subline {
	font-size: 18px;
	color: #818485;
	padding: 0px 0 15px 0;
}

.contact-form .row {
	display: flex;
	align-items: flex-start;
	margin: 0 0 5px 0;
}

.contact-form .label {
	flex: 0 0 85px;
	font-size: 11px;
	padding-top: 2px;
	color: #000;
}

.contact-form .row > .field {
	flex: 1 1 0%;
	min-width: 0;
}

.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="email"],
.contact-form textarea {
	width: 100%;
	box-sizing: border-box;
	line-height: 18px;
	padding: 2px 5px;
	background-color: #ececec;
	border: 1px #aaa solid;
	font-size: 12px;
}

.contact-form textarea {
	resize: vertical;
	overflow-y: auto;
}

.contact-form .radios label {
	font-size: 11px;
	margin-right: 12px;
	white-space: nowrap;
}

.contact-form input[type="radio"] {
	vertical-align: middle;
	margin: 0 4px 2px 0;
}

.contact-form input.start {
	background-color: #ececec;
	line-height: 18px;
	margin: 5px 0 0 0;
	padding: 1px 6px;
	color: #2e4091;
	font-weight: bold;
	border: 1px #aaa solid;
	cursor: pointer;
}

.contact-form input.start:hover,
.contact-form input.start:focus {
	color: #868686;
}

.contact-form input:focus,
.contact-form textarea:focus {
	outline: 2px solid #2e4091;
	outline-offset: -1px;
}

.contact-form .hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.form-status {
	font-weight: bold;
	padding: 6px 8px;
	border: 1px solid;
}

.form-status.ok {
	color: #2e7d32;
	border-color: #2e7d32;
}

.form-status.error {
	color: #cc071d;
	border-color: #cc071d;
}

[hidden] {
	display: none !important;
}

/* Pflichtfelder und Fehlermeldungen */
.contact-form .req {
	color: #cc071d;
	font-size: inherit;
}

.contact-form .req-note {
	font-size: 11px;
	color: #818485;
	margin-left: 10px;
}

.contact-form .row {
	flex-wrap: wrap;
}

.contact-form input[aria-invalid="true"],
.contact-form textarea[aria-invalid="true"] {
	border-color: #cc071d;
	background-color: #fff4f4;
}

.contact-form .field-error {
	display: block;
	flex: 0 0 100%;
	padding-left: 85px;
	box-sizing: border-box;
	font-size: 11px;
	font-weight: bold;
	color: #cc071d;
	margin: 2px 0 0 0;
}
