html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overscroll-behavior: none;
}

body {
	text-align: center;
	margin: 0;
	padding-top: 18px;
}

#page {
	text-align: left:;
	width: 960px; 
	margin: auto;
	position: relative;
}

#page_margins {
	text-align: left;
}

#header {
	background: url(images/topHeaderImage_agrar.jpg) no-repeat;
	height: 141px;
	position : relative;
	overflow: hidden;
}

#header .sloganContainer {
	overflow: hidden;
	margin-top: 30px;
	margin-left: 20px;
	margin: 30px 0 0 20px;
}

#header .sloganContainer h1 {
	background: url(images/topHeaderSloganLineBG.png) no-repeat bottom center;
	margin: 0;
	padding-bottom: 12px;
}

#header a {
	float: right;
	width: 285px;
	height: 140px;
}

#mainPageNav {
	height: 50px;
	position: relative;
	z-index: 30;
}


#mainPageNav ul {
	display: inline;
	margin: 0; padding: 0;
	float: right;
	margin-top: 26px;
}

#mainPageNav ul li {
	margin: 0; padding: 0;
	float: left;
	list-style: none;
	display: inline;
}

#mainPageNav ul li a {
	display: block;
	padding: 5px 10px;
}

#mainPageNav ul li.inact a  {
	background: url(images/mainPageNavInactBG.png) repeat-x left bottom;
}

#mainPageNav ul li.left {
	background: url(images/mainPageNavLeftEdge.png) no-repeat top left;
}

#mainPageNav ul li.right {
	background: url(images/mainPageNavRightEdge.png) no-repeat top right;
}

#mainPageNav ul li.agrar { background-color: #a6cab8; }
#mainPageNav ul li.milchgut { background-color: #8fa9de; }
#mainPageNav ul li.dienstleister { background-color: #d58078; }

#mainContainer {
	border: 2px solid #a6cab8;
	position: relative;
	background: url(images/mainContainerBG.png) repeat-y top right;
}

#mainContainer .leftTopEdge {
	background: url(images/mainContainerLeftTopEdge.jpg) no-repeat;
	width: 10px;
	height: 10px;
	position: absolute;
	top: -2px;
	left: -2px;
}

#mainContainer .leftBottomEdge {
	background: url(images/mainContainerLeftBottomEdge.jpg) no-repeat;
	width: 10px;
	height: 10px;
	position: absolute;
	bottom: -2px;
	left: -2px;
}

#mainContainer .rightBottomEdge {
	background: url(images/mainContainerRightBottomEdge.jpg) no-repeat;
	width: 10px;
	height: 10px;
	position: absolute;
	bottom: -2px;
	right: -2px;
}

.subcol-container {
	overflow: hidden;
	width: 100%;
}

.subcol-container .col25, .subcol-container .col33, .subcol-container .col50,
.subcol-container .col66, .subcol-container .col75 {
	float: left;
}

.flex-container { display: flex; overflow: hidden; }
.flex1 { flex: 1; }

.col25 { width: 25%; }
.col33 { width: 33%; }
.col50 { width: 50%; }
.col66 { width: 66%; }
.col75 { width: 75%; }

.subcol-content {
	margin: 0 6px;
}

#mainContainer .mainContent {
	margin: 10px 15px 10px 20px;
}

#mainContainer .menuContent {
	padding: 15px 6px 5px 6px;
}

#mainContainer .menuContent .subMenu {
	overflow: hidden;
	position: relative;
	background: url(images/mainContainerSubMenuBG.png) no-repeat center bottom;
	background-color: #ddece4; 
}

#mainContainer .menuContent .subMenu .leftTopEdge,
#mainContainer .menuContent .subMenu .rightTopEdge,
#mainContainer .menuContent .subMenu .rightBottomEdge {
	width: 10px;
	height: 10px;
	position: absolute;
}	

#mainContainer .menuContent .subMenu .leftTopEdge {
	top: -1px;
	left: -1px;
	background: url(images/mainContainerSubMenuLeftTopEdge.png) no-repeat;
}

#mainContainer .menuContent .subMenu .rightTopEdge {
	top: -1px;
	right: -1px;
	background: url(images/mainContainerSubMenuRightTopEdge.png) no-repeat;
}

#mainContainer .menuContent .subMenu .rightBottomEdge {
	bottom: -1px;
	right: -1px;
	background: url(images/mainContainerSubMenuRightBottomEdge.png) no-repeat;
}

#mainContainer .menuContent .subMenu ul {
	margin: 8px 0 30px 6px;
	padding: 0;
}

#mainContainer .menuContent .subMenu ul li {
	border-bottom: 1px solid #007b5d;
	padding: 3px 0 3px 6px;
	margin-right: 10px;
}

#mainContainer .menuContent .watermark {
	height: 170px;
	background: url(images/mainContainerWatermark.png) no-repeat bottom right;
	margin-right: -16px;
}

#footer .border {
	background: url(images/footerBG.png) no-repeat;
	height: 10px;
	margin-left: 8px;
}

#footer .info {
	margin: 8px 0 0 20px;
}

.milchgut {
    margin-top: 50px;
    background: url('images/milchtankstelle_bg.jpg') repeat-x 0px 67px;
}

.impressum-line { margin-top: 50px; }

#logo_gesamt_container img {
    max-width: 100%;
    height: auto;
}

@media screen and (max-width: 600px) {
  .flex-container {
    flex-direction: column;
    .flex1 { margin: 12px 15px; }
    .flex1 a br {
      display: none;
    } 
  }
  
  
  #header {
    background: none !important;
    height: auto;
  }
  
  #header a { display: none; }
  
  #header .sloganContainer {
  	margin-top: unset;
    margin-left: unset;
    margin: unset;
  }
  
  #page {
    width: 100%;

    .ce-textpic {
    	display: flex;
    	flex-direction: column-reverse;
	}
  }
  
  #mainContainer {
    background-image: none !important;
    background: none;
  }
  
  #mainContainer .menuContent .subMenu {
  	border-radius: 8px;
  }
  
  .subcol-container {
    display: flex;
    flex-direction: column-reverse;
    
  	.col25, .col50, .col75, .col33 {
   		width: 100%;
  	}
    
  	.watermark { display: none; }
  }
  
  .ce-row { display: flex; }
  
  #footer .border {
    display: none;
  }
}