/*
// ------------------------------------------------------------------
// Grundeinstellungen
// ------------------------------------------------------------------
//
// Media Queries: Breakpoints
// 30em:  480px // Smartphone
// 40em:  640px // Smartphone
// 48em:  768px // Smartphone/Tablet
// 60em:  960px // Smartphone/Tablet
// 64em: 1024px // Tablet
// 70em: 1120px // Tablet/Desktop
// 80em: 1280px // Desktop
// 
@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
}
*/

*, *::before, *::after {
	box-sizing: border-box;
}

.noscreen {
	display: none ! important;
}

html {
	font-size: 18px;
	color: rgba(60, 60, 60, 1);
	background-color: rgba(255, 255, 255, 1);
}
body {
	font-size: 1em;
	font-family: "MetaWeb Normal", Arial, Helvetica, sans-serif;
	line-height: 150%;
	background-color: rgba(218, 218, 218, 0.5);
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	html {
		font-size: 17px;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	html {
		font-size: 16px;
	}
}
@media only screen and (min-width: 80em) {
}

h1 {
	clear: both;
	margin-top: 1.5em;
	font-size: 1.3em;
	font-weight: normal;
	line-height: 125%;
}
h2 {
	clear: both;
	font-size: 1.3em;
	font-weight: normal;
	line-height: 125%;
}
h3 {
	font-size: 1.15em;
	font-weight: normal;
	line-height: 125%;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	h1 {
		font-size: 1.5em;
	}
	h2 {
		font-size: 1.5em;
	}
	h3 {
		font-size: 1.25em;
	}
}
@media only screen and (min-width: 80em) {
}

p,
blockquote {
	display: block;
	position: relative;
	font-size: 1em;
	line-height: 150%;
}
blockquote {
	margin-left: 0;
	margin-right: 0;
	padding: 0;
	font-style: italic;
}

:lang(de) > blockquote {
	quotes: "\201E" "\201C" "\201A" "\2018";
}


blockquote:before {
	color: rgba(227, 5, 27, 1);
	content: open-quote;
	font-weight: bold;
}
blockquote:after {
	color: rgba(227, 5, 27, 1);
	content: close-quote;
	font-weight: bold;
}

tt {
	font-family: "MetaWeb Normal", Arial, Helvetica, sans-serif;
}

ol {
	list-style-position: outside;
	list-style-type: decimal;
}
ul {
	list-style-position: outside;
	list-style-type: square;
}
ul li {
	margin-left: 1em;
}
ol li {
	margin-left: 1em;
}

.clear {
	content: ".";
	clear: both;
	display: block;
	visibility: hidden;
	height: 0;
}

.text {
	display: block;
	clear: both;
	width: 100%;
}

a {
	display: inline-block;
	line-height: 125%;
	padding-left: 0.1em;
	padding-right: 0.1em;
	color: rgba(227, 5, 27, 1);
	text-decoration: none;
	background-color: transparent;
	border: solid 0.1em transparent;
	border-radius: 0.25em;
}
a:visited {
	color: inherit;
}
a:hover,
a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(218, 218, 218, 1);
}
a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(227, 5, 27, 1);
}

.tel > a {
	color: inherit;
}
.tel > a:hover,
.tel > a:focus {
	color: rgba(227, 5, 27, 1);
}
.tel > a:active {
	color: rgba(255, 255, 255, 1);
}

a.intern,
a.extern,
a.mail,
a.print,
a.file {
	padding-left: 1em;
	padding-right: 0.1em;
	text-indent: -1em;
}

a.intern::before {
	content: "\21D2\2009";
}
a.extern::before {
	content: "\21D7\2009";
}
a.mail::before {
	content: "\2709\2009";
}
a.print::before {
	content: "\2399\2009";
}
a.file::before {
	content: "\21D3\2009";
}

.image,
.video,
.audio {
	line-height: 0;
	z-index: 1;
}
.image.alt,
.video.alt,
.audio.alt {
	box-shadow: 0 0 0.5em rgba(218, 218, 218, 1);
	border: 1px solid rgba(218, 218, 218, 1);
}
.image.alt span,
.video.alt span,
.audio.alt span {
	display: block;
	padding: 0.5em;
	font-style: italic;
	text-align: right;
	line-height: 100%;
	font-size: 90%;
	background-color: rgba(218, 218, 218, 0.5);
}
.image.left {
	float: left;
	margin-right: 1em;
	margin-top: 0.25em;
}
.image.right {
	float: right;
	margin-left: 1em;
	margin-top: 0.25em;
}
.image.small {
	max-width: 23%;
}
.image.medium {
	max-width: 31.3333%;
}
.image.large {
	max-width: 47%;
}

.image > a {
	margin: 0;
	padding: 0;
	line-height: 0;
	border: none;
}

img,
video,
audio {
	width: 100%;
	height: auto;
}


form {
}

form label {
	display: block;
	font-weight: bold;
}

form input {
	display: inline-block;
	margin: 0;
	padding: 0.5em;
	border: 0.1em solid rgba(218, 218, 218, 1);
	border-radius: 0.25em;
}

/* Content-Toogle */

input.toggle {
	display: none;
}
label.toggle {
	display: block;
	cursor: pointer;
}
label.toggle::before {
	content: "\25BD\2009";
}
input.toggle ~ .block {
	display: none;
}
input.toggle:checked ~ .block {
	display: block;
}
input.toggle:checked ~ label.toggle {
	opacity: 0.5;
}
input.toggle:checked ~ label.toggle::before {
	content: "\25B3\2009";
}

q {
	font-style: italic;
}

/* Nav-Block */

.nav {
	margin: 0;
	padding: 0;
}
.nav p {
	display: none;
}
.nav ul {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none; 
	font-size: inherit;
	line-height: inherit;
}
.nav li {
	display: inline-block;
	margin: 0 0.5em 0 0;
	padding: 0;
	vertical-align: middle;
}
.nav li a {
	display: inline-block;
}

.nav li.icon {
	display: inline-block;
	position: relative;
	overflow: hidden;
	width: 16em;
	height: 16em;
	background-image: url('/images/spread.png');
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 1000% 200%;
	box-shadow: 0 0 0.5em rgba(60, 60, 60, 0.5);
}
.nav li.icon:hover,
.nav li.icon:focus {
	box-shadow: 0 0 0.5em rgba(60, 60, 60, 1);
}
.nav li.icon.email {
	background-position: 0% 0%;
}
.nav li.icon.rss {
	background-position: 11.11111% 0%;
}
.nav li.icon.share {
	background-position: 22.22222% 0%;
}
.nav li.icon.messenger {
	background-position: 33.33333% 0%;
}

.nav li.icon.facebook {
	background-position: 0% 100%;
}
.nav li.icon.xing {
	background-position: 11.11111% 100%;
}
.nav li.icon.twitter {
	background-position: 22.22222% 100%;
}
.nav li.icon.youtube {
	background-position: 33.33333% 100%;
}
.nav li.icon.whatsapp {
	background-position: 44.44444% 100%;
}
.nav li.icon.vimeo {
	background-position: 55.55555% 100%;
}
.nav li.icon.instagram {
	background-position: 66.66666% 100%;
}
.nav li.icon.linkedin {
	background-position: 77.77777% 100%;
}

.nav li.icon a,
.nav li.icon a:visited,
.nav li.icon a:hover,
.nav li.icon a:focus,
.nav li.icon a:active {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	line-height: inherit;
	color: transparent;
	text-decoration: none;
	text-indent: 0;
	background: none;
	border: none;
}
.nav li.icon a::before {
	content: none;
}



/*
// ------------------------------------------------------------------
// Content-Sections
// ------------------------------------------------------------------
*/

.section {
	display: block;
	position: relative;
	clear: both;
	padding: 2.5%;
	width: 100%;
	background-color: rgba(255, 255, 255, 1);
}
.section::after {
	content: ".";
	display: block;
	position: relative;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.section {
		width: 80em;
		left: 50%;
		margin-left: -40em;
		padding: 2em;
	}
}



/*
// ------------------------------------------------------------------
// Header
// ------------------------------------------------------------------
*/

.section.header {
	position: fixed;
	z-index: 100;
	top: 0;
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
}

.section.header h1 {
	margin: 0;
	padding-left: 2em;
	font-size: 1em;
	font-weight: normal;
	line-height: 1.5em;
	height: 1.5em;
}
.section.header h1 a {
	display: inline-block;
	padding: 0;
	line-height: 1.5em;
	box-shadow: none;
	color: rgba(255, 255, 255, 1);
	background-color: transparent;
}
.section.header h1 a span:first-child {
	display: none;
}
.section.header p {
	display: none;
}
.section.header p.image {
	display: block;
	position: relative;
	margin: 0;
	margin-top: -1.5em;
	padding: 0;
	width: 1.5em;
	height: 1.5em;
	color: transparent;
	background-color: rgba(227, 5, 27, 1);
	border: solid 0.1em rgba(255, 255, 255, 1);
	box-shadow: 0 0 1em rgba(60, 60, 60, 0.5);
}
.section.header p.image:hover {
	box-shadow: 0 0 1em rgba(255, 255, 255, 1);
}
.section.header p.image a {
	display: inline-block;
	height: 100%;
	width: 100%;
}

@media only screen and (min-width: 30em) {
	.section.header h1 {
		font-weight: bold;
	}
	.section.header h1 a span:first-child {
		display: inline;
	}
}
@media only screen and (min-width: 40em) {
	.section.header h1 a span:first-child {
		display: none;
	}
}
@media only screen and (min-width: 48em) {
	.section.header h1 {
		padding-left: 6em;
	}
	.section.header h1 a {
		font-size: 1.5em;
		line-height: 100%;
	}
	.section.header h1 a span:first-child {
		display: none;
	}
	.section.header p.image {
		margin-top: -5em;
		top: 3.5em;
		width: 5em;
		height: 5em;
	}
}
@media only screen and (min-width: 60em) {
	.section.header h1 a span:first-child {
		display: inline;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.section.header {
		padding-bottom: 0;
	}
	.section.header h1 {
		padding-left: 8.9em;
	}
	.section.header p.image {
		margin-top: -8em;
		top: 3.75em;
		width: 8em;
		height: 8em;
	}
	.section.header p.slogan {
		display: block;
		margin: 0;
		padding: 0.5em 0 0 6em;
		font-size: 1.5em;
		line-height: 1em;
	}
}





/*
// ------------------------------------------------------------------
// Menü - Main
// ------------------------------------------------------------------
*/

.section.menu.site {
	position: relative;
	z-index: 50;
	padding-top: 5%;
	line-height: 125%;
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
}
.section.menu.site label {
	display: none;
}
.section.menu.site .nav.block {
	display: block;
	padding-top: 1.5em;
}
.section.menu.site .nav.block li:nth-of-type(1) {
	display: none;
}

.section.menu.site .nav.block a {
	color: rgba(255, 255, 255, 1);
}
.section.menu.site .nav.block a:hover,
.section.menu.site .nav.block a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(255, 255, 255, 1);
}
.section.menu.site .nav.block a::before {
	content: "\25C7\2009";
	font-size: 1.25em;
}
.section.menu.site .nav.block .selected a::before {
	content: "\25C8\2009";
}
.section.menu.site .nav.block .extern a::before {
	content: "\21D7\2009";
}
.section.menu.site .nav.block a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(255, 255, 255, 1);
}

@media only screen and (min-width: 30em) {
	.section.menu.site .nav.block {
	}
}
@media only screen and (min-width: 40em) {
	.section.menu.site .nav.block {
	}
}
@media only screen and (min-width: 48em) {
	.section.menu.site .nav.block {
		margin-left: 6em;
		padding-top: 2.5em;
	}
}
@media only screen and (min-width: 60em) {
	.section.menu.site .nav.block {
		padding-top: 2em;
	}
	.section.menu.site .nav.block li:nth-of-type(1) {
		display: inline-block;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.section.menu.site .nav.block {
		padding-top: 1.75em;
	}
}
@media only screen and (min-width: 80em) {
	.section.menu.site {
		position: fixed;
		padding-top: 5em;
	}
	.section.menu.site .nav.block {
		margin-left: 9em;
		padding-top: 2.5em;
	}
}



/*
// ------------------------------------------------------------------
// Breadcrumb
// ------------------------------------------------------------------
*/

.section.breadcrumb {
	padding-top: 1.25%;
	padding-bottom: 1.25%;
	line-height: 125%;
	color: rgba(60, 60, 60, 0.75);
	background-color: rgba(218, 218, 218, 1);
	z-index: 1;
}
.section.breadcrumb label {
	display: none;
}
.section.breadcrumb .nav.block {
	display: block;
	font-size: 80%;
}
.section.breadcrumb .nav.block p {
	display: none;
}
.section.breadcrumb .nav.block a::before {
	content: none;
}
.section.breadcrumb .nav.block a {
	color: rgba(60, 60, 60, 1);
}
.section.breadcrumb .nav.block a:hover,
.section.breadcrumb .nav.block a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(255, 255, 255, 1);
}
.section.breadcrumb .nav.block a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(227, 5, 27, 1);
}
.section.breadcrumb .nav.block li::before {
	content: "\2799";
	padding-right: 0.5em;
}
.section.breadcrumb .nav.block li:first-child::before {
	content: none;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.section.breadcrumb .nav.block p {
		display: inline;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
	.section.breadcrumb .nav.block p {
		display: none;
	}
}
@media only screen and (min-width: 70em) {
	.section.breadcrumb .nav.block {
		font-size: 90%;
	}
	.section.breadcrumb .nav.block p {
		display: inline;
	}
}
@media only screen and (min-width: 80em) {
	.section.breadcrumb {
		padding-top: 1em;
		padding-bottom: 1em;
	}
	.section.breadcrumb .nav.block {
		padding-top: 12em;
	}
}



/*
// ------------------------------------------------------------------
// Special
// ------------------------------------------------------------------
*/

.section.special {
	padding: 0;
	border-bottom: 1px solid rgba(218, 218, 218, 0.5);
}

/* Slider */

.section.special .slider {
	display: none;
	width: 100%;
	position: relative;
	background-color: rgba(218, 218, 218, 1);
}
.section.special .slider::after {
	content: ".";
	display: block;
	position: relative;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

/* Slider - Toggle */

.section.special .slider input.toggle {
	display: none;
}
.section.special .slider label.toggle::before {
	content: none ! important;
}
.section.special .slider label.toggle {
	display: inline-block;
	position: absolute;
	top: 3%;
	left: 52.5%;
	padding: 0;
	z-index: 10;
	width: 8%;
	height: 8%;
	color: rgba(255, 255, 255, 1);
	background-size: 100% 100%, cover;
	background-color: rgba(255, 255, 255, 0.075);
	background-position: center center;
	box-shadow: 0 0 0.5em rgba(60, 60, 60, 0.25);
	border: 0.1em solid rgba(255, 255, 255, 1);
}
.section.special .slider label.toggle:hover,
.section.special .slider label.toggle:focus {
	box-shadow: 0 0 0.5em rgba(60, 60, 60, 1);
}
.section.special .slider label.toggle:nth-of-type(1) {
	margin-left: 0%;
}
.section.special .slider label.toggle:nth-of-type(2) {
	margin-left: 9.25%;
}
.section.special .slider label.toggle:nth-of-type(3) {
	margin-left: 18.5%;
}
.section.special .slider label.toggle:nth-of-type(4) {
	margin-left: 27.75%;
}
.section.special .slider label.toggle:nth-of-type(5) {
	margin-left: 37.0%;
}

.section.special .slider label.toggle span {
	display: block;
	position: absolute;
	top: 50%;
	text-align: center;
	width: 100%;
	transform: translate(0, -50%); 
	text-shadow: 0 0 0.5em rgba(60, 60, 60, 0.25);
}
.section.special .slider input.toggle + label.toggle {
	opacity: 1.0;
}

.section.special .slider input.toggle:nth-of-type(1):checked ~ .slide:nth-of-type(1) {
	display: block;
}
.section.special .slider input.toggle:nth-of-type(2):checked ~ .slide:nth-of-type(2) {
	display: block;
}
.section.special .slider input.toggle:nth-of-type(3):checked ~ .slide:nth-of-type(3) {
	display: block;
}
.section.special .slider input.toggle:nth-of-type(4):checked ~ .slide:nth-of-type(4) {
	display: block;
}
.section.special .slider input.toggle:nth-of-type(5):checked ~ .slide:nth-of-type(5) {
	display: block;
}

/* Slider - Slide */

.section.special .slider .slide {
	display: none;
	position: relative;
	padding-bottom: 0.05em;
}

.section.special .slider .slide .image p {
	margin: 0;
}

.section.special .slider .slide .teaser {
	display: block;
	position: absolute;
	z-index: 1;
	padding: 0.5em;
	width: 45%;
	left: 52.5%;
	top: 14%;
	hyphens: auto; 
	font-size: 75%;
	line-height: 100%;
	background-color: rgba(255, 255, 255, 0.9); 
	box-shadow: 0 0 0.5em rgba(60, 60, 60, 0.25);
	border: 0.1em solid rgba(255, 255, 255, 1);
}
.section.special .slider .slide .teaser h2 {
	margin-top: 0;
	margin-bottom: 0.5em;
	font-size: 120%;
	line-height: inherit;
}
.section.special .slider .slide .teaser p {
	margin-top: 0;
	margin-bottom: 0.5em;
	line-height: inherit;
}
.section.special .slider .slide .teaser p.link {
	display: block;
	margin-bottom: 0;
}

/* Slider - Media Queries */

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.section.special .slider {
		display: block;
	}
}
@media only screen and (min-width: 48em) {
	.section.special .slider .slide .teaser {
		padding: 0.75em;
		font-size: 80%;
	}
}
@media only screen and (min-width: 60em) {
	.section.special .slider .slide .teaser {
		padding: 1em;
		font-size: 90%;
		line-height: 110%;
	}
}
@media only screen and (min-width: 64em) {
	.section.special .slider .slide .teaser {
		padding: 1.5em;
		font-size: 100%;
		line-height: 125%;
	}
}
@media only screen and (min-width: 70em) {
	.section.special .slider .slide .teaser {
		padding: 2em;
	}
}
@media only screen and (min-width: 80em) {
	.section.special .slider .slide .teaser {
		padding: 2.5em;
	}
}



/*
// ------------------------------------------------------------------
// Main
// ------------------------------------------------------------------
*/

.section.main {
}

.section.main .article {
}

.section.main .aside {
	margin-top: 5%;
}

.section.main .aside .search + .regional {
	margin-top: 1em;
}

.section.main .aside .search {
	padding: 2.5%;
	background-color: rgba(227, 5, 27, 1);
}
.section.main .aside .search input {
}
.section.main .aside .search input#cse-search-box-q {
	width: 75%;
}
.section.main .aside .search input#cse-search-box-sa {
	width: 22.5%;
	margin-left: 2.5%
}

.section.main .aside .box {
	margin: 1em 0;
	padding: 2.5%;
	background-color: rgba(218, 218, 218, 1);
}
.section.main .aside .box h2 a {
	border-color: transparent;
}


.section.main .aside .subnav {
	padding: 2.5%;
	border: 0.1em solid rgba(227, 5, 27, 1);
}
.section.main .aside .subnav > h2:first-child {
	margin-top: 0;
}
.section.main .aside .subnav .nav ul,
.section.main .aside .subnav .nav li {
	display: block;
}
.section.main .aside .subnav .nav ul ul {
	margin-left: 1em;
}
.section.main .aside .subnav .nav ul li ul {
	display: none;
}
.section.main .aside .subnav .nav ul li:hover ul {
	display: block;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.section.main .article {
		width: 70%;
		padding-right: 2.5%;
		float: left;
	}
	.section.main .aside {
		margin-top: 0;
		width: 30%;
		padding-left: 2.5%;
		float: right;
	}
	.section.main .aside .search input#cse-search-box-q {
		width: 65%;
	}
	.section.main .aside .search input#cse-search-box-sa {
		width: 32.5%;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.section.main .aside .search input#cse-search-box-q {
		width: 75%;
	}
	.section.main .aside .search input#cse-search-box-sa {
		width: 22.5%;
	}
}
@media only screen and (min-width: 80em) {
	.section.main .article {
		padding-right: 1em;
	}
	.section.main .aside {
		padding-left: 1em;
	}
	.section.main .aside .box {
		margin: 2em 0;
	}
}



/*
// ------------------------------------------------------------------
// Menü - IG Metall
// ------------------------------------------------------------------
*/

.section.menu.igmetall {
	display: none;
	position: absolute;
	z-index: 10;
	margin-top: 7.5%;
	top: 3.5em;
	right: 0;
	width: auto;
	padding-top: 1.25%;
	padding-bottom: 1.25%;
	line-height: 125%;
	text-align: right;
	background-color: transparent;
}
.section.menu.igmetall label {
	display: none;
}
.section.menu.igmetall .nav.block {
	display: block;
	font-size: 80%;
}
.section.menu.igmetall .nav.block a {
	color: rgba(60, 60, 60, 1);
}
.section.menu.igmetall .nav.block a:hover,
.section.menu.igmetall .nav.block a:focus {
	background-color: rgba(255, 255, 255, 1);
}
.section.menu.igmetall .nav.block a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(227, 5, 27, 1);
}

.section.menu.igmetall .nav.block li:last-child {
	margin-right: 0;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
	.section.menu.igmetall {
		display: block;
	}
}
@media only screen and (min-width: 70em) {
	.section.menu.igmetall {
		top: 3.25em;
	}
	.section.menu.igmetall .nav.block {
		display: block;
		font-size: 90%;
	}
}
@media only screen and (min-width: 80em) {
	.section.menu.igmetall {
		top: 5em;
		right: auto;
		margin-left: 10em;
		margin-top: 5.875em;
		padding-top: 1em;
		padding-bottom: 1em;
		width: 30em;
	}
}



/*
// ------------------------------------------------------------------
// Social
// ------------------------------------------------------------------
*/

.section.social {
}
.section.social label {
	display: none;
}
.section.social .nav.block,
.js .section.social .nav.block {
	display: block;
	line-height: 1.5em;
}
.section.social .nav.block p {
	display: inline-block;
	float: left;
	margin: 0 0.5em 0 0;
	line-height: inherit;
	opacity: 0.5;
}

.section.social .nav.block ul {
	float: left;
}
.section.social .nav li.icon,
.js .section.social .nav li.icon {
	height: 1.5em;
	width: 1.5em;
	margin-right: 0.5em;
	border-radius: 50%;
}
.section.social .nav li.icon a {
	height: 100%;
	width: 100%;
}
.section.social .nav li.icon:last-child {
	margin-right: 0;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.js .section.social {
		display: none;
		position: fixed;
		z-index: 100;
		top: 0;
		right: 0;
		width: auto;
		color: rgba(255, 255, 255, 1);
		background-color: transparent;
	}
	.js .section.social.active {
		display: block ! important;
	}
	.js .section.social .nav.block p {
		opacity: 1.0;
	}
	.js .section.social .nav li.icon:hover,
	.js .section.social .nav li.icon:focus {
		box-shadow: 0 0 0.5em rgba(255, 255, 255, 1);
	}
}
@media only screen and (min-width: 48em) {
	.section.social .nav.block {
		line-height: 2em;
	}
	.section.social .nav li.icon {
		height: 2em;
		width: 2em;
	}
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
	.section.social .nav.block {
		line-height: 2.5em;
	}
	.section.social .nav li.icon {
		height: 2.5em;
		width: 2.5em;
	}
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.js .section.social {
		display: block;
		position: relative;
		z-index: 1;
		top: auto;
		right: auto;
		width: 80em;
		color: inherit;
		background-color: rgba(255, 255, 255, 1);
	}
	.js .section.social .nav.block p {
		opacity: 0.5;
	}
	.section.social .nav.block,
	.js .section.social .nav.block {
		line-height: 3em;
	}
	.section.social .nav li.icon,
	.js .section.social .nav li.icon {
		height: 3em;
		width: 3em;
	}
	.js .section.social .nav li.icon:hover,
	.js .section.social .nav li.icon:focus {
		box-shadow: 0 0 0.5em rgba(60, 60, 60, 1);
	}
}



/*
// ------------------------------------------------------------------
// Service
// ------------------------------------------------------------------
*/

.section.service {
	color: rgba(60, 60, 60, 0.75);
	background-color: rgba(218, 218, 218, 1);
}

.section.service .nav.block a,
.section.service .nav.block a:visited {
	color: rgba(60, 60, 60, 1);
}
.section.service .nav.block a:hover,
.section.service .nav.block a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(255, 255, 255, 1);
}
.section.service .nav.block a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(227, 5, 27, 1);
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.section.service .nav.block {
		float: left;
		width: 25%;
		padding-bottom: 1em;
	}
	.section.service li {
		display: block;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.section.service h3 {
		margin-top: 0;
	}
	.section.service label {
		display: none;
	}
	.section.service .nav.block {
		display: block;
		padding-bottom: 0;
	}
}



/*
// ------------------------------------------------------------------
// Adresse
// ------------------------------------------------------------------
*/

.section.address {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
}
.section.address a {
	color: rgba(255, 255, 255, 1);
}
.section.address a:hover,
.section.address a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(255, 255, 255, 1);
}
.section.address a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(255, 255, 255, 1);
}

.section.address p {
	display: none;
}
.section.address .address,
.section.address .kontact {
	margin-top: 1em;
}

.section.address .entry {
	display: block;
	margin-bottom: 0;
}
.section.address .space {
	display: none;
}
.section.address input.toggle:checked ~ label.toggle {
	opacity: 0.75;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
	.section.address .address,
	.section.address .kontact {
		width: 50%;
		float: left;
	}
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.section.address label {
		display: none;
	}
	.section.address .address.block,
	.section.address .kontact.block {
		width: 100%;
		display: block;
		float: none;
	}
	.section.address .address {
		margin-top: 0;
	}
	.section.address .kontact {
		margin-top: 0.5em;
	}
	.section.address .entry {
		display: inline-block;
		width: auto;
	}
	.section.address .space {
		display: inline-block;
	}
}



/*
// ------------------------------------------------------------------
// Shortcut
// ------------------------------------------------------------------
*/

.section.shortcut {
	padding-bottom: 0;
	color: rgba(255, 255, 255, 1);
	background-color: rgba(100, 100, 100, 1);
}
.section.shortcut label {
	display: none;
}
.section.shortcut .nav.block {
	display: block;
	line-height: 1.5em;
}

.section.shortcut .nav li.icon {
	height: 1.5em;
	width: 1.5em;
	margin-right: 0.5em;
	box-shadow: 0 0 0.5em rgba(60, 60, 60, 0.5);
}
.section.shortcut .nav li.icon:hover,
.section.shortcut .nav li.icon:focus {
	box-shadow: 0 0 0.5em rgba(255, 255, 255, 1);
}
.section.shortcut .nav li.icon a {
	height: 100%;
	width: 100%;
}
.section.shortcut a {
	color: rgba(255, 255, 255, 1);
}
.section.shortcut a:hover,
.section.shortcut a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(255, 255, 255, 1);
}
.section.shortcut a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(227, 5, 27, 1);
}

.section.shortcut .nav li.icon:last-child {
	margin-right: 0;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.section.shortcut {
		display: block;
		position: fixed;
		z-index: 100;
		top: 0;
		right: 0;
		width: auto;
		background-color: transparent;
	}
	.js .section.social.active ~ .section.shortcut {
		display: none ! important;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.section.shortcut {
		top: 1em;
		right: auto;
		margin-left: 10em;
		padding-top: 1em;
		padding-bottom: 1em;
		width: 30em;
		text-align: right;
	}
	.js .section.social.active ~ .section.shortcut {
		display: block ! important;
	}
}



/*
// ------------------------------------------------------------------
// Legal
// ------------------------------------------------------------------
*/

.section.legal {
	padding-top: 0;
	color: rgba(255, 255, 255, 1);
	background-color: rgba(60, 60, 60, 1);
}
.section.legal label {
	display: none;
}
.section.legal .nav.block {
	display: block;
	font-size: 90%;
}

.section.legal a {
	color: rgba(255, 255, 255, 1);
}
.section.legal a:hover,
.section.legal a:focus {
	color: rgba(227, 5, 27, 1);
	background-color: rgba(255, 255, 255, 1);
}
.section.legal a:active {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(227, 5, 27, 1);
	border-color: rgba(227, 5, 27, 1);
}


@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.section.legal {
		padding-top: 2.5%;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.section.legal {
		padding-top: 2em;
	}
}



/*
// ------------------------------------------------------------------
// Inhalt
// ------------------------------------------------------------------
*/

/* Datum */

.teaser tt {
	opacity: 0.5;
}

.date .teaser tt {
	opacity: 1.0;
}



/* Seiten-Überschrift */
.topic {
	margin-bottom: 1em;
	font-size: 110%;
}
.topic h1 {
	margin-top: 0;
}
.topic .preview {
	margin-top: 0.4em;
}
.topic .preview img {
	width: auto;
	height: auto;
	max-width: 80px;
	max-height: 60px;
}
.topic.big .preview img {
	max-width: 160px;
	max-height: 120px;
}
.topic .teaser {
	font-style: italic;
}
.topic .preview + .teaser {
	margin-left: 82px;
	padding-left: 1em;
}
.topic.big .preview + .teaser {
	margin-left: 162px;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.topic {
		margin-bottom: 1.5em;
	}
	.aside .topic {
		margin-bottom: 1.25em;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.topic {
		margin-bottom: 2em;
		font-size: 120%;
	}
	.aside .topic {
		margin-bottom: 1.5em;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.topic {
		margin-bottom: 2.5em;
	}
	.aside .topic {
		margin-bottom: 1.75em;
	}
}
@media only screen and (min-width: 80em) {
	.topic {
		margin-bottom: 3em;
		font-size: 125%;
	}
	.aside .topic {
		margin-bottom: 2em;
	}
}



/* Spalten */
.columns {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	align-items: flex-start;
	align-content: flex-start;
}
.columns::after {
	content: ".";
	display: block;
	position: relative;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}	

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
	.columns .text {
		width: 50%;
	}
	.columns .text:nth-of-type(odd) {
		padding-right: 1.25%;
	}
	.columns .text:nth-of-type(even) {
		padding-left: 1.25%;
	}
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
	.columns .text:nth-of-type(odd) {
		padding-right: 1em;
	}
	.columns .text:nth-of-type(even) {
		padding-left: 1em;
	}
}



/* Preview-Image */

.preview {
	display: inline;
	float: left;
	margin-bottom: 0.5em;
}
.preview p {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	padding: 0;
	line-height: 0;
	height: 62px;
	width: 82px;
	background-color: rgba(218, 218, 218, 0.5);
	border: 1px solid rgba(218, 218, 218, 1);
	box-shadow: 0 0 0.5em rgba(218, 218, 218, 1);
}
.preview a,
.preview img {
	margin: 0;
	padding: 0;
	text-indent: 0;
	line-height: 0;
	border: none;
}
.preview a {
	height: auto;
	width: auto;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.big .preview p {
		height: 122px;
		width: 162px;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
}
@media only screen and (min-width: 80em) {
}


/* Entry-Box */

.entries {
}
.entries h1 {
	width: 100%;
}
.entry {
	position: relative;
	clear: both;
	width: 100%;
	margin-bottom: 1em;
}
.entry h2 {
	margin-top: 0;
	width: 100%;
}
.entry h2 a {
	margin-left: -0.1em;
	margin-right: -0.1em;
	padding-left: 0;
	text-indent: 0;
	color: inherit;
	border-color: rgba(255, 255, 255, 1);
}
.entry h2 a:hover,
.entry h2 a:focus {
	color: rgba(227, 5, 27, 1);
}
.entry h2 a:active {
	color: rgba(255, 255, 255, 1);
	border-color: rgba(227, 5, 27, 1);
}
.entry .preview {
	margin-top: 0.2em;
	margin-right: 0.5em;
}
.entry .preview p {
	z-index: 10;
}
.entry .teaser {
}
.entry .teaser a span {
	display: none;
}
.entry .teaser p {
	margin-top: 0; 
	margin-bottom: 0;
}

.attachments .entry .teaser p {
	color: rgba(60, 60, 60, 0.5); 
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.entry {
		margin-bottom: 1.5em;
	}
	.entry .preview {
		margin-right: inherit;
	}
	.entry .preview + .teaser {
		margin-left: 82px;
		padding-left: 1em;
	}
	.big .entry .preview + .teaser {
		margin-left: 162px;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.entry {
		margin-bottom: 2em;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.entry {
		margin-bottom: 2.5em;
	}
}
@media only screen and (min-width: 80em) {
	.entry {
		margin-bottom: 3em;
	}
/*
	.article .entries {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		align-content: flex-start;
	}
	.article .entry {
		width: 50%;
	}
	.article .entry:nth-of-type(odd) {
		padding-right: 1em;
		padding-left: 0;
	}
	.article .entry:nth-of-type(even) {
		padding-left: 1em;
		padding-right: 0;
	}
	.article .columns .entry {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
*/
}



/* Letzte Änderung */

.modification {
	opacity: 0.5;
}



/* Pagemeta */

.pagemeta {
	margin-bottom: 1em;
}
.pagelinks {
	margin-top: 1em;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.pagemeta {
		margin-bottom: 1.5em;
	}
	.pagelinks {
		margin-top: 1.5em;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.pagemeta {
		margin-bottom: 2em;
	}
	.pagelinks {
		margin-top: 2em;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.pagemeta {
		margin-bottom: 2.5em;
	}
	.pagelinks {
		margin-top: 2.5em;
	}
}
@media only screen and (min-width: 80em) {
	.pagemeta {
		margin-bottom: 3em;
	}
	.pagelinks {
		margin-top: 3em;
	}
}



/* Article-Links */

.article .links {
}
.article .links p {
	margin-bottom: 0;
}
.article .links p:last-child {
	margin-bottom: inherit;
}
.article .links p ~ p {
	margin-top: 0;
}



/* Galerie und Media */

.article .media,
.article .gallery {
	position: relative;
	width: 100%;
}
.article .media::after,
.article .gallery::after {
	content: ".";
	display: block;
	position: relative;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.article .media .audio,
.article .media .video {
	position: relative;
	width: 100%;
	text-align: center;
	background-color: rgba(218, 218, 218, 1);
	
}

.article .gallery .preview {
	margin: 0 0.5em 0.5em 0;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.article .gallery .preview {
		margin: 0 1em 1em 0;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.article .gallery .preview {
		margin: 0 1.5em 1.5em 0;
	}
}
@media only screen and (min-width: 80em) {
	.article .gallery .preview {
		margin: 0 2em 2em 0;
	}
}



/* Note */

.note {
	padding: 1em;
	background-color: rgba(227, 5, 27, 0.1);
	border: 0.1em solid rgba(227, 5, 27, 1.0);
}



/* Login */

.login {}

.login fieldset {
	margin: 0;
	padding: 0.25em 1.25em;
	background-color: rgba(60, 60, 60, 0.05);
	border: 0.1em solid rgba(218, 218, 218, 1);
	border-radius: 0em;
}

.login fieldset p {}

.login fieldset p label {
	display: block;
}
.login fieldset p input {
	display: block;
	width: 100%;
}



/* Statement */

.statement {}

.statement .entries .entry {
	margin-bottom: inherit;
}

.statement .preview {
	border: 0.25em solid rgba(255, 255, 255, 1);
	border-radius: 0.25em;
	box-shadow: 0 0 0.5em rgba(100, 100, 100, 1);
}

/* Team & Kontakt-Info */

.team {
	padding: 0.5em;
	margin-bottom: 0.5em;
	background-color: rgba(218, 218, 218, 1);
}
.team::after {
	content: ".";
	display: block;
	position: relative;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.team h3 {
	margin-top: 0;
	margin-left: 30%;
}
.team p {
	margin-left: 30%;
}

/*
.team p.kontact {
	clear: left;
	margin-left: 0;
	margin-bottom: 0;
}
*/

.team .portrait {
	margin: -2.75em 0 0.5em 0;
	width: 27.5%;
	border: 0.25em solid rgba(255, 255, 255, 1);
	border-radius: 0.25em;
	box-shadow: 0 0 0.5em rgba(100, 100, 100, 1);
}

.team .org {
	font-weight: bold;
}
.team .role {
	font-style: italic;
}
.team .note {
	margin-left: 30%;
	font-style: italic;
	padding: 0;
	background-color: inherit;
	border: none;
}

.kontact .entry {
	padding-left: 0 ! important;
	padding-right: 0 ! important;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.team {
		padding: 1em;
		margin-bottom: 1em;
	}
	.team .portrait {
		margin-bottom: 0;
	}
	.team p.kontact {
		clear: none;
		margin-left: 30%;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.team {
		margin-bottom: 1.25em;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.team {
		padding: 1.5em;
		margin-bottom: 1.5em;
	}
}
@media only screen and (min-width: 80em) {
	.team {
		padding: 2em;
		margin-bottom: 2em;
	}
	.team h3,
	.team p,
	.team p.note,
	.team p.kontact {
		margin-left: 25%;
	}
	.team .portrait {
		width: 22.5%;
	}
}



/* Banner-Hinweis */

.advertisement {
	display: block;
	position: relative;
	clear: both;
	margin-bottom: 1em;
}
.advertisement p {
	display: block;
	position: relative;
	width: 236px;
	margin: 0 0 0 -118px;
	padding: 0;
	left: 50%;
	font-size: 80%;
	line-height: 100%;
	text-align: right;
	color: rgba(218, 218, 218, 1);
}
.advertisement a {
	display: block;
	position: relative;
	width: 236px;
	height: 62px;
	margin: 0 0 0 -118px;
	padding: 0;
	left: 50%;
	color: rgba(60, 60, 60, 0.25);
	line-height: 100%;
	background-color: transparent;
	border: 1px solid rgba(218, 218, 218, 1);
	border-radius: 0;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	.advertisement {
		margin-top: -0.5em;
		margin-bottom: 1.5em;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	.advertisement {
		margin-top: -1em;
		margin-bottom: 2em;
	}
}
@media only screen and (min-width: 64em) {
}
@media only screen and (min-width: 70em) {
	.advertisement {
		margin-bottom: 2.5em;
	}
}
@media only screen and (min-width: 80em) {
	.advertisement {
		margin-bottom: 3em;
	}
}


/* Termin */

.section.main .date {
	margin-bottom: 2em;
}
.section.main .date dl {
}
.section.main .date dt {
	font-weight: bold;
}
.section.main .date dd {
}
.section.main .date dd address {
	margin-top: 1em;
	font-style: normal;
}

.section.main .vcalender {
	padding: 1em;
	background-color: rgba(218, 218, 218, 1);
	/* box-shadow: 0 0 0.5em rgba(218, 218, 218, 1); */
}
.section.main .vcalender p {
	margin: 0;
	height: 2em;
}
.section.main .vcalender p a {
	display: block;
	line-height: 2em;
}



/* Newsletter */

.newsletter.disclaimer {
	margin-top: 1em;
	padding: 1em;
	background-color: rgba(60, 60, 60, 0.1);
	border: 0.1em solid rgba(60, 60, 60, 1);
}

.newsletter.success {
	padding: 1em;
	background-color: rgba(91, 153, 69, 0.1);
	border: 0.1em solid rgba(91, 153, 69, 1.0);
}

.newsletter.error {
	margin-bottom: 1em;
	padding: 1em;
	background-color: rgba(136, 42, 48, 0.1);
	border: 0.1em solid rgba(136, 42, 48, 1.0);
}



/* Karte */

#maps {
	z-index: 1;	
	width: 100%;
	height: 25em;
	box-shadow: 0 0 0.5em rgba(218, 218, 218, 1);
	border: 1px solid rgba(218, 218, 218, 1);
	background-color: rgba(218, 218, 218, 1);
}
#map {
	z-index: 1;	
	width: 100%;
	height: 100%;
}

@media only screen and (min-width: 30em) {
}
@media only screen and (min-width: 40em) {
	#maps {
		height: 30em;
	}
}
@media only screen and (min-width: 48em) {
}
@media only screen and (min-width: 60em) {
	#maps {
		height: 35em;
	}
}
@media only screen and (min-width: 64em) {
	#maps {
		height: 40em;
	}
}
@media only screen and (min-width: 70em) {
	#maps {
		height: 45em;
	}
}
@media only screen and (min-width: 80em) {
	#maps {
		height: 50em;
	}
}
