@charset "UTF-8";
/* CSS Document */

/**
 * Theme Name:     iwk
 * Theme URI:      https://iwk-sha.de/
 * Description:    Theme der ersten Generation für iwk
 * Author:         Der Hersteller
 * Author URI:     https://www.der-hersteller.de
 * Version:        1.0
 */




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * GLOBALS                                                                       *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
html {
	scroll-behavior: smooth;
}
body {
	font: 62.5%/1.5em 'source_sans_proregular', Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a {
	transition: all 1s; 
}
a, a:active, a:link, a:visited {
    color: inherit;
    text-decoration: none;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.left {float: left;}
.right {float: right;}
.clear {clear: both;}

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

.mobile-only {display: none !important}
.nowrap {white-space: nowrap;}
.uppercase {text-transform: uppercase;}

.background-cover {
	background-position: center center;
  	background-repeat: no-repeat;
  	-webkit-background-size: cover;
  	-moz-background-size: cover;
  	-o-background-size: cover;
  	background-size: cover;
}
.multiply {
	mix-blend-mode: multiply;
}
.shadow {
	-moz-box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
	-webkit-box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
	box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
}

.box-sizing {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.hyphens {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.flex {
	display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.stretch {
	align-self: stretch;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * TYPOSATZ                                                                      *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h1 {
    font-family: 'source_serif_proregular';
    font-size: 4.5em;
    line-height: 1.1em;
    color: rgb(255,255,255);
}
h2 {
    font-family: 'source_serif_prosemibold';
    font-size: 3em;
    line-height: 1.1em;
    margin-bottom: 0.8em;
}
#main p + h2,
#main ul + h2,
#main p + h3,
#main ul + h3 {
    margin-top: 2.4em;
}
h3 {
    font-family: 'source_serif_prosemibold';
    font-size: 2.4em;
    line-height: 1.4em;
    margin-bottom: 0.4em;
}
h4 {	
}
h5 {	
}
#main p, #main ul {
    font-size: 2.4em;
    line-height: 1.4em;
    margin: 0 0 1.4em 0;
}
#main ul {
	list-style: none;
	padding: 0 0 0 0;
}
#main ul li {
	padding-left: 1em;
    position: relative;
}
#main ul li:before {
	content: " · ";
	position: absolute;
	left: 0;
    top: 0;
	font-size: 2em;
}
i, em {
	font-style: normal;
}
b, strong {
    font-family: 'source_sans_prosemibold';
	font-weight: normal;
}
#main a {
    text-decoration: underline;
}
#main h2 a {
    text-decoration: none;
}
#main a:hover,
#main a:focus,
#main a:active {
    text-decoration: none;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * CONTENT.                                                                      *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#wrapper {
    overflow: hidden;
}
#main {
    padding-top: 23.5em;
}
.start #main {
    padding-top: 0;
    margin-top: -27em;
}
section {
    position: relative;
    margin-bottom: 12em;
}
.anchor {
    position: absolute;
    top: -12em;
}

.inside,
.content {
    width: 96em;
}
.inside {
    margin: 0 auto;
}
.content {
    padding: 0 6em;
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.extended-right {
    width: 100vw;
    padding-bottom: 4em;
}
.extended-left {
    padding-bottom: 4em;
    margin-left: calc(-100vw / 2 + 480px / 2);
}
.headline {
    height: 15em;
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: flex-start;
    margin-bottom: 4.8em;
}
.flex-end {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}
.headline.flex-end {
    justify-content: center;
}

/* COLOR-SCHEME */
.petrol .extended-right,
.petrol .extended-left {
    background: rgba(225,231,234,1);
}
.petrol .headline {
    background: rgb(39,119,126);
}
.petrol input[type=text]:active,
.petrol input[type=email]:active,
.petrol input[type=tel]:active,
.petrol input[type=text]:focus,
.petrol input[type=email]:focus,
.petrol input[type=tel]:focus,
.petrol input[type="checkbox"],
.petrol input[type="radio"] {
    border: 1px solid rgb(39,119,126);
}
.petrol input[type=submit] {
	background: rgb(39,119,126);
}

.pink .extended-right,
.pink .extended-left {
    background: rgba(179,27,88,0.15);
}
.pink .headline {
    background: rgb(179,27,88);
}
.pink input[type=text]:active,
.pink input[type=email]:active,
.pink input[type=tel]:active,
.pink input[type=text]:focus,
.pink input[type=email]:focus,
.pink input[type=tel]:focus,
.pink input[type="checkbox"],
.pink input[type="radio"] {
    border: 1px solid rgb(179,27,88);
}
.pink input[type=submit] {
	background: rgb(179,27,88);
}

.mint .extended-right,
.mint .extended-left {
    background: rgba(147,188,194,0.15);
}
.mint .headline {
    background: rgb(147,188,194);
}
.mint input[type=text]:active,
.mint input[type=email]:active,
.mint input[type=tel]:active,
.mint input[type=text]:focus,
.mint input[type=email]:focus,
.mint input[type=tel]:focus,
.mint input[type="checkbox"],
.mint input[type="radio"] {
    border: 1px solid rgb(147,188,194);
}
.mint input[type=submit] {
	background: rgb(147,188,194);
}

.blau .extended-right,
.blau .extended-left {
    background: rgba(49,78,117,0.15);
}
.blau .headline {
    background: rgb(49,78,117);
}
.blau input[type=text]:active,
.blau input[type=email]:active,
.blau input[type=tel]:active,
.blau input[type=text]:focus,
.blau input[type=email]:focus,
.blau input[type=tel]:focus,
.blau input[type="checkbox"],
.blau input[type="radio"] {
    border: 1px solid rgb(49,78,117);
}
.blau input[type=submit] {
	background: rgb(49,78,117);
}

.orange .extended-right,
.orange .extended-left {
    background: rgba(222,120,0,0.15);
}
.orange .headline {
    background: rgb(222,120,0);
}
.orange input[type=text]:active,
.orange input[type=email]:active,
.orange input[type=tel]:active,
.orange input[type=text]:focus,
.orange input[type=email]:focus,
.orange input[type=tel]:focus,
.orange input[type="checkbox"],
.orange input[type="radio"] {
    border: 1px solid rgb(222,120,0);
}
.orange input[type=submit] {
	background: rgb(222,120,0);
}

.oliv .extended-right,
.oliv .extended-left {
    background: rgba(128,118,2,0.15);
}
.oliv .headline {
    background: rgb(128,118,2);
}
.oliv input[type=text]:active,
.oliv input[type=email]:active,
.oliv input[type=tel]:active,
.oliv input[type=text]:focus,
.oliv input[type=email]:focus,
.oliv input[type=tel]:focus,
.oliv input[type="checkbox"],
.oliv input[type="radio"] {
    border: 1px solid rgb(128,118,2);
}
.oliv input[type=submit] {
	background: rgb(128,118,2);
}

/* FORM */
form {
    margin: 6em 0;
}
#main form p {
    margin-bottom: 1em;
}
label, input[type=text], input[type=email], input[type=tel], textarea {
	display: block;
	width: 100%;
}
input[type=text],
input[type=email],
input[type=tel] {
	border: 1px solid rgb(255,255,255);
	padding: 0.6em;
    background: rgb(255,255,255);
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
textarea {
	border: none;
	margin-bottom: 0.2em;
	padding: 0.6em;
	height: 7.2em;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
input[type="checkbox"],
input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    background-color: rgb(255,255,255);
	width: 0.9em !important;
	height: 0.9em !important;
	cursor: pointer;
	margin: 0.8em 0.8em 0 0;
	padding: 0;
	flex-shrink: 0;
	box-shadow: none !important;
}
input[type="checkbox"]:checked,
input[type="radio"]:checked {
	background-image: url(images/checkbox.png);
	background-image: url(images/checkbox.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 15px 11px;
}
input[type=submit] {
	color: rgb(255,255,255);
	border: none;
	text-align: right;
	cursor: pointer;
    padding: 0.4em 0.8em;
    margin-top: 1.4em;
    transition: 0.5s ease-in-out;
}
input[type=submit]:hover,
input[type=submit]:focus {
    opacity: 0.7;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * HEADER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#header {}
#header .header-top {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    padding: 2.4em 16em;
    background: rgb(255,255,255);
    z-index: 100;
    transition: top 0.5s ease-in-out;
}
#header,
#header .header-top,
#header .logo {
    transition: 0.4s ease-in-out;
}
#header.large .header-top {
    height: 23.5em;
}
#header.small .header-top {
    height: 12em;
}
#header.large .logo {
    width: 22.8em;
}
#header.small .logo {
    width: 10em;
}

#header .header-image {
    height: 84em;
    background-position: bottom center;
  	background-repeat: no-repeat;
  	-webkit-background-size: cover;
  	-moz-background-size: cover;
  	-o-background-size: cover;
  	background-size: cover;
    background-image: url("images/header-img.jpg");
}






/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * NAVIGATION                                                                    *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#sub-nav {
    margin-top: 1.5em;
}
#sub-nav ul {
}
#sub-nav ul > li {
    display: inline-block;
}
#sub-nav > ul > li:before {
  	content: " | ";
	margin: 0 0.4em;
	font-size: 2.4em;
}
#sub-nav > ul > li:first-child:before {
  	content: "";
	margin: 0;
}
#sub-nav ul > li > a {
    font-size: 2.4em;
    line-height: 1.4em;
}
#sub-nav ul > li > a:hover,
#sub-nav ul > li > a:active,
#sub-nav ul > li > a:focus,
#sub-nav ul > li.current-menu-item > a {
    color: rgb(179,27,88);
}

/* responsive-nav */
.open-nav {
    margin-top: 3.8em;
}
.open-nav img {
    width: 5.5em;
}
.close-nav {
    margin: 6em 0 0 16em;
}
.close-nav img {
    width: 3.6em;
}
.toggle-button {
}
.open-nav .toggle-button {
}
.close-nav .toggle-button {
}
.open-nav .toggle-button:hover,
.open-nav .toggle-button:active,
.open-nav .toggle-button:focus {
}
.close-nav .toggle-button:hover,
.close-nav .toggle-button:active,
.close-nav .toggle-button:focus {
}

#responsive-nav.toggle {
	width: 55em;
}
#responsive-nav {
	position: fixed;
	width: 0em;
	height: 100%;
	top: 0;
	left: 0;
	overflow-x: hidden;
	background: rgba(255,255,255,1);
	-webkit-transition:0.5s ease;  
   	-moz-transition:0.5s ease;  
   	-o-transition:0.5s ease;  
   	transition:0.5s ease;
	z-index: 200;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
#responsive-nav ul {
	width: 55em;
	padding: 6em 6em 6em 16em;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#responsive-nav ul li {
    margin-bottom: 1.8em;
}
#responsive-nav ul li a {
    display: inline-block;
    position: relative;
    font-family: 'source_sans_prosemibold';
    font-size: 3em;
    line-height: 1.1em;
    padding-bottom: 0.35em;
    -webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
#responsive-nav ul li a:after {
    content: "";
	background-color: rgb(0,0,0);
	position: absolute;
    height: 0.1em;
	bottom: 0;
	left: 0;
	width: 0;
    transition: 0.4s ease-in-out;
}
#responsive-nav ul li a:hover:after,
#responsive-nav ul li a:active:after,
#responsive-nav ul li a:focus:after,
#responsive-nav ul li.current-menu-item a:after,
#responsive-nav ul li.current-page-ancestor a:after {
    width: 100%;
}
#responsive-nav ul li ul {
    padding: 1.4em 6em 0em 3em;
}
#responsive-nav ul li ul li a {
    font-size: 2.4em;
}

.index-link {
     margin-top: 4.4em;
}
.index-link a {
    font-family: 'source_sans_prosemibold';
    font-size: 3em;
    line-height: 1.1em;
}
.index-link a:hover,
.index-link a:active,
.index-link a:focus {
    color: rgb(179,27,88);
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * FOOTER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#footer {
    display: flex;
    flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
    padding: 2.4em 16em 8em 16em;
}


