@charset "UTF-8";

/* ---------- FONTS------------------- */

/*google Fonts für Schriften*/
@import url("fonts.css"); 

/* ---------- FARBEN ------------------- */

/* Hausfarbe 1(grün): #8A9B27*/
/* Antrazit: #353A3E */
/* Weiß: #ffffff */


/* ---------- GENERIC -------------------*/
html {
	font-size: 16px;
}
body {
	font-family: "Source Sans Pro", sans-serif;
	background-color: #ffffff;
	font-weight: 400;
	color: #696E76;
}
header > .container {
	position: relative;
}
main{
	padding: 80px 0;
}

@media(max-width: 575px) {
	footer {
		padding-bottom: 20px;
	}
}
@media(max-width: 784px) {
	footer {
		padding-bottom: 50px;
	}
}
/* ---------- ELEMENTS -------------------*/

/* .............. headlines ...... */

h1, h2, h3 {
	font-weight: 400;
	color:#353A3E;
}
h1, h2 {
	margin-bottom: 1rem;
}
h1 {
	font-size: 2.5rem;
	text-align: center;
	color: #8A9B27;
	text-transform: uppercase;
}
h2 {
	font-size: 1.667rem;
}
h3 {
	font-size: 1.25rem;
	margin-bottom: 1rem;
}
h1 + h2 {
	text-align: center;
	font-size: 1.667rem;
	margin-top: -1rem;
	color: #8A9B27;
}
h2 + h3 {
	font-size: 1.667rem;
	margin-bottom: 3rem;
}
p + h2, ul + h2 {
	margin-top: 60px;
}
.dce-accordion h2 {
	color: #8A9B27;
}
/* .............. text ...... */
p {
	font-size: 1.111rem;
}
/* .............. links ...... */
a {
	color: #8A9B27;
}
a:hover {
	text-decoration: none;
	color: #5D6726;

}
/* .............. buttons ...... */
.button, .btn {
	background: #e49212;
    border: none;
    color: #fff;
    padding: 5px 10px;
    font-size: 1.1rem;
    border-radius: 2px;
}
.button:hover, .btn:hover  {
	background: #bf7c14;
	color: #fff;
}
.button:focus, .btn:focus { 
	box-shadow: none; 
}

/* .............. listen ...... */
main ul {
	list-style: none;
	padding: 0;
}
main li {
	font-size: 1.111rem;
	display: flex;
	margin-bottom: 7px;
}
main li:before {
	display: block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Pro"; 
	font-weight: 400; 
	content: "\f00c";
	margin-right: 10px;
	color: #8A9B27;
	font-size: 1.7rem;
	line-height: initial;
}

/* .............. img ...... */
img {
  	max-width: 100%;
  	height: auto; 
}
.image img {
	-webkit-box-shadow: 8px 8px 0px 0px rgba(138,155,39,1);
	-moz-box-shadow: 8px 8px 0px 0px rgba(138,155,39,1);
	box-shadow: 8px 8px 0px 0px rgba(138,155,39,1);
}
.pid2312 .image img {
	box-shadow: none;
}
/* ......... other .......... */

.ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div {
	overflow: visible;
}
.ce-row:after, .ce-gallery:after, .ce-textpic:after {
	content: " ";
	display: table;
	clear:both;
}
.ce-column {
	margin-right: 30px;
	margin-bottom: 30px;
}
.ce-column:last-child {
	margin-bottom:0;
}
.ce-gallery figcaption {
	margin-top: 15px;
	font-style: italic;
	line-height: 100%;
}
/* ---------- COMPONENTS -------------------*/

/* .............. basic styles ...... */

/* frames */
.frame {
	margin-bottom: 60px;
}
/* fullsize */
.frame-fullsize {
    padding: 30px ;
    position: relative;
	
	background: rgba(138,155,39,.15);
}
.frame:last-child.frame-fullsize {
	margin-bottom: -80px;
}
.frame-fullsize > div, .frame-fullsize > header {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
@media (min-width: 576px) {
	.frame-fullsize > div, .frame-fullsize > header {
		max-width: 540px;
	}
}
@media (min-width: 768px) {
	.frame-fullsize > div, .frame-fullsize > header {
		max-width: 720px;
	}
}
@media (min-width: 992px) {
	.frame-fullsize > div, .frame-fullsize > header {
		max-width: 960px;
	}
}
@media (min-width: 1200px) {
	.frame-fullsize > div, .frame-fullsize > header {
		max-width: 1140px;
	}
}

/* spaces*/
.frame-space-after-small {
	margin-bottom: 30px;
}
/* Basic grid */
.grid {
	display:grid;
	gap: 1rem;
	margin-bottom: 2.25rem;
	justify-items:center;
}	

/* tabellen */
tr {
	background: rgba(138,155,39, .15);
	border-bottom: solid #fff;
}
tr:nth-child(2n) {
	background: rgba(138,155,39, .26)
}

td, th {
	vertical-align: initial;
	padding: 15px;
}
td p:last-child, th p:last-child {
	margin-bottom: 0;
}

/* .............. content ...... */
@media(max-width: 991px){
	.ce-right .ce-gallery {
		float:none;
		display: flex;
		margin: 20px 0 !important;
	}
	.ce-textpic {
		display: flex;
		flex-direction: column-reverse;
	}
	.ce-textpic.ce-below {
		flex-direction: column;
	}
}
.ce-intext.ce-right .ce-gallery ,.ce-right .ce-gallery {
	margin-left: 50px;
}

/* .............. navigation ...... */

.navbar {
	padding: 1rem;
	padding-right: 0;
	align-items: flex-end;
}
.navbar-toggler {
	margin-bottom: 10px;
}
.navbar .navbar-collapse {
	margin-bottom: 20px;
	justify-content: flex-end;
}

/* Links */

.navbar-nav li a {
	font-size: 1.25rem;
	color: #353A3E;
	padding: 5px 10px !important;
	display: block;
    line-height: 120%;
	
}
.navbar-nav .nav-item:hover .nav-link,
.navbar-nav .nav-item:focus .nav-link,
.navbar-nav .nav-item.active .nav-link {
	color: #8A9B27;
}
@media(min-width:1200px) {
	.navbar-nav li a{
		padding: 10px 20px !important;
	}
	.navbar-nav li:last-child a {
		padding-right: 0 !important;
	}
}
/* 1. Dropdown Ebene */

.navbar-nav .dropdown-menu {
	border:none;
	border-radius: 0;
	margin: 0;
	padding: 0;
	background: #EFF1E1;
	min-width: 14rem;
}
.navbar-nav .dropdown-menu li a {
	border-bottom: solid 2px #fff;
	padding: 11px 20px !important;
}
.navbar-nav .dropdown-menu li:last-child a {
	border-bottom: none;
}
.navbar-nav .dropdown-menu li:hover a {
	background: rgba(138,155,39,.8);
	color: #fff;
}
@media(min-width: 991px) {
	.navbar .dropdown-toggle {
		display:none;
	}
	.navbar .dropdown:hover .dropdown-menu{
		display:block
	}
	
}
.navbar-nav .dropdown-menu li a {
	color: #585E67;
	font-size: 1.1rem;
}
.navbar-nav .dropdown-menu li:hover a {
	text-decoration: none;

}
.dropdown-toggle::after {
	border-top: .5em solid;
    border-right: .5em solid transparent;
    border-bottom: 0;
    border-left: .5em solid transparent;
}
/* Language */
#lang {
	position: absolute; 
	z-index: 100;
	top: 15px;
	right: 15px;
}
#lang ul{
	list-style: none;
	padding: 0;
	margin:0;

	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
} 
#lang .active, 
#lang .switch{
	color: #fff;
	font-weight: 300;
	padding: 0 7px;
	display: block;
}

#lang .active {
	background: #8A9B27;
}
#lang .switch {
	background: #353A3E;
}
#lang .switch:hover {
	text-decoration: none;
	background: #5D6726;
	color: #fff;
}
#lang .switch:hover a, 
#lang .switch a {
	color: #fff;
}
/* Mobil Button */

/* Mobil */

@media(max-width: 991px) {
	.navbar-collapse {
		margin-top: 25px;
	}
	.dropdown-toggle {
		position: absolute;
		top: 3px;
		right: 15px;
	}
	.dropdown-menu {
		padding-left: 15px;
		background: rgba(0,0,0, .05);
	}
}
 
/* Logo */
.navbar-brand #logo {
	height: 66px;
    width: auto;
}
@media(min-width: 500px) {
	.navbar-brand #logo {
		height: 110px;
		width: auto;
	}
}
@media(min-width:1200px){
	.navbar-brand #logo {
		height: 128px;
		width: auto;
	}
}


/* .............. keyvisual ...... */
.dce-keyvisual:after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;
    top: 0;
    left: 0;
    right: 0;
	bottom: 0;
	
	-webkit-box-shadow: inset 0px 10px 21px -16px rgba(0,0,0,0.75);
	-moz-box-shadow: inset 0px 10px 21px -16px rgba(0,0,0,0.75);
	box-shadow: inset 0px 10px 21px -16px rgba(0,0,0,0.75);
}
.dce-keyvisual img {
	width: 100%;
}
.dce-keyvisual .textbox {
	position: relative;
	z-index: 10;
	margin-top: 5vw;
	width: 600px;
}
.dce-keyvisual h4 {
	margin-left: 20px;
    padding: 5px 10px;
	background: #8A9B27;
    font-size: 1.5rem;
    font-weight: 400;
    display: inline-block;
}
.dce-keyvisual .text {
	background: none;
}
.dce-keyvisual .text p {
	font-size: 1rem;
	line-height: 1.3em;
	color: #fff;
}
@media(min-width: 991px) {
	.dce-keyvisual .text p{
		font-size: 1.2rem;
	}
}
@media (max-width: 991px) {
	.dce-keyvisual .textbox {
		display: none;
	}
}
/* KEYVISUAL AKTION CSS - bei Bedarf wieder einschalten
@media (max-width: 1199px) {
	.pid2285 .dce-keyvisual > .d-flex {
		position: relative;		
		padding-top: 20px;
		background: #8A9B27;
	}
	.pid2285 .dce-keyvisual .textbox {
		display: block;
		margin-top: 0;
		width: auto;
	}	
	.pid2285 .dce-keyvisual .text {
    	padding: 20px 20px 10px;
	}
	.pid2285 .dce-keyvisual .textbox h4 {
		padding: 0;
		font-size: 1.4rem;
	}
	.pid2285 .dce-keyvisual .textbox button {
		font-size: 1rem;
	}
}
*/
/* .............. footer ...... */
footer {
	background-image: url(../Img/texture.jpg);
	padding-top: 100px;
	-webkit-box-shadow: inset 0px 10px 21px -16px rgba(0,0,0,0.75);
	-moz-box-shadow: inset 0px 10px 21px -16px rgba(0,0,0,0.75);
	box-shadow: inset 0px 10px 21px -16px rgba(0,0,0,0.75);
}
footer p {
	margin-bottom: 0;
	color: #fff;
	font-size: 1rem;
}
footer a {
	color: #fff;
}
/* Kontakt */
footer .button {
	font-size: 1.5rem;
    border: solid #fff 2px;
	padding: 20px 50px;
	background: transparent;
	
} 
footer .button:hover, footer .button:focus {
	background: #fff;
	color: #696E76;
}
@media(max-width: 510px){
	footer .button {
		font-size: 1rem;
		display:inherit;
	}
}

footer .frame {
	margin-bottom: 100px;
}
/* footer bottom */
footer .footer-bottom {
	background: rgba(255,255,255,.25);
	padding: 30px 0;
}
footer .footer-bottom .col-12 {
	padding-bottom: 30px;
}
@media(min-width: 991px){
	footer .footer-bottom .col-12:nth-child(2){
		text-align:center;
	}
	footer .footer-bottom .col-12:last-child{
		text-align:right;
	}
	footer .footer-bottom .col-12 {
		padding-bottom: 0;
	}
}


/* musthave */
footer .musthave {
	list-style: none;
	padding: 0;
	margin:0;
	display: flex;
	
}
@media(min-width: 991px){
	footer .musthave {
		justify-content: flex-end;
	}
}
footer .musthave .first {
	margin-right: 5px;
}
footer .musthave .first:after {
	content: "|";
	margin-left: 5px;
	color: #fff;
	display: inline-block;
}
/* ---------- DCE's -------------------*/

/* .............. sticky sidebar ...... */

.dce-stickysidebar .item a,
.dce-stickysidebar .item a:hover, .dce-stickysidebar .item a:focus,
.dce-stickysidebar .item .title {
	color: #8A9B27;
}
@media (orientation: landscape) {
	.dce-stickysidebar .item {
		margin-bottom: 6px;
	}
	.dce-stickysidebar .item a,
	.dce-stickysidebar .item a:hover, .dce-stickysidebar .item a:focus {
		color: #8A9B27;
	}
}

/* .............. image tiles ...... */

/* grid */
.dce-image-tiles .row{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
}
.dce-image-tiles .row > div {
	-webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

@media(min-width: 768px) AND (max-width: 1200px){
	.dce-image-tiles .row {
		grid-template-columns: repeat(2, 1fr);
	}
	.dce-image-tiles .grid-2:first-child {
		grid-column-start: 1;
		grid-column-end: 3;
	}

}
@media(min-width: 1200px){
	.dce-image-tiles .row {
		grid-template-columns: repeat(4, 1fr);
	}
	.dce-image-tiles .grid-2:nth-child(4) {
		grid-column-start: 1;
		grid-column-end: 3;
	}
	.dce-image-tiles .grid-2:nth-child(5) {
		grid-column-start: 3;
		grid-column-end: 5;
	}
	.dce-image-tiles .grid-2:nth-child(2) {
		grid-column-start: 2;
		grid-column-end: 4;
	}
}

/* images */
.dce-image-tiles .tile {
	height: 100%;
}
.dce-image-tiles .tile a {
	height: 100%;
}
.dce-image-tiles .tile img {
    width: 100%;
    height: 100%;
	object-fit: cover;
	object-position: 100% 50%
}
/* Text */
.dce-image-tiles .tile a {
	color: #fff;
}
.dce-image-tiles .tile a:hover {
	color: #fff;
	text-decoration: none;
}
.dce-image-tiles .tile .text-wrap h3 {
	font-size: 1.6rem;
}
@media(min-width: 768px) AND (max-width: 991px){
	.dce-image-tiles .tile .text-wrap {
		padding: 1rem;
	}
}
/* hover */
@media(max-width: 768px) {
	.dce-image-tiles .tile .text-wrap {
		background: rgba(138,155,39,.15);
	}
	.dce-image-tiles .tile .hover-content {
		max-height: 100%;
		opacity: 1;
		color: #585E67;
		
	}
}
@media (min-width: 768px){
	.dce-image-tiles .tile .text-wrap {
		padding-top: 5rem;
		background: linear-gradient(0deg,rgba(0,0,0,.6),transparent 40%);
		-moz-transition: all .8s ease-in-out;
		-ms-transition: all .8s ease-in-out;
		-o-transition: all .8s ease-in-out;
		transition: all .8s ease-in-out;
	}
	.dce-image-tiles .tile .text-wrap:before {
		content: "";
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
		width: 100%;
		z-index: -100;
		background: rgba(0,0,0,.5);
		-moz-transition: all .8s ease-in-out;
		-ms-transition: all .8s ease-in-out;
		-o-transition: all .8s ease-in-out;
		transition: all .8s ease-in-out;
	}
	.dce-image-tiles .tile:hover .text-wrap {
		padding-top: 2rem;
	}
	.dce-image-tiles .tile:hover .text-wrap:before {
		opacity: 1;
	}
	.dce-image-tiles .tile:hover .hover-content, .dce-image-tiles .tile:focus .hover-content {
		max-height: 0;
		opacity: 0;
	}
}
@media(min-width: 991px ) {
	.dce-image-tiles .tile .text-wrap {
		padding-top: 9rem;
	}
	.dce-image-tiles .tile:hover .hover-content, .dce-image-tiles .tile:focus .hover-content {
		max-height: 100%;
		opacity: 1;
	}
}
@media(min-width: 1200px ) {
	.dce-image-tiles .tile .text-wrap {
		padding-top: 11rem;
	}
}
/* .............. accordion ...... */
.dce-accordion  {
	margin-bottom: 60px;
}

/* header */
.dce-accordion .card-header h5 button {
	background-color: #8A9B27;
	color: #fff;
	padding: 12px 30px;
	font-size: 1.111rem;
}
.dce-accordion .card-header h5 button:hover, .dce-accordion .card-header h5 button:focus, .dce-accordion .card-header h5 button[aria-expanded="true"] {
	background-color: #8A9B27;
}
.dce-accordion .card-header h5 .fas {
	font-size: 1.5rem;
	font-weight: 400;
}
.dce-accordion .fa-chevron-down:before {
	content: "\f067";
}
.dce-accordion .card-header h5 button[aria-expanded="true"] .fa-chevron-down:before {
	content: "\f068";
}

/* body */
.dce-accordion .card-body {
	padding: 15px 30px;
	background:rgba(138,155,39,.15);
}
.dce-accordion .card-body p:last-child {
	margin-bottom: 0;
}

/* .............. sticky sidebar ...... */

@media (orientation: landscape) {
	.dce-stickysidebar .item:first-child:hover, .dce-stickysidebar .item:first-child:focus {
		right: 219px;
		width: 273px;
	}
}
/* ---------- EXTENTIONS -------------------*/

.tx-powermail h3,
.tx-powermail legend {
	display:none;
}
.tx-powermail fieldset.powermail_fieldset {
	background: #EFF1E1;
}
.tx-powermail label {
	font-size: 1.111rem;
}
.tx-powermail .powermail_fieldwrap {
	flex-direction: column;
}
@media(min-width: 500px){
	.tx-powermail .powermail_fieldwrap {
		flex-direction: row;
	}
}
@media(min-width: 991px) {
	.tx-powermail .powermail_fieldwrap > label {
		-ms-flex: 0 0 15%;
    	flex: 0 0 15%;
    	max-width: 15%;
	}
}
@media(min-width: 1200px) {
	.tx-powermail fieldset.powermail_fieldset {
		width: 80%;
		margin: 0 auto;
	}
}