#content
{
	float:left;
	width:100%;
}

#header
{
	min-height:88px;
}

.contentelement
{
	float:left;
	width:100%;
}

.contentelement.defaulttop
{
	padding-top:70px;
}

.contentelement.smalltop
{
	padding-top:35px;
}

.contentelement.notop
{
	padding-top:0;
}

.contentelement.defaultbottom
{
	padding-bottom:70px;
}

.contentelement.smallbottom
{
	padding-bottom:35px;
}

.contentelement.accordionbottom
{
	padding-bottom:20px;
}

.contentelement.nobottom
{
	padding-bottom:0;
}

/*
 * ### Textmedia-Element ###
 */
.textimage
{
	display:flex;
	flex-wrap:wrap;
	width:100%;
}

.textimage header
{
	margin:0 0 10px;
	order:1;
	width:100%;
}

.textimage .textwrapper p:last-child
{
	margin-bottom:0;
}

/* 
 * Bild oben:  .imageorient-0
 */

.textimage.imageorient-0 .filewrapper
{
	margin:0 0 30px;
	order:2;
	width:100%;
}

.textimage.imageorient-0 .filewrapper.notext
{
	margin-bottom:0;
}

.textimage.imageorient-0 .filewrapper picture
{
	margin:0 0 30px;
}

.textimage.imageorient-0 .filewrapper picture:last-child
{
	margin-bottom:0;
}

.textimage.imageorient-0 .filewrapper picture img
{
	margin:0 auto;
}

.textimage.imageorient-0 .textwrapper
{
	order:3;
	width:100%;
}

/* 
 * Bild oben:  .imageorient-8
 */

.textimage.imageorient-8 .filewrapper
{
	order:3;
	width:100%;
}

.textimage.imageorient-8 .filewrapper picture
{
	margin:0 auto 30px;
}

.textimage.imageorient-8 .filewrapper picture:last-child
{
	margin-bottom:0;
}

.textimage.imageorient-8 .filewrapper picture img
{
	margin:0 auto;
}

.textimage.imageorient-8 .textwrapper
{
	margin:0 0 30px;
	order:2;
	width:100%;
}

.textimage.imageorient-8 .textwrapper.noimage
{
	margin-bottom:0px;
}

/* 
 * Bild in-Text rechts:  .imageorient-17
 * Bild in-Text links: .imageorient-18
 */

.textimage.imageorient-17 header,
.textimage.imageorient-18 header
{
	order:0;
	width:100%;
}

.textimage.imageorient-17 .filewrapper
{
	float:right;
	margin:0 0 0 30px;
	max-width:calc(50% - 15px);
}

.textimage.imageorient-18 .filewrapper
{
	float:left;
	margin:0 30px 0 0;
	max-width:calc(50% - 15px);
}

.textimage.imageorient-17 .filewrapper picture,
.textimage.imageorient-18 .filewrapper picture
{
	margin:0 0 30px;
}

/* 
 * Bild rechts:  .imageorient-25
 * Bild links: .imageorient-26
 */
.textimage.imageorient-25 .filewrapper
{
	margin:0 0 0 30px;
	order:3;
	width:calc(50% - 15px);
}

.textimage.imageorient-26 .filewrapper
{
	margin:0 30px 0 0;
	order:2;
	width:calc(50% - 15px);
}

.textimage.imageorient-25 .filewrapper picture,
.textimage.imageorient-26 .filewrapper picture
{
	margin:0 auto 30px;
}

.textimage.imageorient-25 .filewrapper picture:last-child,
.textimage.imageorient-26 .filewrapper picture:last-child
{
	margin-bottom:0;
}

.textimage.imageorient-25 .textwrapper,
.textimage.imageorient-26 .textwrapper
{
	width:calc(50% - 15px);
}

.textimage.imageorient-25 .textwrapper
{
	order:2;
}

.textimage.imageorient-26 .textwrapper
{
	order:3;
}

/*
 * Bild rechts:  .imageorient-27
 * Bild rechts:  .imageorient-28
 */
.textimage.imageorient-27,
.textimage.imageorient-28
{
	align-items:center;
}

.textimage.imageorient-27 header,
.textimage.imageorient-28 header
{
	order:1;
	width:100%;
}

.textimage.imageorient-27 .filewrapper
{
	order:3;
	width:calc(50% - 15px);
}

.textimage.imageorient-27 .textwrapper
{
	margin:0 30px 0 0;
	order:2;
	width:calc(50% - 15px);
}

.textimage.imageorient-28 .filewrapper
{
	margin:0 30px 0 0;
	order:2;
	width:calc(50% - 15px);
}

.textimage.imageorient-28 .textwrapper
{
	order:3;
	width:calc(50% - 15px);
}

/*
 * ### 2 Spalten-Element ###
 */
.twocolumn
{
	float:left;
	width:100%;
}

.twocolumn .column
{
	float:left;
	margin:0 30px 0 0;
	width:calc(100% / 2 - 30px / 2);
}

.twocolumn .column.last
{
	margin-right:0;
}

.twocolumn .column .imagewrapper
{
	float:left;
	margin:0 0 20px;
	width:100%;
}

.twocolumn .column .imagewrapper picture
{
	margin:0 0 20px;
}

.twocolumn .column .imagewrapper picture:last-child
{
	margin-bottom:0;
}

.twocolumn .column .imagewrapper picture img
{
	margin:0 auto;
}

.twocolumn .column .textwrapper
{
	float:left;
	width:100%;
}

.twocolumn .column .textwrapper p:last-child
{
	margin-bottom:0;
}

/*
 * ### 3 Spalten-Element ###
 */
.threecolumn
{
	float:left;
	width:100%;
}

.threecolumn .column
{
	float:left;
	margin:0 30px 0 0;
	width:calc(100% / 3 - 60px / 3);
}

.threecolumn .column:last-child
{
	margin-right:0;
}

.threecolumn .column .imagewrapper
{
	float:left;
	margin:0 0 20px;
	width:100%;
}

.threecolumn .column .imagewrapper picture
{
	margin:0 0 20px;
}

.threecolumn .column .imagewrapper picture:last-child
{
	margin-bottom:0;
}

.threecolumn .column .imagewrapper picture img
{
	margin:0 auto;
}

.threecolumn .column .textwrapper
{
	float:left;
	width:100%;
}

.threecolumn .column .textwrapper p:last-child
{
	margin-bottom:0;
}

/*
 * ### 4 Spalten-Element ###
 */
.fourcolumn
{
	float:left;
	width:100%;
}

.fourcolumn .column
{
	float:left;
	margin:0 30px 0 0;
	width:calc(100% / 4 - 90px / 4);
}

.fourcolumn .column.last
{
	margin-right:0;
}

.fourcolumn .column .imagewrapper
{
	float:left;
	margin:0 0 20px;
	width:100%;
}

.fourcolumn .column .imagewrapper picture
{
	margin:0 0 20px;
}

.fourcolumn .column .imagewrapper picture:last-child
{
	margin-bottom:0;
}

.fourcolumn .column .imagewrapper picture img
{
	margin:0 auto;
}

.fourcolumn .column .textwrapper
{
	float:left;
	width:100%;
}

.fourcolumn .column .textwrapper p:last-child
{
	margin-bottom:0;
}

/*
 * ### Small-/Bigcolumn-Element ###
 */
.smallbigcolumn
{
	float:left;
	width:100%;
}

.smallbigcolumn .smallcolumn
{
	float:left;
	width:calc(100% / 3 - 20px);
}

.smallbigcolumn.smallleft .smallcolumn
{
	margin:0 30px 0 0;
}

.smallbigcolumn.smallright .smallcolumn
{
	margin:0 0 0 30px;
}

.smallbigcolumn .smallcolumn .imagewrapper
{
	float:left;
	margin:0 0 20px;
	width:100%;
}

.smallbigcolumn .smallcolumn .imagewrapper img
{
	margin:0 auto;
}

.smallbigcolumn .smallcolumn .textwrapper
{
	float:left;
	width:100%;
}

.smallbigcolumn .smallcolumn .textwrapper p:last-child
{
	margin-bottom:0;
}

.smallbigcolumn .bigcolumn
{
	float:left;
	width:calc(100% / 3 * 2 - 10px);
}

.smallbigcolumn .bigcolumn .textwrapper
{
	float:left;
	width:100%;
}

.smallbigcolumn .bigcolumn .textwrapper p:last-child
{
	margin-bottom:0;
}

/*
 * Fullwidthslider
 */
.fullwidthslider
{
    float:left;
    width:100%;
}

.fullwidthslider .swiper-container
{
	height:70vh;
}

.fullwidthslider .swiper-slide:before
{
    background:rgba(0,0,0,0.1);
    bottom:0;
    content:'';
    left:0;
    position:absolute;
    right:0;
    top:0;
    z-index:2;
}

.fullwidthslider .image
{
	background-position:center;
	background-size:cover;
	bottom:0;
	left:0;
	position:absolute;
	right:0;
	top:0;
	width:100%;
}

.fullwidthslider .swiper-slide .textwrapper
{
    bottom:30px;
    padding:0 30px 0 0;
    position:absolute;
    max-width:900px;
    z-index:5;
}

.fullwidthslider .swiper-slide .textwrapper h1,
.fullwidthslider .swiper-slide .textwrapper h2,
.fullwidthslider .swiper-slide .textwrapper h3,
.fullwidthslider .swiper-slide .textwrapper h4,
.fullwidthslider .swiper-slide .textwrapper a
{
    color:#fff;
}

.fullwidthslider .swiper-slide .textwrapper p
{
    color:#fff;
    font-size:22px;
    line-height:32px;
}

.fullwidthslider .swiper-slide .textwrapper p:last-child
{
    margin-bottom:0;
}

.fullwidthslider .swiper-button-next, 
.fullwidthslider .swiper-button-prev
{
	align-items:center;
	background:rgba(51,51,51,0.6);
	border-radius:100%;
	color:#fff;
	display:flex;
	font-size:30px;
	height:50px;
	justify-content:center;
	transition:all 0.3s ease-in-out;
	width:50px;
}

.fullwidthslider.single .swiper-button-next,
.fullwidthslider.single .swiper-button-prev
{
	display:none;
}

.fullwidthslider .swiper-button-next:hover, 
.fullwidthslider .swiper-button-prev:hover
{
	background:rgba(51,51,51,0.8);
}

.fullwidthslider .swiper-button-next:after, 
.fullwidthslider .swiper-button-prev:after
{
	display:none;
}

/*
 * Accordion
 */
.accordion,
.accordionoptik
{
	background:#fff;
	box-shadow:0 1px 2px 0 rgb(12 12 12 / 10%), 0 0px 6px 0 rgb(12 12 12 / 10%), 0 0px 1px -2px rgb(12 12 12 / 10%);
	float:left;
	padding:20px 25px;
	width:100%;
}

.accordion header
{
	cursor:pointer;
	padding:0 35px 0 0;
	position:relative;
}

.accordion header:before
{
	color:#404143;
	content:"\f078";
	font-family:"Font Awesome 5 Free";
	font-size:18px;
	font-weight:900;
	right:0;
	position:absolute;
	top:5px;
	transition:all 0.3s ease-in-out;
}

.accordion.open header:before
{
	top:4px;
	transform:rotate(-180deg);
}

.accordion header h3
{
	color:#404143;
	margin-bottom:0;
}

.accordion .inner
{
	float:left;
	max-height:0px;
	opacity:0;
	overflow:hidden;
	transition:all 0.3s ease-in-out;
	visibility:hidden;
	width:100%;
}

.accordion.open .inner
{
	max-height:9999px;
	margin-top:20px;
	opacity:1;
	visibility:visible;
}

@media (min-width:768px) and (max-width:1023px)
{
	/*
	 * ### 3 Spalten-Element ###
	 */
	.threecolumn .column
	{
		margin:0 20px 0 0;
		width:calc(100% / 3 - 40px / 3);
	}
	
	/*
	 * ### 4 Spalten-Element ###
	 */
	.fourcolumn .column
	{
		float:left;
		margin:0 30px 0 0;
		width:calc(100% / 2 - 30px / 2);
	}
	
	.fourcolumn .column:nth-of-type(1n),
	.fourcolumn .column:nth-of-type(2n)
	{
		margin-bottom:30px;
	}
	
	.fourcolumn .column.last,
	.fourcolumn .column:nth-of-type(2n)
	{
		margin-right:0;
	}
}

@media (max-width:767px)
{
	#header
	{
		min-height:81px;
	}
	
	.contentelement.defaulttop
	{
		padding-top:40px;
	}
	
	.contentelement.smalltop
	{
		padding-top:20px;
	}
	
	.contentelement.defaultbottom
	{
		padding-bottom:40px;
	}
	
	.contentelement.smallbottom
	{
		padding-bottom:20px;
	}
	
	/*
	 * Textmedia-Element
	 */
	.textimage header
	{
		margin:0 0 30px !important;
		order:1 !important;
		width:100% !important;
	}
	
	.textimage .filewrapper
	{
		margin:0 0 30px !important;
		order:2 !important;
		width:100% !important;
		max-width:none !important;
	}
	
	.textimage .filewrapper picture, 
	.textimage .filewrapper picture
	{
		margin-bottom:0 !important;
	}
	
	.textimage .textwrapper
	{
		order:3 !important;
		width:100% !important;
	}
	
	/*
	 * ### 2 Spalten-Element ###
	 */
	.twocolumn .column
	{
		margin:0 0 40px;
		width:100%;
	}
	
	/*
	 * ### 3 Spalten-Element ###
	 */
	.threecolumn .column
	{
		margin:0 0 40px;
		width:100%;
	}
	
	.threecolumn .column:last-child
	{
		margin-bottom:0;
	}
	
	/*
	 * ### 4 Spalten-Element ###
	 */
	.fourcolumn .column
	{
		margin:0 0 40px;
		width:100%;
	}
	
	/*
	 * ### Small-/Bigcolumn-Element ###
	 */
	
	.smallbigcolumn.smallleft .smallcolumn
	{
		margin:0 0 20px;
		width:100%;
	}
	
	.smallbigcolumn.smallright .smallcolumn
	{
		margin:20px 0 0;
		width:100%;
	}
	
	.smallbigcolumn .bigcolumn
	{
		width:100%;
	}
	
	/*
     * Fullwidthslider
     */
    .fullwidthslider .swiper-slide
    {
        padding:0;
    }
    
    .fullwidthslider .swiper-slide .textwrapper
    {
    	bottom:20px;
    	padding:0 20px 0 0;
    }
    
    .fullwidthslider .swiper-slide .textwrapper p
    {
        font-size:16px;
        line-height:24px;
    }
    
    /*
	 * Accordion
	 */
	.accordion .inner
	{
		padding:0;
	}
	
	.accordion.open .inner
	{
		margin-top:15px;
	}
}