/*
Theme Name: Gridtenberg
Theme URI: http://web-spezialist.de
Description: Deutsch: Dieses Template war eine Idee von Kai Meinhardt. Es wird von Kai Meinhardt umgesetzt. Es darf nicht von anderen genutzt werden. Danke. English: Copyright (C) Kai Meinhardt (mehne.biz) - All Rights Reserved	
Author: Kai Meinhardt
Author URI: http://web-spezialist.de
Version: 0.1 beta
*/

/*
 * Copyright (C) Kai Meinhardt (mehne.biz) - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited
 * Proprietary and confidential
 * Written by Kai Meinhardt <info@mehne.biz>, 2016 - 2019
 */

/* kleiner reset */
*:focus {
	outline: none;
}

html,
body {
	margin: 0;
	padding: 0;
	font-family: "Hind", Helvetica, "Roboto", Arial, sans-serif;
	color: #0a0a0a;
	font-size: 10px;
	line-height: 1.5em;
	position: relative;
}

body {
	font-size: 16px;
}

* {
	box-sizing: border-box;
}

.container-fluid {
	max-width: 1200px;
	padding-left: 15px;
	padding-right: 15px;
	margin: auto;
}

.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}

img {
	max-width: 100%;
	height: auto;
}
img.img-responsive {
	width: 100%;
	height: auto;
}

p {
	margin-bottom: 2rem;
	margin-top: 0;
}

a,
a:active,
a:focus,
a:visited,
a:hover {
	text-decoration: none;
	color: #193e57;
}

/* wordpress klassen */
.alignright {
	float: right;
	margin-left: 20px;
	margin-bottom: 30px;
}

.alignleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 30px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* bootstrap heading-reset */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: 400;
}
@media (max-width: 370px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		word-break: break-all;
	}
}

h1,
h1 a {
	font-size: 3.6rem;
	line-height: 1.4em;
	color: #193e57;
}

h2,
h2 a {
	font-size: 2.4rem;
	font-weight: 700;
	color: #193e57;
}

h3,
h3 a {
	font-size: 2rem;
	font-weight: 700;
	color: #193e57;
}

h5 {
	color: #193e57;
	font-weight: 600;
	font-size: 1.92rem;
	border-bottom: 1px solid #193e57;
	margin-bottom: 0.96rem;
}

.subtitle {
	font-size: 2.24rem;
	margin-bottom: 2rem;
	display: block;
	color: #5e5e5e;
	font-weight: 400;
	line-height: 1.3;
}

.bg-white {
	background-color: #fff;
}

.bg-grey {
	background-color: #d8d8d8;
}

.white {
	color: #fff;
}

p + h1,
p + h2,
p + h3,
p + h4,
p + ul,
ul + h1,
ul + h2,
ul + h3,
ul + h4,
p + ol,
ol + h1,
ol + h2,
ol + h3,
ol + h4,
p + blockquote,
blockquote + h1,
blockquote + h2,
blockquote + h3,
blockquote + h4 {
	margin-top: 3rem;
}

strong {
	color: #193e57;
}

/* wenn slick slider verwendet wird */
.slick-list,
.slick-track {
	height: 335px;
}

.header-slider {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
}

.slick-dotted.slick-slider.header-slider {
	/* individuell */
	/* reset weil dots in slider verschoben */
	margin-bottom: 0;
}

.slider-bg {
	background-size: cover;
}

.slider-bg img {
	visibility: hidden;
}

.header-slider .slick-dots {
	z-index: 2;
	bottom: 20px;
}

.header-slider .slick-dots li button {
	background-color: transparent !important;
	color: transparent;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;

	padding: 0;
	background: #fff;
}

.header-slider .slick-dots li button:before {
	content: url("images/sliderpunkt.svg");
	width: 17px;
	height: 19px;
}

/* ende slick slider stuff */
.header-image {
	max-height: 421px;
	overflow: hidden;
}

.header-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Anpassungen individuell für diese Seite */
.page-header {
	border: 0;
	padding-bottom: 0;
	width: 100%; /* for position-fixed cases */
	z-index: 9999; /* for position-fixed cases */
	/* individuell */
	position: fixed;
	background-color: #fff;
	box-shadow: 0 0 9px 0 #5e5e5e;
}

/* mobiler Button */
.navbar-toggler {
	display: block;

	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	padding: 0;
	margin: 0;

	/* individuell */
	position: absolute;
	z-index: 2;
	right: 15px;
	top: 15px;
}
@media (min-width: 992px) {
	.navbar-toggler {
		display: none;
	}
}

.navbar-toggler:focus,
.navbar-toggler:hover {
	background-color: transparent;
	cursor: pointer;
}

.navbar-toggler .navbar-toggler-icon {
	background-image: url(images/burger.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	width: 35px;
	height: 24px;
}

.navbar-toggler.close .navbar-toggler-icon {
	background-image: url(images/close.svg);
}

/* Ende mobiler Button */

.navbar-brand {
	/* bootstrap resets */
	line-height: 100%;
	height: auto;
	/* individuell */
	width: 300px; /* FF benötigt original-breite hier */
}

.logo {
	display: block;
	margin: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center left;
	text-indent: -9999px;

	/* individuell */
	width: 120px;
	height: 26px;

	margin-top: 13px;
	margin-bottom: 16px;
}
@media (min-width: 992px) {
	.logo {
		width: 300px;
		height: 109px;

		margin-top: 24px;
		margin-bottom: 25px;
		transition: all 0.1s ease-in-out;
	}

	.logo.scrolled {
		margin-top: 15px;
		margin-bottom: 15px;
		transition: all 0.1s ease-in-out;
	}
}

.header-menu {
	margin: 0;
	padding: 0;
}

.header-menu li {
	list-style-type: none;
	display: inline-block;
}

.header-menu li:after {
	content: " ";
	display: table-cell;
	clear: both;
}

.contact-area a {
	font-size: 14px;
	text-decoration: none;
}

.contact-area .header-menu li a {
	padding: 11px 5px 5px 5px;
}

/* Menü - Ebene 1 und Tiefer */

.navbar {
	width: 100%;
	z-index: 2;

	/* für "normales" aufklapp-menü */
	/*
	position: absolute;
	max-height: 0;
	overflow: hidden;
	transition: max-height 1s linear;
	*/

	/* für off-canvas menu */
	position: fixed;
	max-width: 250px;
	height: 100%;
	transform: translateX(-250px);
	transition: all 0.4s ease-in-out;

	/* individuell */
	top: 55px;
}

.navbar.show {
	/* für "normales" aufklapp-menü */
	/*
	height: auto;
	max-height: none;
	transition: max-height 1s linear;
	*/

	/* für off-canvas menu */
	transform: translateX(0);
	transition: all 0.3s ease-in-out;
}

@media (min-width: 992px) {
	.navbar {
		/* off canvas menu reset */
		transform: translateX(0);
		transition: none;
		max-width: none;

		/* individuell */
		position: relative;
		top: 0;
		background-color: rgba(10, 10, 10, 0.8);
		width: 100%;
	}

	.navbar-expand-md {
		max-height: none;
	}
}

.navbar-collapse {
	height: 100%;
	padding: 0;
}

.nav {
	margin: 0;
	padding: 0;

	background-color: rgb(94, 94, 94);
	height: 100%;
}
@media (min-width: 992px) {
	.nav {
		height: auto;
		background-color: transparent;
		font-size: 0; /* wegen inline-block-space */
	}
}

.nav li {
	list-style-type: none;
}

@media (min-width: 992px) {
	.nav li {
		display: inline-block;
		font-size: 1.6rem; /* wegen inline-block-space */
	}
}

/* Menü - Ebene 1 */
.nav > li a {
	font-weight: 300;
	color: #fefefe;

	text-decoration: none;

	display: block;

	padding: 23px 15px 19px;
	border-bottom: 1px solid #fefefe;
}

@media (min-width: 992px) {
	.nav > li a {
		padding: 7px 15px;
		border-bottom: 0;
		background-color: transparent;
	}

	.nav > li.current-menu-item > a,
	.nav > li.current-menu-ancestor > a,
	.nav > li > a:focus,
	.nav > li > a:hover,
	.nav .open > a,
	.nav .open > a:focus,
	.nav .open > a:hover {
		background-color: #fefefe;
		color: #0a0a0a;
	}
}

.menu-item-has-children {
	cursor: pointer;
	position: relative; /*for position of menu level 3*/
}

.dropdown-toggle .dashicons {
	float: right;
}
@media (min-width: 992px) {
	.dropdown-toggle .dashicons {
		display: none;
	}
}

/* Untermenüs */
.dropdown-menu {
	/*resets*/
	list-style: none;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	font-size: 100%;
	text-align: left;

	/*mobile*/
	width: 100%;
	/*display: none;*/

	/* individuell */
	background: #d8d8d8;

	/* aufklapp-effekt */
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);

	/* shadows */
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.dropdown-menu.show {
	/*display: block;*/

	/* aufklapp-effekt */
	height: auto;
	max-height: 2000px;
	transition: max-height 1s ease-in-out;
}

@media (min-width: 992px) {
	.dropdown-menu {
		width: auto;
		position: absolute;
		background-color: rgba(10, 10, 10, 0.8);
		padding-left: 5px;
		padding-right: 5px;
	}

	.menu-item-has-children:hover .dropdown-menu {
		/*display: block;*/

		/* aufklapp-effekt */
		height: auto;
		max-height: 2000px;
		transition: max-height 1s ease-in-out;
	}
}

.dropdown-menu > li > a {
	text-align: left; /* mobil */
	color: #0a0a0a;
}

@media (min-width: 992px) {
	.dropdown-menu > li {
		width: 100%;
	}

	.dropdown-menu > li > a {
		color: #fefefe;
		background-color: transparent;
		border-bottom: 1px solid #fefefe;
		white-space: nowrap;
	}

	.dropdown-menu > li.current-menu-item > a,
	.dropdown-menu > li > a:hover {
		background-color: #fefefe;
		color: #0a0a0a;
	}
}

/* MAIN */
main {
	position: relative;
	padding-top: 55px; /* wegen fixed header */
}
@media (min-width: 992px) {
	main {
		padding-top: 116px; /* wegen fixed header */
		padding-top: 195px; /* wegen fixed header */
		transition: all 0.1s ease-in-out;
	}
	main.scrolled {
		padding-top: 97px; /* wegen fixed header */
		transition: all 0.1s ease-in-out;
	}
}

main > div:last-child {
	padding-bottom: 90px;
}

.breadcrumb {
	font-size: 1.2rem;
	border-bottom: 1px solid #d8d8d8;
	padding: 16px 0;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.delimiter {
	color: #d8d8d8;
	margin: 0 12px;
}

/*
main p a:not(.btn), main p a:not(.btn):active, main p a:not(.btn):focus, main p a:not(.btn):visited, main p a:not(.btn):hover {
	color: #262626;
	text-decoration: none;
	border-bottom: 4px double #000;
}*/

main ul:not(.slick-dots),
main ol:not(.carousel-indicators) {
	list-style: none;
	padding: 0;
	display: table;
}

main ul:not(.slick-dots) li {
	display: table-row;
}

main ul:not(.slick-dots) li:before {
	content: url(images/bulletpoint.svg);
	width: 7px;
	height: 7px;
	vertical-align: top;
	display: table-cell;
	text-align: left;
	line-height: 1rem;
	padding-top: 5px;
	padding-right: 1rem;
	box-sizing: content-box;
}
main ul li:after {
	content: " ";
	display: block;
	margin-bottom: 0.5rem;
}

main ol:not(.carousel-indicators) {
	counter-reset: item;
}
main ol:not(.carousel-indicators) li {
	display: table-row;
}
main ol:not(.carousel-indicators) li:before {
	content: counter(item) ".";
	counter-increment: item;

	color: #014866;
	font-size: 1.8rem;
	font-weight: 500;

	display: table-cell;

	padding-right: 1.5rem;
}

main img {
	border-width: 0px;
	border-color: #fff;
	border-style: solid;
	max-width: 100%;
	height: auto;
}

figure {
	max-width: 100%;
	margin: 0;
}

main .wp-caption-text {
	background: #fff;
	color: rgb(70, 70, 70);
	padding-bottom: 24px;
	padding-left: 28px;
	padding-right: 27px;
	font-size: 0.833em;
}

input[type="number"],
input[type="date"],
input[type="text"] {
	display: block;
	width: 100%;
	padding: 7px 15px;
	margin-bottom: 8px;

	border: 0;
    background: #d8d8d8;
}

blockquote {
	background: #555;
	color: #000;
	line-height: 24px;
	padding: 25px 25px 5px 25px;
	position: relative;
	margin-top: 50px;
}

/* (theme spezifisch)
*/

.teaser {
	align-self: normal;

	background-image: linear-gradient(to right, #fefefe 0%, #fefefe 100%);
	background-repeat: no-repeat;
	background-size: 25% 3rem;
	background-position: bottom right;
}

@media (min-width: 992px) {
	.teaser {
		background-size: 30% 3rem;
	}
}

.teaser-image {
	width: 100%;
	height: 250px;
	background-size: cover;
}

.teaser-content {
	padding: 19px 24px 48px 24px;
}

.teaser-uschrift {
	display: block;
	font-size: 1.92rem;
	color: #193e57;
	border-bottom: 1px solid #999;
	padding-bottom: 8px;
	margin-bottom: 0.96rem;
}

.start-einleitung {
	padding: 19px 24px;
}

.ansprechh-info {
	padding: 16px;
}

.ansprech-bild {
	background-size: cover;
	order: 2;
}

.weiteres {
	padding: 19px;
}

.section-title.blue {
	color: #193e57;
	font-weight: 600;
	font-size: 1.92rem;
	border-bottom: 1px solid #193e57;
	margin-bottom: 0.96rem;
}

/* 
 * Wordpress Gallery 
 */
.gallery {
	display: flex;
	flex-wrap: wrap;
}

.gallery:after {
	content: " ";
	display: block;
	clear: both;
}

.gallery-item {
	float: left;
	margin-right: 3%;
	margin-bottom: 1rem;
}

.gallery-item img {
	width: 100%;
	height: auto;
}

/* the different columns */
.gallery-columns-2 .gallery-item {
	width: 47%;
}

.gallery-columns-2 .gallery-item:nth-child(2n) {
	margin-right: 0;
}

.gallery-columns-3 .gallery-item {
	width: 30.33%;
}

.gallery-columns-3 .gallery-item:nth-child(3n) {
	margin-right: 0;
}

.gallery-columns-4 .gallery-item {
	width: 22%;
}

.gallery-columns-4 .gallery-item:nth-child(4n) {
	margin-right: 0;
}

.gallery-columns-5 .gallery-item {
	width: 17%;
}

.gallery-columns-5 .gallery-item:nth-child(5n) {
	margin-right: 0;
}

aside li.widget {
	list-style: none;
}

/* 
 * ACCORDEON 
 */

.panel {
	margin-bottom: 20px;
}

button.panel-head {
	font-family: "Roboto Slab", serif;
	background-color: #255e13;
	color: #fff;
	cursor: pointer;
	padding: 15px;
	width: 100%;
	text-align: left;
	font-size: 2rem;
	border: none;
	outline: none;
}

button.panel-head.active {
	background-color: #c8d300;
}

.accordeon .panel-body {
	overflow: hidden;

	max-height: 0;
	transition: max-height 0.4s linear;
}

.accordeon .panel-body > img {
	width: 100%;
}

.accordeon .panel-content {
	padding: 0 15px;
}

.accordeon .panel-body.active {
	/*padding-top: 30px;
	background-image: url(images/accordeon-offen.png);
	background-repeat: repeat-x;
*/
	max-height: 500px;
	transition: max-height 1s linear;
}

/* slick slider im content */
.content-slider {
	width: 708px;
	height: 471px;
}

.content-slider-container {
	background-color: #f7f1d3;
}

.content-slider img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.content-slider-preview {
	width: 708px;
}

.goto {
	cursor: pointer;
	width: 142px !important;
	height: 78px;
}



/* 
 * Kontaktfeld Ergänzung 06/2021 
 */
.kontaktfeld {
	background-color: #fff;
	padding: 15px 10px 25px 15px;
}

.btn {
	background: none;
    border: none;
    text-align: left;
    padding: 0;
    margin: 0;
	cursor: pointer;
}

.collapsed {
	display: none;
}

#kontaktfeld-form input[type="submit"] {
	background-color: transparent;
    background-image: url(images/Senden.png);
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    width: 168px;
    height: 34px;

	cursor: pointer;
}

/* 
 * ENDE Kontaktfeld Ergänzung 06/2021 
 */



/* 
 * PAGINATION 
 */
.pagination li:before {
	content: "";
	display: none;
}

/* standard-status */
.pagination li a,
.pagination > li.inactive > a:focus,
.pagination > li.inactive > a:hover,
.pagination > li.inactive > span:focus,
.pagination > li.inactive > span:hover {
	color: #33c660;
	font-weight: 600;
	background-color: #f2f9f4;
	border-color: #f2f9f4;
	margin-right: 3px;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;

	padding-left: 2.9rem;
}

.pagination li.inactive a,
.pagination > li.inactive > a:focus,
.pagination > li.inactive > a:hover,
.pagination > li.inactive > span:focus,
.pagination > li.inactive > span:hover {
	cursor: default;
	color: #c6c6c6;
}

/* hover-status */
.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
	background-color: #4fd076;
	border-color: #4fd076;
	color: #fff;

	-webkit-box-shadow: 0 0 29px 5px rgba(0, 255, 77, 0.51);
	-moz-box-shadow: 0 0 29px 5px rgba(0, 255, 77, 0.51);
	box-shadow: 0 0 29px 5px rgba(0, 255, 77, 0.51);
}

/* active-status */
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
	background-color: #4fd076;
	border-color: #4fd076;
	cursor: pointer;
}

/* inactive-status */
.pagination .inactive a {
	pointer-events: none;
}

/* FOOTER */
.page-footer {
	background-color: #5e5e5e;
	padding-top: 1.9rem;
}

.page-footer,
.page-footer a {
	font-size: 1.4rem;
	color: #fefefe;
}

.page-footer h2 {
	font-size: 1.6rem;
	color: #fefefe;
	border-bottom: 1px solid #fefefe;
	height: 27px;
	margin-bottom: 24px;
}

.page-footer a {
	text-decoration: underline;
}

@media (min-width: 768px) {
	.page-footer h2,
	.page-footer p,
	.page-footer address {
		padding-left: 15px;
		padding-right: 15px;
	}
}

.page-footer address {
	font-style: normal;
}

.footer-feld:first-child h2,
.footer-feld:first-child p {
	padding-left: 0;
}

.footer-logo {
	display: block;
	margin: auto;
}

/* eigene Abstände */
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb35 {
	margin-bottom: 35px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb45 {
	margin-bottom: 45px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb55 {
	margin-bottom: 55px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb65 {
	margin-bottom: 65px;
}
.mb70 {
	margin-bottom: 70px;
}
.mb75 {
	margin-bottom: 75px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb85 {
	margin-bottom: 85px;
}
.mb90 {
	margin-bottom: 90px;
}
.mb95 {
	margin-bottom: 95px;
}
.mb100 {
	margin-bottom: 100px;
}
.mb110 {
	margin-bottom: 110px;
}
.mb120 {
	margin-bottom: 120px;
}
.mb165 {
	margin-bottom: 165px;
}

/**/
.pt5 {
	padding-top: 5px;
}
.pt10 {
	padding-top: 10px;
}
.pt15 {
	padding-top: 15px;
}
.pt20 {
	padding-top: 20px;
}
.pt25 {
	padding-top: 25px;
}
.pt30 {
	padding-top: 30px;
}
.pt35 {
	padding-top: 35px;
}
.pt40 {
	padding-top: 40px;
}
.pt45 {
	padding-top: 45px;
}
.pt50 {
	padding-top: 50px;
}
.pt55 {
	padding-top: 55px;
}
.pt60 {
	padding-top: 60px;
}
.pt65 {
	padding-top: 65px;
}
.pt70 {
	padding-top: 70px;
}

/**/
.pb20 {
	padding-bottom: 20px;
}
.pb70 {
	padding-bottom: 70px;
}

/*
 *
 * MOBILE ANPASSUNGEN
 *
 */

/*==========  Mobile First Method  ==========*/

/* Medium Devices, Desktops (MD size) */
@media (min-width: 992px) {
	/* touch problem larger then 992 */
	ul.nav li:hover > ul.dropdown-menu {
		display: block;
	}
	ul.nav li.open > ul.dropdown-menu {
		display: block !important;
	}
	.dropdown-backdrop {
		display: none;
	}
	/* touch problem larger then 992 END */
}
