/* ==========================================================================
   media queries
   ========================================================================== */

.breakpoint {
	background: #ff7777;
	border-radius: 12px;
	bottom: 24px;
	color: #fff;
	display: none;
	font-size: 16px;
	letter-spacing: 4px;
	line-height: 24px !important;
	opacity: .75;
	padding: 0 10px 2px;
	position: fixed;
	right: 24px;
	text-align: center;
	width: auto;
	z-index: 1000;
}

.breakpoint:before { content: "phone" }

@media only screen and (min-width: 480px) {
	.ruler { width: 480px; }
}

@media only screen and (min-width: 620px) {
	.ruler { width: 620px; }
	.ce-staffmember { width: calc(100% / 4); }
}


@media only screen and (min-width: 768px) {
	.breakpoint { background: #fc0; }
	.breakpoint:before { content: "tablet" }

	.ruler { width: 768px; }
}


@media only screen and (min-width: 1025px) {
	.breakpoint { background: #0c0; }
	.breakpoint:before { content: "screen" }


	.ruler { width: 1025px; }
	html { font-size: 24px; }


	a.arrow-link { font-size: 13px; padding-right: 20px; }
	a.arrow-link--white { background-position: right 2px; background-size: auto 10px; }
	a.arrow-link--green { background-position: right 2px; background-size: auto 10px; }


	.logo-switch { overflow: hidden; }
	a.logo { height: 54px; top: 255px; width: 213px; }
	a.logo--start { position: fixed; }
	a.logo--alt { display: block; position: absolute; }


	.hero--products { height: 600px; }


	.main--products { padding-top: 350px; }
	.main--home { padding-top: calc(100vh - 250px); }
	.main--home header:first-of-type { margin-top: 120px; padding-top: 0; }
	.main--home .ge-row-slim__content:first-of-type p:last-of-type { margin-bottom: 20px; padding-bottom: 0; }


	.pageheader { margin-bottom: 95px; padding-top: 80px; }
	.nav-lang { font-size: 18px; }
	.nav-lang--footer { right: 25px; }

	.nav-main {
		background: none;
		float: left;
		font-size: 18px;
		line-height: 25px;
		margin-left: 304px;
		position: relative;
		width: auto;
	}

	.nav-main--footer { display: block; }
	.nav-main-l1 { list-style: none; margin: 0; padding: 0; }
	.nav-main__item { float: none; padding: 0; width: 100%; }
	.nav-main__item:nth-of-type(1) { text-align: left; }
	.nav-main__item:nth-of-type(2) { text-align: left; }
	.nav-main__item:nth-of-type(3) { text-align: left; }
	.nav-main--white a.nav-main__link { color: #fff; }
	.nav-main--white a.nav-main__link:hover, .nav-main--white a.nav-main__link--act { color: #80cda2; }


	.main h1, .hero h1 { font-size: 50px; line-height: 60px; margin-bottom: 60px; }
	.main h2, .main h3 { font-size: 24px; margin-bottom: 30px; }
	.main h2.h2--big { font-size: 50px; margin-bottom: 60px; }
	.main p { margin: 0 0 30px; }
	.main ul { margin: 0 0 30px; }


	.pagefooter { padding: 100px 0 50px; }
	.pagefooter__info { bottom: 2px; position: absolute; }
	p.copyright { font-size: 13px; }
	.nav-meta { font-size: 13px; }


	.ce-uploads-fileinfo { font-size: 12px; }


	.ce-teaser-fs { height: 600px; }
	.ce-teaser-fs__content { top: 200px; }
	.hero--products .ce-teaser-fs__content { margin-top: 0; top: 250px; }

	.ce-staffmember { font-size: 18px; }

	.ce-job__typ { margin-bottom: 30px; }
	.ce-job__address { font-size: 13px; }
	.ce-job__date { font-size: 13px; }

	.ce-spacer--large { height: 100px; }
	.ce-spacer--medium { height: 50px; }

	.ge-row-slim__content { padding-left: 304px; }
	.hero--home  .ge-row-slim__content { padding-left: 304px; top: 250px; }
	.ge-row-wide__content { margin-left: 304px; }


	.ce-img-fs {
		-webkit-box-align: center;
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;

		display: -ms-flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;

		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.ce-img-fs__media:nth-of-type(2) { margin-left: 25px; margin-right: 25px; }


	#tx_cookies_inner { font-size: 13px; }
	#tx_cookies_accept input[type="submit"] { font-size: 13px; }
}


/* only for IE 10 & IE 11*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	.pageheader { margin-bottom: 100px; }
}


@media only screen and (max-width: 1024px) {
	.ce-img-fs__media[style] { width: 95% !important; }
}


@media print,
	   (-webkit-min-device-pixel-ratio: 1.25),
	   (min-resolution: 1.25dppx),
	   (min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}

@media print,
	   (-webkit-min-device-pixel-ratio: 1.25),
	   (min-resolution: 1.25dppx),
	   (min-resolution: 120dpi) {
	/* Style adjustments for high resolution devices */
}


/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important; /* Black prints faster:
								   http://www.sanbeiji.com/archives/953 */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	/*
	 * Don't show links that are fragment identifiers,
	 * or use the `javascript:` pseudo protocol
	 */

	a[href^="#"]:after,
	a[href^="javascript:"]:after {
		content: "";
	}

	pre {
		white-space: pre-wrap !important;
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	/*
	 * Printing Tables:
	 * http://css-discuss.incutio.com/wiki/Printing_Tables
	 */

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}