/* FRONTEND CSS
ci-color: #174988
box hellblau: #e6f5f5
box hellgrün: #e3efde
box hellgelb: #e5e684
*********************************************/

/* message-container */
#system-message {
    padding: 0 15px 30px;
}
.alert *{
	color:red;
}
.alert-heading {
    margin-bottom: 0;
}
.close {
    cursor: pointer;
    float: right;
    font-weight: bold;
}

/* helper */
.flex {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}
.flex > img {
  margin-bottom: 10%;
}
.clear {
	clear: both;
	display: block;
	overflow: hidden;
	visibility: hidden;
	width: 0;
	height: 0;
}
.clearfix {	
	clear: both;
	float:none;
}
.pull-none.item-image img{
	width:100%;
}
.left, .pull-left{
	float:left;
}
.right{
	float:right;
}
.newspaper {
    column-count: 2;
    column-gap: 3.333333%;
	margin-bottom:0;
}
.col .newspaper{
	column-count: 1;
}
.newspaper p:first-child, .newspaper ul:first-child{
	margin-top:0;
}
.newspaper img{
	max-width:100%;
}

/* standard guten tags */
* {
	box-sizing:border-box;
}
html {
	/* scrollbar fix (prevent ugly left pull for lower content sites) */
	overflow-y: scroll;
	font-size: 100%;
}
body {
	/* background-image: url("/templates/fsgrid18/images/bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;  */
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
	color: #58585a;
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	margin:0;
}
h1, h2, h3, h4, h5, h6{
	hyphens: none;
	text-align: left;
	margin-top:0;
	font-weight:500;
	/* text-transform:uppercase; */
}
h2, h3{
	color: #174988;
	font-size: 22px;
}
p {
    text-align: justify;
	margin:0.7em 0;
}
#maincontent img{
	max-width:100%;
}
a{
	color:#174988;
	text-decoration:none;
}
#footer a:hover{
	color:#fff;
}

ul{
    margin-bottom: 0.5rem;
    margin-top: 0.5rem;
    padding-left: 0;
}
#maincontent ul {
    padding-left: 0;
}
#maincontent li {
    margin-left: 20px;
}
form li{
    background-image: none !important;
    list-style-type: none !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
}
input{
	border:1px solid #484747;
	padding-left:5px;
}
button {
    background-color: #476645;
    border: 1px solid #d8d8d8;
    color: #d8d8d8;
}

table{
	max-width:100%;
}
th, td {
    padding: 10px;
	white-space:nowrap;
}
/*
p:first-child {
    margin-top: 0;
}
p:last-child {
    margin-bottom: 0;
}
*/

/* layout ids und kiddies */
#wrap{
	width:100%;
	background-color:#f4f4f4;
}
#page{
	max-width:1200px;
	margin:0 auto;
	background-color: #fff;
	padding: 20px 4.16666%; /* =50px bei 1200gesamt */
	/*
	background-size: 100%;
	-moz-background-size: 100%;
	-webkit-background-size: 100%;
	background-repeat: no-repeat;
	*/
}
#logo {
	padding-left:6.66666%; /* bzg auf 1200px */
	padding-bottom:10px;
}
#logo img{
	max-width:100%;
}

#header{
}
#header, #main, #footer{
}
#header,#maincontent{
    position: relative;
    background-color: #ffffff;
}

.slide-desc {
	/*display:none; to be removed */
    /* height: 185px; */
    /* top: 280px; in Modul festgelegt */
    width: auto !important;
}
.slide-desc-bg-default{
	background:none !important;
}

.slide-desc-text-default {
	background: rgba(255,255,255,0.6); /* FF3.6-15 */
    font-style: italic;
    font-weight: 600;
    padding: 25px 45px;
}
.slide-desc-text-default p{
	text-align:left;
	margin:0;
	font-size:3rem;
}

#mainmenu{
	position:relative;
	width:100%;
	bottom:50px;
}
div#maximenu122 {
	line-height:1 !important;
    margin: 0 auto;
	width: 85%; /*header: 1100px wegen rand*/
    height: 100px;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 50%, #ffffff 50%, #e6f5f5 50%, #e6f5f5 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 50%,#ffffff 50%,#e6f5f5 50%,#e6f5f5 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 50%,#ffffff 50%,#e6f5f5 50%,#e6f5f5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e6f5f5',GradientType=0 ); /* IE6-9 */
}
div#maximenuck122 ul.maximenuck {
	padding: 40px 0px !important;
  	border: 3px solid #e5f5f5 !important;
	margin: 0 7.5%;
}
.maxiroundedcenter {
    background-color: white;
    height: 95px;
	width: 99%;
    text-align: ;
    margin: 0 auto;
}
ul.maximenuck {
    text-align: center !important;
    position: relative;
    top: 40%;
}
ul.maximenuck li{
	margin:0 100px 0 0!important;
	margin: 0 12% 0 0 !important;
	padding:0 !important;
}
ul.maximenuck li.current{
	border-bottom: #174988 2px solid !important; 
	/* im Modul nur .active nicht .current festlegbar */
}
.maximenuck a{
	text-decoration:none !important;
	margin:0 !important;
}
ul.maximenuck li.last {
    margin-right: 0 !important;
}
ul.maximenuck li a span{
	font-size: 15px !important;
}
.mobilemenuck-item > .level1 {
  background: #E5F5F5 !important;
}
.mobilemenuck-item > .level1 a{
  color: black !important;
  font-weight: normal !important;
  font-size: 1em !important;
}
#textbox {
    margin-top: 8%;
    position: absolute;
    width: 50%;
}
#textbox img {
    max-width: 100%;
}

#main{
	margin: -25px 7.5% auto;
}
#priority {
  padding: 10px 25px;
  background-color: #E1E687 !important;
  margin-top: -25px;
  position: relative;
}

#priority h3 {
    float: left;
    margin: 0 6.75% 0 0;
}
#priority div.custom {
	font-style: italic;
	display: table-cell;
	color: #174988;
}
body.front #maincontent{
	display:flex;
}
#maincontent > div {
	padding: 25px;
	background-color: #E5F5F5;
}
#maincontent div.rightcol{
	background-color: #E2EFDD;
}
.rightcol h4 {
    color: #174988;
    margin-bottom: 0;
}
.rightcol p, .rightcol ul {
    font-size: 16px;
    margin-bottom: 20px !important;
}
.rightcol p:last-child {
    margin-bottom: 0 !important;
}
.main, .rightcol{
	margin-bottom:25px;
}

#footer{
	background-color:#174988;
	height:65px;
}
#footer .moduletable {
    width: 85%;
    margin: 0 auto;
}
#footer ul{
}
#footer li {
	float:left;
    list-style-type: none;
    padding-right: 12%;
	margin-top: 17px;
}
#footer li:first-child {
	margin-left:7%;
}
#footer a{
	color: #ffffff;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:400;
	font-size:15px;
}

/* here we are */






.readmore {
    position: absolute;
    bottom: 8px;
	right: 46.66667%;
    padding: 3px 20px;
    background-color: #174988;
}
.readmore:hover{
	background-color: #80A5C6;
}
.readmore a{
	text-transform:lowercase;
	color:#ffffff !important;
}
.readmore a:hover{
	text-decoration:none !important;
}

.page-header h2 {
    margin-top: -10px;
}
.pull-none.item-image {
    padding-top: 12px;
}

/* special page classes */
.rechner{
	display:none;
}
/* contact */
.contact .left, .contact .right{
	width:50%;
}
.contact-miscinfo dd{
	margin-left:0;
}
.contact-block, .opening-block{
	box-sizing:border-box;
	float:left;
	padding-right:60px;
}
.opening-block{
	float:right;
	white-space:nowrap;
}

.contact .thumbnail.pull-right img{
	max-width: 250px;
	width:30%;
}

div.contact-form {
    background-color: #fff;
	padding: 0;
}

form#contact-form fieldset {
	border:none;
	padding:0;
}
form#contact-form input{
	width:100%;
	border-top-width: medium;
	border-right-width: medium;
	border-bottom-width: thin;
	border-left-width: medium;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: dotted;
	border-left-style: none;
	border-bottom-color: #666;
}
form#contact-form textarea {
	width:100%;
	border-width: thin;
	border-style: dotted;
	border-color: #666;
}

.control-group{
	clear:both;
}
.control-group.copy{
	padding-top: 20px;
}
.control-group.copy input{
	width:20px !important;
}

.control-label {
    float: left;
	width: 20%;
}
.controls {
    float: left;
	width:70%;
}
.control-group.message {
    padding-top: 30px !important;
}
form#contact-form button {
    background-color: #174988;
    border: medium none;
    color: #ffffff;
    float: right;
    margin: 0 10%;
    padding: 0 20px;
}
#easycalccheckplus{
	clear:both;
	width:90%;
}
#easycalccheckplus input{
	width:200px;
}

.mobilebarmaximenuck {
    height: 40px !important;
}

/* MEDIA QUERIES
*********************************************/
@media only screen and (max-width: 960px) {

	#page {
		background-size: 150%;
		background-position-x: right;
		padding-top:0;
	}
	#header{
		background-color:transparent;
	}
	#logo{
		background-color:#ffffff;
		padding:15px 15px 5px;
		width:50% !important;
	}
	/* slide texte nicht größer werden lassen */
	.slide-title {
		font-size:1.5em !important;
		line-height:1;
	}
	.slide-text p {
		font-size:1em !important;
		line-height:1;
	}
	#mainmenu{
		display:none;
	}
	#textbox{
		margin-top:5%;
	}
	.items-row .span_7 > p {
		text-overflow: ellipsis;
		overflow: hidden;
		white-space: nowrap;
	}
	.left.contact, .right.contact{
		width:100%;
	}
	.control-label {
		float: left;
		width: 20%;
	}
	.controls {
		float: left;
		width:80%;
	}
	#easycalccheckplus{
		width:100%;
	}
	form#contact-form button {
		margin-right: 0;
	}
}
@media only screen and (max-width : 768px) {
	.slide-desc-text{
		padding: 5px;
	}
	form#contact-form div.left, form#contact-form div.right {
		width: 100%;
	}
	.newspaper {
		column-count: 1;
		-moz-column-count: 1;
		-webkit-column-count: 1;
	}
	.newspaper.blog .page-header h2{
		padding-top:20px;
	}
	
}
@media only screen and (max-width : 640px) {
	body{
		line-height:1.75;
	}
	#textbox{
		margin-top:0;
	}
	#main {
		margin-top: 25%;
	}
	#maincontent .span_1,
	#maincontent .span_2,
	#maincontent .span_3,
	#maincontent .span_4,
	#maincontent .span_5,
	#maincontent .span_6,
	#maincontent .span_7,
	#maincontent .span_8,
	#maincontent .span_9,
	#maincontent .span_10,
	#maincontent .span_11,
	#maincontent .span_12{
		width:100%;
	}
	
	.items-row .span_7 > p {
		text-overflow: unset;
		overflow: visible;
		white-space: normal;
	}
	.item-page{
		display:block;
	}
	.items-row .span_7 {
		padding: 0;
	}
	.readmore {
		bottom: 0;
		left: 2%;
		right: inherit;
		width: 96%;
	}
	.span_5 .pull-none.item-image {
    	width: 100%;
	}
}

@media only screen and (max-width : 480px) {
	body{
	    background-image: url("/templates/fsgrid18/images/blank.gif");
	}
	#textbox{
		margin-top:0;
	}
	th, td {
		padding: 2px;
	}
	#header, #maincontent, #footer, #beyondfooter, #copyright {
		padding-left: 3%;
		padding-right:3%;
	}	
	.slide-title {
		font-size:1rem !important; /* safari & older fallback */
		font-size:4vw !important;
	}
	.slide-text p {
		font-size:0.75rem !important;  /* safari & older fallback */
		font-size:3vw !important;
	}
	#maincontent{
		padding-top:3%;
		padding-bottom:3%;
	}
}