/* --------------------------------------------------------------------------------
 * Custom Elements
 * ----------------------------------------------------------------------------- */

#main .infobox
{
	
	background-image:url(../elements/background_infobox-main.png);
	background-repeat:no-repeat;
	box-sizing:border-box;
}

.h300
{
	height:300px;
	margin-top:48px;
}

#main .infobox .teaser,
#main .infobox-main .teaser
{
	padding-left:40px;
	padding-right:65px;
	padding-bottom:40px;
}

#main .infobox h4.headline-with-dots-fullwidth,
#main .infobox-main h4.headline-with-dots-fullwidth
{
    padding-top: 20px;
    padding-left: 30px;
    border-bottom: 2px dotted #fff;
    padding-bottom: 6px;
    margin-left: 10px;
    margin-right: 65px;
	font-family: "DIN2014-Narrow", sans-serif;
    text-transform: uppercase;
}

#main .infobox-main h4.headline-with-dots-fullwidth1
{
    padding-left: 30px;
    border-bottom: 2px dotted #fff;
    padding-bottom: 6px;
    margin-left: 10px;
    margin-right: 65px;
    font-family: "DIN2014-Narrow", sans-serif;
    text-transform: uppercase;
    margin-top: 13px;
}

.contentpage.content .infobox-main
{
	background-image:url(../elements/background_box-rot.png);
	background-repeat:no-repeat;
	box-sizing:border-box;
	position:relative;
}

.contentpage.content .infobox-main:before
{
	content:url(../elements/main-icon-events.png);
	position:absolute;
    top: 24px;
    left: -24px;
}

.contentpage.content .infobox-main:after
{
	content:url(../elements/cvjm_ecken_red-2.jpg);
	position:absolute;
    top: 0px;
    right: 20px;
}

 
 
.contentpage.content #right .mod_losungen
{
	background-image:url(../elements/sidebar-box-blau-background.png);
	background-repeat:no-repeat;
	box-sizing:border-box;
	margin-bottom:58px;
	position:relative;
}

.contentpage.content #right .mod_losungen:before
{
	content:url(../elements/sidebar-box-icon-losung.png);
	position:absolute;
    top: 24px;
    left: -24px;
}

.contentpage.content #right .mod_losungen:after
{
	content:url(../elements/cvjm_ecken_blue-2.jpg);
	position:absolute;
    top: 0px;
    right: 20px;
}

.contentpage.content #right .mod_losungen h5
{
    color: #fff;
    font-size: 26px;
    font-family: "IntroRustL-Base", sans-serif;
    line-height: 26px;
    padding-top: 22px;
    padding-left: 48px;
}

.contentpage.content #right .mod_losungen .content_container
{
	padding-top:40px;
	padding-left:48px;
	padding-bottom:40px;
	padding-right:48px;
}
.contentpage.content #right .mod_losungen p
{
	color:#fff;
}


.contentpage.content #right .mod_cvjm-haeuser
{
	background-image:url(../elements/sidebar-box-rot-background.png);
	background-repeat:no-repeat;
	box-sizing:border-box;
	margin-bottom:58px;
	position:relative;
}


.contentpage.content #right .mod_cvjm-haeuser:before
{
	content:url(../elements/sidebar-box-icon-haus.png);
	position:absolute;
    top: 24px;
    left: -24px;
}

.contentpage.content #right .mod_cvjm-haeuser:after
{
	content:url(../elements/cvjm_ecken_red-2.jpg);
	position:absolute;
    top: 0px;
    right: 20px;
}

.contentpage.content #right .mod_cvjm-haeuser h5
{
    color: #fff;
    font-size: 26px;
    font-family: "IntroRustL-Base", sans-serif;
    line-height: 26px;
    padding-top: 22px;
    padding-left: 48px;
}

.contentpage.content #right .mod_cvjm-haeuser .content_container
{
	padding-top:40px;
	padding-left:48px;
	padding-bottom:40px;
	padding-right:48px;
	margin-bottom:24px;
	display:block;
	height: 160px;
}
.contentpage.content #right .mod_cvjm-haeuser p
{
	color:#fff;
}

.contentpage.content #right .mod_cvjm-haeuser .button-grey
{
	padding:6px;
	background-color:#fff;
	display:block;
	float:left;
	margin-right:12px;
	margin-bottom:12px;
}



/*.infobox-freizeiten
{
	position:relative;
	height:300px;
	box-sizing:border-box;
	overflow: visible;
}*/

.infobox-freizeiten {
    position: relative;
    height: 300px;
    box-sizing: border-box;
    overflow: visible;
    width: 33%;
    float: left;
    /* margin-left: 20px; */
    box-sizing: border-box;
}

.startpage .infobox-freizeiten
{
	    position: relative;
    height: 360px;
    box-sizing: border-box!important;
    overflow: visible;
    width: 31.3333%;
    float: left;
    margin-left: 19px;
    box-sizing: border-box;
	margin-top:40px;
	margin-bottom:80px;
}

.contentpage.content #right .infobox-freizeiten
{
	margin-bottom:200px;
	width:100%;

}

.contentpage.content #right .infobox-freizeiten .news_teaser
{
		margin-right:20px;
}
.infobox-freizeiten h5
{
	color: #c00d0d;
    font-size: 26px;
    font-family: "IntroRustL-Base", sans-serif;
    line-height: 26px;
  
}
.infobox-freizeiten:before
{
	content:url(../elements/sidebar-box-icon-freizeiten.png);
	position:absolute;
    top: 24px;
    left: -24px;
}

.infobox-freizeiten .news_teaser {
    background-image: url(../elements/background_news.png);
    position: absolute;
    top: 225px;
    height: 270px;
    /*margin-right: 20px;*/
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 70px;
    padding-bottom: 35px;
}

.ce_mhce_boxes h2
{ 
	color: #118ba3;
    font-size: 28px;
    font-family: "IntroRustL-Base", sans-serif;
    line-height: 32px;
	margin-top:46px;
	height:71px;
}

.sep-line.col_blue {
	width:100%;
	height:2px;
	border-bottom:2px dotted;
	border-color:#118ba3;
	margin-top:64px;
	margin-bottom:48px;
}

.mod_haeuser
{
	width:100%;
	box-sizing:border-box;
	height:140px;
	position:relative;
	margin-bottom:32px;
	-webkit-box-shadow: 0px 0px 7px 1px rgba(199,199,199,1);
	-moz-box-shadow: 0px 0px 7px 1px rgba(199,199,199,1);
	box-shadow: 0px 0px 7px 1px rgba(199,199,199,1);
}

.mod_haeuser .picture
{
	background-color:grey;
	width:240px;
	position:absolute;
	top:0px;
	left:0px;
	height:100%;
	z-index:300;
}

.mod_haeuser .content-container
{
    background-image: url(../elements/box-freizeiten.png);
	right:0px;
	position:absolute;
	top:0px;
	left:0px;
	margin-left:200px;
	height:100%;
	z-index:333;
}

.mod_haeuser .content-container .title
{
	 color:#118ba3;
	left:50px;
	top:25px;
	position:absolute;
	font-family: "DIN2014-Narrow", sans-serif;
    text-transform: uppercase;
    font-size: 24px;
    line-height: 24px;
	
}

.mod_haeuser .content-container .date
{
	left:50px;
	top:55px;
	position:absolute;
	font-family: "DIN2014-Narrow", sans-serif;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 12px;
	
}

.mod_haeuser .content-container .info
{
	left:50px;
	bottom:25px;
	position:absolute;
	font-family: "DIN2014-Light", sans-serif;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 12px;
	
}

.mod_haeuser .content-container .booking-button
{

	    background-image: url(../elements/button.jpg);
    padding-left:20px;
    padding-top:11px;
    padding-right:18px;
    padding-bottom:11px;
	font-family:"DIN2014-Narrow", sans-serif;
	text-transform:uppercase;
	font-size:18px;
	line-height:18px;
	color:#000;	
	margin-top:16px;
	display:inline-block;
	
	right:50px;
	bottom:25px;
	position:absolute;
	
}
/* --- MHCE Columns
 * ---------------------------------------- */

.ce_text + .mhce_columns {
    margin-top: 3em;
}

.mhce_columns .column > .ce_headline {
    margin-top: 30px;
}

.mhce_columns > .row.equalize {
}

.mhce_columns > .row.equalize > .column {
}

/* --- MHCE Boxes
 * ---------------------------------------- */

.ce_mhce_boxes {
}

.ce_headline.section + .ce_mhce_boxes {
    margin-top: 0;
}

.ce_mhce_boxes > .row.equalize {
    display: flex;
    flex-flow: row wrap;
}

.ce_mhce_boxes.boxes-no-gutter .row {
    margin-left: 0!important;
    margin-right: 0!important;
}

.ce_mhce_boxes .item {
    float: left;
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
}

.ce_mhce_boxes > .row.equalize > .item {
    display: flex;
    flex: 1 0 auto;
}

.ce_mhce_boxes.boxes-no-gutter .item {
    padding-left: 0!important;
    padding-right: 0!important;
}

.ce_mhce_boxes.boxes-grid-2:not(.boxes-no-gutter) .item,
.ce_mhce_boxes.boxes-grid-3:not(.boxes-no-gutter) .item,
.ce_mhce_boxes.boxes-grid-4:not(.boxes-no-gutter) .item {
    margin: 20px auto;
}

.ce_mhce_boxes.boxes-grid-2 .item {
    width: 50%;
}

.ce_mhce_boxes.boxes-grid-2 .item:nth-child(1),
.ce_mhce_boxes.boxes-grid-2 .item:nth-child(2) {
    margin-top: 0;
}

.ce_mhce_boxes.boxes-grid-2 .item:nth-child(2n+1) {
    clear: left;
}

.ce_mhce_boxes.boxes-grid-3 .item {
    width: 33.3333%;
}

.ce_mhce_boxes.boxes-grid-3 .item:nth-child(1),
.ce_mhce_boxes.boxes-grid-3 .item:nth-child(2),
.ce_mhce_boxes.boxes-grid-3 .item:nth-child(3) {
    margin-top: 0;
}

.ce_mhce_boxes.boxes-grid-3 .item:nth-child(3n+1) {
    clear: left;
}

.ce_mhce_boxes.boxes-grid-4 .item {
    width: 25%;
}

.ce_mhce_boxes.boxes-grid-4-picture .item {
    width: 50%;
	margin-top:45px;
	margin-bottom:45px;
}

.contentpage .ce_mhce_boxes.boxes-grid-4-picture .item
{
	margin-top:20px;
	margin-bottom:20px;
}

.contentpage .ce_text + .ce_mhce_boxes
{
	margin-top:40px;
}
.ce_mhce_boxes.boxes-grid-4 .item:nth-child(1),
.ce_mhce_boxes.boxes-grid-4 .item:nth-child(2),
.ce_mhce_boxes.boxes-grid-4 .item:nth-child(3),
.ce_mhce_boxes.boxes-grid-4 .item:nth-child(4){
    margin-top: 0;
}

.ce_mhce_boxes.boxes-grid-4 .item:nth-child(4n+1) {
    clear: left;
}

.ce_mhce_boxes .item > .inside {
}

.ce_mhce_boxes > .row.equalize > .item > .inside {
    flex: 1 1 auto;
}

.ce_mhce_boxes.layout_v2 .item.box-styling-default > .inside,
.ce_mhce_boxes.layout_individual .item.layout_v2.box-styling-default > .inside {
    background-color: rgb(102,193,191);
    color: #ffffff;
    padding: 35px 45px;
}

.ce_mhce_boxes.layout_v3 .item.box-styling-default > .inside,
.ce_mhce_boxes.layout_individual .item.layout_v3.box-styling-default > .inside {
    padding: 35px 45px;
    border: 1px solid #66c1bf;
}

.ce_mhce_boxes.layout_default .item > .inside > .content_container,
.ce_mhce_boxes.layout_individual .item.layout_default > .inside > .content_container {
   /* padding-top: 25px;
    margin-top: 10px;
    border-top: 1px solid #000000;*/
}

.item.layout_default.box-styling-v3
{
	height:475px;
}
.item.layout_default.box-styling-v3 .content_container
{
    background-image: url(../elements/background_news.png);
    position: absolute;
    top: 225px;
    height: 375px;
    margin-right: 0px;
	margin-left: 0px;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 40px;
    padding-bottom: 35px;
	width:100%;
}

/*
.ce_mhce_boxes.layout_default .item > .inside > .content_container:before,
.ce_mhce_boxes.layout_individual .item.layout_default > .inside > .content_container:before {
    content: "";
    position: absolute;
    background-color: #000000;
    width: 33.33333%;
    height: 6px;
    top: 5px;
}*/
/*
.ce_mhce_boxes h2 {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
}*/

/*
.ce_mhce_boxes.layout_v2 h2,
.ce_mhce_boxes.layout_individual .item.layout_v2 h2,
.ce_mhce_boxes.layout_individual .item.layout_v3 h2 {
    font-size: 30px;
    font-size: 3rem;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 25px;
}

.ce_mhce_boxes.layout_v3 h2 {
    font-size: 33px;
    font-size: 3.3rem;
    font-weight: 700;
    color: #66c1bf;
}

.ce_mhce_boxes.layout_v2 h3,
.ce_mhce_boxes.layout_individual .item.layout_v2 h3 {
    margin-bottom: 5px;
}

.ce_mhce_boxes .item h2 > a {
    color: #000000;
}
*/
/*
.ce_mhce_boxes .more {
    position: relative;
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 700;
    color: #000000;
}*/

.ce_mhce_boxes.layout_v2 .more,
.ce_mhce_boxes.layout_individual .item.layout_v2 .more {
    color: #ffffff;
}

.ce_mhce_boxes.layout_v3 .more.more-2 {
    float: right;
    margin: 0;
}

.ce_mhce_boxes a.more
 {
	background-image:url(../elements/button.jpg);
    padding-left:18px;
    padding-top:11px;
    padding-right:18px;
    padding-bottom:11px;
	font-family:"DIN2014-Narrow", sans-serif;
	text-transform:uppercase;
	font-size:18px;
	line-height:18px;
	color:#000;
}

/*.ce_mhce_boxes .more:before {
    content: "\2192";
    content: "?";
    font-family: "Lato";
    font-weight: 900;
    line-height: 1;
    padding-right: 5px;
}*/

.box-styling-v3 .image_container
{
	position: relative;
	/*width: 285px;*/
	display:block;
	/*float:left;*/
	/*box-sizing: */
}

.box-styling-v3 .content_container
{
	/*border-top:0px!important;*/
	margin-left:40px;
	position: relative;
	display:flex;
	//margin-top:0px!important;
}

/*
.box-styling-v3 .content_container:before{
    content: "";
    position: absolute;
    background-color: #000000;
    width: 33.33333%;
    height: 6px;
    top: -6px!important;
}*/


/* --- MHCE Contact
 * ---------------------------------------- */

#main .mhce_contact {
    margin-bottom: 30px;
    margin-top: 30px;
}

.mhce_contact > .row > .item {
    float: left;
    padding-left: 20px;
    padding-right: 20px;
	width: 100%;
}

.mhce_contact .item .content > a,
.mhce_contact .item .content > span {
    display: block;
}

/* Ansprechpartner ---------- */

.mhce_contact.ansprechpartner {
    margin-top: 4em;
}

.mhce_contact.ansprechpartner > .row > .item {
    width: 50%;
}

.mhce_contact.ansprechpartner > .row .item > .inside {
    display: flex;
    flex-flow: row;
}

.mhce_contact.ansprechpartner .item .image_container {
    flex: 0 0 auto;
    width: 50%;

}

.mhce_contact.ansprechpartner .item .image_container img{
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
}

.mhce_contact.ansprechpartner .item .content_container {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-end;
    width: 50%;
    padding-left: 30px;
}

.mhce_contact.ansprechpartner .item .content_container > .content {
    flex: 1 1 auto;
}

.mhce_contact.ansprechpartner .item .content a {
    color: #777777;
}

.mhce_contact.ansprechpartner .item .content > span {
    display: block;
}

.mhce_contact.ansprechpartner .item .content .name {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.4;
    color: #66c1bf;
    margin-bottom: 0.5em;
}

.mhce_contact.ansprechpartner .item .content .position,
.mhce_contact.ansprechpartner .item .content .abteilung {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.4;
    color: #66c1bf;
}

.mhce_contact.ansprechpartner .item .content .telefon,
.mhce_contact.ansprechpartner .item .content .telefax,
.mhce_contact.ansprechpartner .item .content .email {
    margin-top: 0.5em;
    padding-left: 25px;
}

.mhce_contact.ansprechpartner .item .content .telefon {
    margin-top: 1em;
}