/* ====================================================================================================
 *
 * Theme Name: Könning
 * Version: 1.0
 * Author: HS Onlinemarketing
 * Author URI: https://www.hs-onlinemarketing.de
 *
 * ----------------------------------------------------------------------------------------------------
 *
 * [00] SETUP
 * [01] GLOBALS
 * [02] HEADER
 * [03] MAIN CONTENT
 * [04] FOOTER
 * [05] PAGE: MITARBEITERBEREICH
 * [06] MISCELLANEOUS
 *
 * ==================================================================================================== */




@charset "UTF-8";




/* ----------------------------------------------------------------------------------------------------
 * [00] SETUP
 * ---------------------------------------------------------------------------------------------------- */


/* -- Source Sans Pro */

/* Regular */
@font-face {
  font-family: "Source Sans Pro";
  src: url("vendor/fonts/SourceSansPro-Regular.ttf");
  font-style: normal;
  font-weight: 400;
}

/* Semi-bold */
@font-face {
  font-family: "Source Sans Pro";
  src: url("vendor/fonts/SourceSansPro-SemiBold.ttf");
  font-style: normal;
  font-weight: 600;
}

/* Bold */
@font-face {
  font-family: "Source Sans Pro";
  src: url("vendor/fonts/SourceSansPro-Bold.ttf");
  font-style: normal;
  font-weight: 700;
}

/* Black */
@font-face {
  font-family: "Source Sans Pro";
  src: url("vendor/fonts/SourceSansPro-Black.ttf");
  font-style: normal;
  font-weight: 900;
}




/* ----------------------------------------------------------------------------------------------------
 * [01] GLOBALS
 * ---------------------------------------------------------------------------------------------------- */


html {
  overflow-y: scroll;
  font-size: 100%;
}
body {
  background-color: #fff;
  color: #000;
  font: 1/1.5 "Source Sans Pro", sans-serif;
  hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  font-family: 'Source Sans Pro', sans-serif;
  padding: 0;
	margin: 0;
	border: none;
	font-size: 16px;
}

#page {
	overflow: hidden;
	min-width: 220px;
}

a {
  border-bottom: 1px solid transparent;
  text-decoration: none;
  transition: 0.2s ease-in;
}
a:hover,
a:active,
a:focus {
  border-color: inherit;
  text-decoration: none;
}




/* ----------------------------------------------------------------------------------------------------
 * [02] HEADER
 * ---------------------------------------------------------------------------------------------------- */


#header {
	display: none;
}
hr {
	display: none;
}
.logo a {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: inline-block;
	width: 180px;
  border: 0;
}
.logo img {
	width: 100%;
	height: auto;
}

.show-menu {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  display: flex;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: 0.4s ease-in;
}
.show-menu span {
  position: absolute;
  display: block;
  transform: translateY(50%);
  width: 100%;
  height: 3px;
  opacity: 1;
  background-color: #000000;
  content: "";
  transition: 0.4s ease-in;
}
.show-menu span:nth-of-type(1) {
  top: calc(50% - 12px);
}
.show-menu span:nth-of-type(2) {
  top: calc(50% - 3px);
}
.show-menu span:nth-of-type(3) {
  top: calc(50% + 6px);
}
.open .show-menu span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
  transform-origin: center;
}
.open .show-menu span:nth-of-type(2) {
  opacity: 0;
}
.open .show-menu span:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
}
.header {
	position: relative;
	height: 90px;
}
.header .menu {
	opacity: 0;
	visibility: hidden;
	list-style: none;
	font-size: calc(24px + (64 - 24) * ((100vw - 300px) / (1600 - 300)));
	position: absolute;
	left: 0;
	top: 90px;
	width: 100%;
	z-index: 999;
	background: rgba(143, 207, 31, 0.9);
	padding: 140px 15px 0;
	height: calc(100vh - 90px);
  transition: all 0.4s;
}
.header .menu li {
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}
.header .menu li a {
  border-width: 3px;
	color: #fff;
	outline: none !important;
}
.header.open .menu {
	opacity: 1;
	visibility: visible;	
}


/* RWD styles
 * ---------- */

@media (min-width: 767px) {

	.logo a {
		width: 300px;
	}

}




/* ----------------------------------------------------------------------------------------------------
 * [03] MAIN CONTENT
 * ---------------------------------------------------------------------------------------------------- */


.home-slider,
.sow-slider-image-wrapper,
.hero {
	position: relative;
	height: calc(100vh - 90px) !important;
}
.sow-slider-base .sow-slide-nav a {
  border: 0;
}
.sow-slider-base .sow-slider-pagination {
  right: 0;
  left: auto;
  width: auto;
}
.arrow-bottom {
	position: absolute;
	bottom: 60px;
	left: 0;
	right: 0;
	margin: 0 auto;
  transition: all 0.3s;
}
.arrow-bottom:hover {
	bottom: 55px;
}
.arrow-bottom a {
  border: 0;
}
.large-pic h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	font-size: calc(40px + (96 - 40) * ((100vw - 300px) / (1600 - 300)));
	color: #fff;
	line-height: 110%;
	font-weight: 400;
  hyphens: none;
  -moz-hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
}
.large-pic h1 span {
	color: #8fcf1f;
	font-weight: 700;
}
.large-pic h1 small {
	font-size: 0.5em;
	font-weight: 700;
}
.center-box {
	width: 600px;
	margin: 0 auto;
}
.home .center-box2 {
	position: relative;
	z-index: 0;
}
.home .center-box2:after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	opacity: 0.3;
	background: #000;
	content: "";
}
.center-box p, .center-box2 p,
.center-box ul, .center-box2 ul {
	font-size: 16px;
	line-height: 140%;
}
.center-box ul, .center-box2 ul {
	margin-left: 15px;
	padding: 0;
	list-style: none;
}
.center-box ul li, .center-box2 ul li {
	position: relative;
	padding: 0 0 0 15px;
	list-style: none;
}
.center-box ul li:before, .center-box2 ul li:before {
	width: 2px;
	height: 2px;
	background: #000;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-o-border-radius: 50%;  
	content: '';
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 0;
}
.center-box2 .panel-layout {
	width: 730px;
	margin: 0 auto;
}

.center-box h2, .center-box2 h2, .center-box h1, .center-box2 h1 {
	font-size: 42px;
	color: #8fcf1f;
	font-weight: 700;
	line-height: 110% !important;
	padding-bottom: 20px !important;
}
.center-box2 h2, .center-box2 h1 {
	text-align: left !important;
}
.pics .link {
	min-height: 400px;
	
}
.logos ul {
	margin: 20px 0 0 40px;
}
.logos li {
	margin: 0 10px;
	display: inline-block;
}
.logos li:before {
	display: none !important;
}
.pics .panel-grid-cell {
	position: relative;
}
.pics .link a {
	width: 100%;
	height: 100%;
	display: block;
	color: #fff;
	font-size: 36px;
	font-weight: 700;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	padding-top: 160px;
  border: 0;
}
.pics .link {
	overflow: hidden;
	
}
.pics .link a:hover {
	background-color: rgba(143, 207, 31, 0.3);
  transition: all 0.3s;
	
}
.pics .arrow span {
	position: absolute;
	top: 54%;
	left: 0;
	right: 0;
	margin: 0 auto;
  transition: all 0.3s;
}
.pics .panel-grid-cell:hover .arrow span {
	left: 3%;
}
.cols {
	position: relative;
}
.cols h2 {
	font-size: 54px;
	color: #fff;
	margin: 0;
	padding: 0;
	font-weight: 700;
}
.cols h2 em {
	background: #8fcf1f;
	padding: 0 15px;
	border-bottom: 1px solid #fff;
	font-style: normal;
	line-height: 130%;
}
.cols h2 em:last-child {
	border: 0;
}
.cols .sow-accordion {
	font-size: 16px;
	margin-top: 60px !important;
	border-bottom: 1px solid #000 !important;
}
.cols .sow-accordion-panel {
	margin: 0 !important;
}
.cols .sow-accordion-panel-header {
	padding: 15px 0 !important;
	border-top: 1px solid #000 !important;
	background: none !important;
	color: #000 !important;
	outline: none !important;
}
.cols .sow-accordion-panel-border {
	background: none !important;
	padding: 15px 0 !important;
	border-top: 1px solid #000 !important;
}
.cols .sow-icon-ionicons { 
	font-size: 12px !important;
}
/* .sow-accordion .sow-icon-ionicons[data-sow-icon]:before {
	hyphens: none;
	-moz-hyphens: none;
	-webkit-hyphens: none;
	-ms-hyphens: none;
	font-family: "Source Sans Pro", sans-serif;
}
.sow-accordion .sow-accordion-open-button .sow-icon-ionicons[data-sow-icon]:before {
	content: "[Profil\00a0öffnen]";
}
.sow-accordion .sow-accordion-close-button .sow-icon-ionicons[data-sow-icon]:before {
	content: "[Profil\00a0schließen]";
} */

.two-columned-text {
	column-count: 2;
	column-gap: 2rem;
}

.textwidget a {
	border-bottom: 1px solid transparent;
	color: #8fcf1f;
	text-decoration: none;
	transition: 0.2s ease-in;
}
.textwidget a:hover,
.textwidget a:active,
.textwidget a:focus {
	border-color: #8fcf1f;
}

.textwidget h3,
.textwidget h4 {
	margin: 2em 0 1em;
	color: #8fcf1f;
	font-weight: 700;
}
.textwidget h3 {
	font-size: 1.5rem;
}
.textwidget h4 {
	font-size: 1.25rem;
}


/* Text-image combination 
 * ---------------------- */

.text-image-container {
  align-items: stretch !important;
}

.text-container {
  display: flex;
  justify-content: center;
  padding: 60px;
}
.text-container *:first-child {
  margin-top: 0;
}
.text-container > *:last-child {
  margin-bottom: 0;
}
.text-container .rsv-logo {
  max-width: 100%;
  height: auto;
  margin-top: 30px;
}

.image-container,
.image-container div {
  height: 100%;
  max-height: 100%;
  background-position: bottom right !important;
}

/* -- RWD styles */

@media(min-width: 768px) {

  .text-image-container .image-container img {
    display: none !important;
  }

}

@media(max-width: 767px) {

  .text-image-container .panel-grid-cell {
    margin-bottom: 0;
  }

}




/* ----------------------------------------------------------------------------------------------------
 * [04] FOOTER
 * ---------------------------------------------------------------------------------------------------- */


.footer {
	padding: 50px 70px;
	background: #333;
	color: #fff;
	font-size: 16px;
}
.footer p {
	line-height: 160%;
}

.footer-logo a {
  border: 0;
}
.footer-logo img {
  width: 100%;
  max-width: 300px !important;
	height: auto !important;
  margin-bottom: 30px;
}

.footer .social {
  display: inline-block;
  margin-right: 15px;
  text-align: center;
}
.footer .social a {
	background: #fff;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	display: inline-block;
  transition: all 0.3s;
}
.footer .social a:hover {
	opacity: 0.8;
}
.footer .social span {
	display: inline-block;
  width: 45px;
  height: 45px;
  margin-top: 10px;
  color: #333333;
	font-size: 26px;
}

.bottom {
	background: #000;
	color: #fff;
	font-size: 16px;
	padding: 10px 0;
}
.bottom .nav {
  flex-direction: row-reverse;
}
.bottom em {
	margin: 0 5px;
	font-style: normal;
}
.bottom p, .bottom .menu {
	padding: 0;
	margin: 0;
}
.bottom li {
	display: inline-block;
	list-style: none;
	border-left: 1px solid #fff;
	padding: 0 7px;
	line-height: 120%;
}
.bottom li:first-child {
	border: none;
}
.bottom li a {
	color: #fff;
}

.up {
	position: fixed;
	right: 2%;
	bottom: 40px;
	z-index: 77;
	width: 45px;
	height: 45px;
	background: #8fcf1f;
	border-radius: 50%;
	display: none;
  text-align: center;
  transition: all 0.3s;
}
.up:hover {
	bottom: 45px;
}
.up a {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
  border: 0;
}
.up a span {
  display: inline-block;
  width: 45px;
	height: 45px;
  margin-top: 8px;
  color: #ffffff;
	font-size: 26px;
}




/* ----------------------------------------------------------------------------------------------------
 * [05] PAGE: MITARBEITERBEREICH
 * ---------------------------------------------------------------------------------------------------- */


/* General
 * ------- */

.mitarbeiterbereich .section {
  padding: 60px 0;
}
.mitarbeiterbereich .section + .section {
  border-top: 1px solid #dddddd;
}

.mitarbeiterbereich .section h2 {
  padding-bottom: 30px;
  color: #8fcf1f;
  font-size: 42px;
  font-weight: 700;
  line-height: 110%;
}
.mitarbeiterbereich .section h3 {
  padding-bottom: 15px;
  color: #8fcf1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 110%;
}

.mitarbeiterbereich .section .item + .item {
  padding-top: 45px;
}

.mitarbeiterbereich .section .btn + small {
  padding-left: 10px;
}


/* Section: Telefonliste
 * --------------------- */

.mitarbeiterbereich .section table thead {
  background-color: #dddddd;
}

.mitarbeiterbereich .section table tr {
  border-bottom: 1px solid #8fcf1f;
}
.mitarbeiterbereich .section table tr:nth-child(even) {
  background-color: #fafafa;
}

.mitarbeiterbereich .section table td,
.mitarbeiterbereich .section table th {
  padding: 5px 15px 5px 5px;
}


/* Navigation
 * ---------- */

.mitarbeiterbereich .navigation {
  padding: 60px 0;;
}

.mitarbeiterbereich .navigation h3 {
  padding-bottom: 15px;
  color: #8fcf1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 110%;
  text-transform: uppercase;
}

.mitarbeiterbereich .navigation ul {
  padding-left: 0;
  list-style-type: none;
}
.mitarbeiterbereich .navigation ul li + li {
  padding-top: 10px;
}
.mitarbeiterbereich .navigation ul li a {
  border: 0;
  color: #6c757d;
  font-size: 20px;
}
.mitarbeiterbereich .navigation ul li a:hover,
.mitarbeiterbereich .navigation ul li a:active,
.mitarbeiterbereich .navigation ul li a:focus {
  color: #8fcf1f;
}





/* ----------------------------------------------------------------------------------------------------
 * [06] MISCELLANEOUS
 * ---------------------------------------------------------------------------------------------------- */


.map  iframe {
  width: 100%;
  height: 320px;
  margin-top: 30px;
}

 
@media screen and (max-width: 768px) {
 	.center-box, .center-box2 {
 		width: 100%;
 	}
 	.bottom ul {
 		text-align: left;
 		padding-left: 0;
 	}
 	.bottom li:first-child {
 		padding-left: 0;
 	}
 	.large-pic h1 br {
 		display: none;
 	}
 	.cols h2 {
 		font-size: 40px;
 	}
 	.center-box h2, .center-box2 h2,
 	.center-box h1, .center-box2 h1 {
 		font-size: 30px;
 		margin: 0;
 		padding: 0;
 	}
 	.header .panel-grid-cell, .header .so-panel {
 		margin-bottom: 0 !important;
 	}
 	.center-box {
 		margin: -50px auto;
 	}
 	.header .menu {
 		padding-top: 70px;
 		min-height: 350px;
 	}
 	.center-box2 .panel-layout {
 		width: 90%;
 	}
 	.logos ul {
 		margin: 0;
	 }
	.footer,
	.bottom,
	.bottom ul {
	 text-align: center;
	}
	.footer {
		padding: 30px 0;
	}
	.footer .widget_sow-icon {
		display: inline-block;
		float: none;
		margin: 15px;
	}
 	
}