 /*frame*/ 

@font-face{
	font-family: "sans-light";
	src:url("../fonts/SourceSansPro-Light.otf") format("truetype");
}
@font-face{
	font-family: "sans-bold";
	src:url("../fonts/SourceSansPro-Bold.otf") format("truetype");
}
@font-face{
	font-family: "sans-italic";
	src:url("../fonts/SourceSansPro-It.otf") format("truetype");
}
a {
	text-decoration: initial;
	color: inherit;
}
html,body {
    border: 0 none;
    margin: 0;
    outline: 0 none;
    padding: 0;
    font-family: "sans-light";
    text-align: left;
    height: 100%;
    min-height: calc(100% + 1px);
    color: #000;
    font-size: 24px;
    line-height: 34px;
    background: white;
}
#wrap-outer {
	width: 100%;
	min-height: 100%;
	position: relative;
}
#wrap-inner {
	margin: 0 auto;
	padding-bottom: 197px;
	min-height: 100%;
}
#main-wrapper {
	left: 0;
	min-height: 100%;
	padding-bottom: 0;
	position: absolute;
}
#content-wrapper {
	position: relative;
}
#content {
}
#footer {
	position:absolute;
	bottom:0;
	width:100%;
	height: 197px;
}
#footer-imprint  .table{
    height: 80px;
    text-align:center;
    width: 100%;
}
#footer-links {
    height: 200px;
    padding-top: 70px;
}
#footer .line {
	position: absolute;
	height: calc(100% - 10px);
	top: 5px;
	width: 1px;
	right: calc(4.6vw);
}
@media screen and (max-width: 1023px) {
	#footer {
		position:relative;
	}

	#footer-links{
		height: auto;
		padding: 40px 0px;
	}
	#footer #footer-imprint {
		height: auto;
		padding: 20px 0px;
	}
	#footer-links .fit{
	padding-bottom: 35px;
	}
	#footer-links .fit:last-child{
	padding-bottom: 0px;
	}
	#footer .line{
		display:none;
	}
	#wrap-inner{
		margin: 0 auto;
		padding-bottom: 0px;;
	}
}

.raster.table {
    max-width: 1020px;
}

.raster-wrapper {
    position: relative;
    display: block;
    padding-top: 30px;
}

.top-padding-0 {
    padding-top: 0px;
}
.bottom-padding-0 {
    padding-bottom: 0px;
}

.top-padding-30 {
    padding-top: 25px;
}
.bottom-padding-30 {
    padding-bottom: 25px;
}

.top-padding-60 {
    padding-top: 50px;
}
.bottom-padding-60 {
    padding-bottom: 50px;
}

.top-padding-90 {
    padding-top: 50px;
}
.bottom-padding-90 {
    padding-bottom: 50px;
}

.top-padding-100 {
    padding-top: 80px;
}
.bottom-padding-100 {
    padding-bottom: 80px;
}

.top-padding-120 {
    padding-top: 100px;
}
.bottom-padding-120 {
    padding-bottom: 100px;
}

.top-padding-130 {
    padding-top: 100px;
}
.bottom-padding-130 {
    padding-bottom: 100px;
}

.top-padding-160 {
    padding-top: 100px;
}
.bottom-padding-160 {
    padding-top: 100px;
}

b {
	font-family: "sans-bold";
}

i {
	font-family: "sans-italic";
}

h1,.font-h1 {
	color: #ba8b18;
	font-size: 54px;
	line-height: 49px;
	font-family: "sans-bold";
	letter-spacing: 0.5px;
}
h2,.font-h2 {
	color: #ba8b18;
	font-size: 32px;
	font-family: "sans-bold";
	text-transform: uppercase;
}
h3,.font-h3 {
	color: #ba8b18;
	font-size: 30px;
	font-family: "sans-light";
}
h4,.font-h4 {
	font-size: 28px;
	color: #ffffff;
	line-height: 24px;
}
h5,.font-h5 {
	font-size: 22px;
	color: #ba8b18;
	line-height: 24px;
}
h6,.font-h6 {
	font-size: 18px;
	color: #ffffff;
	line-height: 25px;
}
.raster-wrapper.kontakt.bold {
	font-weight: bold;
	font-family: "sans-bold";
}
.bold {
	font-family: "sans-bold";
}
.upper {}
.q:after {
	content:"2";
	font-size: 14px;
	line-height: 16px;
	display: inline-block;
	position: absolute;
}
.uppercase {
	text-transform: uppercase;
}
.align-left {
	text-align:left;
}
.align-center {
	text-align:center;
}
.align-right {
	text-align:right;
}
.wrapper {
	position:relative;
    margin: 0 auto;
}

.bg-white {
	background-color: white;
}
.bg-grey {
	background-color: #f9f9f9;
}
.bg-darkgrey {
	background-color: #e2e3e3;
}
.bg-yellow {
	background-color: #ba8b18;
}
.color-white {
	color: white;
}
.color-lightgrey {
	color: #6e6e6d;
}
.color-grey {
	color: #f9f9f9;
}
.color-darkgrey {
	color: #e2e3e3;
}
.color-yellow {
	color: #ba8b18;
}
.color-black {
	color: black;
}


/* menu box */
#menubox {
	background: white;
	width: 100%;
	z-index: 100;
	position: relative;
	height: 90px;
}
body.flexmenu #menubox {
	background: white;
	width: 100%;
	height: 260px;
	z-index: 100;
	position: relative;
}
#menubox > .cap {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 100000;
    display: none;
}

.menu-open #menubox,
.menu-open #menubox.fixed {
	z-index: 1000;
    width: 0px;
}
.menu-open #menubox > * {
    display: none;
}
.menu-open #menubox > .cap {
    display: block;
}
#menubox > .cap .wrapp {
	position: absolute;
	height: 100px;
	top: 0px;
	width: 100%;
}
#menubox > .cap .wrapp > div{
	position: relative;
	margin: 0 auto;
	height: 100px;
	top: 0;
	width: 100%;
	max-width: 1100px;
}
#menubox > .cap .close {
    display: block;
    position: absolute;
    background-size: 28px 28px;
    right: 0px;
    top: 0px;
    cursor: pointer;
    background-repeat: no-repeat no-repeat;
    width: 150px;
    height: 150px;
    background-position: 50% 30px;
    background-image: url("../img/burger_x_white.png");
}
#menubox > .cap .ahead{
    color: white;
    position: absolute;
    width: 100%;
    text-align: center;
    margin-top: 34px;
}
#menubox > .cap .scrolly{
    position: relative;
    height: 100%;
    width: calc(100% + 20px);
    overflow:auto;
    top: 0px;
    text-align:center;
    overflow-x:hidden;
}
#menubox > .cap .scrollyFirst {
    display: table;
    position: absolute;
    height: 100%;
    width: 100%;
}
#menubox > .cap .scrollySecond{
    display: table-cell;
    vertical-align: middle;
}
#menubox > .cap .scrollyThird{
    margin-left: auto;
    margin-right: auto;
}


#menubox .inner {
	/* margin: 0 auto; */
	/* position: relative; */
	/* TEXT-ALIGN: center; */
	/* vertical-align: top; */
}
#menubox .logo {
    background-image: url("../img/saalhaus_logo_200x167.png");
    display: inline-block;
    background-repeat: no-repeat no-repeat;
    background-position: 100% 100%;
    width: 100%;
}
body.flexmenu #menubox .logo {
    width: 200px;
    height: 176px;
    margin-top: 35px;
    margin-bottom: 49px;
    background-position: 100% 100%;
}
#menubox .burger {
    background-image: url("../img/saalhaus_burger.png");
    width: 40px;
    height: 27px;
    right: 55px;
    background-repeat: no-repeat no-repeat;
    cursor: pointer;
    /* display: none; */
    position: absolute;
    top: -90px;
    z-index: 10;
}
body.flexmenu #menubox .burger {
    background-image: url("../img/saalhaus_burger.png");
    width: 40px;
    height: 27px;
    right: 55px;
    background-repeat: no-repeat no-repeat;
    cursor: pointer;
    /* display: none; */
    position: absolute;
    top: -90px;
    z-index: 10;
}

body.flexmenu #menubox .raster ul.rows {transition: all 250ms;}
body.flexmenu #menubox .raster ul.rows {display: block;top: 0px;position: relative;font-size: 32px;padding-top: 99px;opacity: 1;text-align: justify;letter-spacing: 0.5px;margin-top: 0px;}
body.flexmenu #menubox .raster ul.rows .table{width:100%}
body.flexmenu #menubox .raster ul.rows.right > *{
    float: right;
} 
/*unused*/

#fullscreenmenu ul.navilist.rows > li {
	display: block;
	padding: 4px 37px 4px 0px;
	text-align: center;
}

#fullscreenmenu ul.navilist.rows > li a {
	display: inline-block;
	color: white;
	text-transform: uppercase;
	font-size: 36px;
	float: none;
}
#fullscreenmenu ul.navilist.rows > li a:hover {
	font-family: "sans-bold";
}
#menubox .raster ul.rows > li a{padding: 0 13px;}
#menubox .raster ul.rows.left > li a{padding: 0 16px;}
#menubox .raster ul.rows.right > li a{padding: 0 26px;}
#menubox .raster ul.rows > li a:last-child{padding-right: 0px;}
#menubox .raster ul.rows > li a:first-child{padding-left: 0px;}
#menubox .raster ul.rows > li a:hover {
	/* font-family: "sans-bold"; */
	color: #ba8b18;
}
#menubox .raster  ul.navilist.rows > li.active a {
	font-family: "sans-bold";
	color: #01afef;
}
#menubox .raster ul.navilist.rows > li p {
	display:inline-block;
	border:1px solid transparent;
	border-width:0 0 1px 0;
}
#menubox .raster  ul.cols {}
#menubox .raster  ul.cols > li{
	display: inline-block;
	margin: 0 10px;
}
#menubox .raster  ul.cols > li a{
	color: white;
}
#menubox .raster  ul.cols > li a:hover {
	text-decoration:underline;
}


/* fixed menubox */
body.flexmenu #menubox.fixed,
#menubox.fixed {
    position: fixed;
    top: -100px;
    z-index: 101;
    border-bottom: 1px solid rgb(222, 222, 222);
    /* box-shadow: 0 0 6px rgb(0, 0, 0); */
    border-top: solid 100px white;
}
#menubox.fixed .logo{
    /*background-image: url("../img/saalhaus_logo_200x28.png");*/
	/*height: 28px;*/
}
body.flexmenu #menubox.fixed {
	transition: top 250ms ,height 250ms;
}
body.flexmenu #menubox.fixed .burger,
body.flexmenu #menubox.fixed .logo {
    transition: all 250ms;
}
#menubox.fixed.open {
    top: -100px;
    opacity: 1;
}



body.flexmenu #menubox.fixed .telicon, .telicon {
    background-image: url("../img/hoerer_kreis_100x100.png");
    width: 100px;
    height: 100px;
    position: absolute;
    left: 5px;
    bottom: -40px;
    background-position: 50% 50%;
    background-repeat: no-repeat no-repeat;
    /* display: none; */
    z-index: 10;
    background-size: 100px 100px;
}
body.flexmenu .telicon {
    transition: all 250ms;
}
.telicon.small {
    background-image: url("../img/hoerer_kreis_70x70.png");
}
.backbtn {
    background-image: url("../img/zurueck_155x60.png");
    width:150px;
    height: 60px;
    display: inline-block;
    position: relative;
    float: right;
    text-indent: -200px;
    overflow: hidden;
}
.link-button {
	border: 2px solid #ba8b18;
    padding: 10px;
    color: #ba8b18;
    font-weight: bold;
}
.tel{display: inline-block;}
.tel:before {
	content: "";
	background-image: url("../img/hoerer_28x28.png");
	background-repeat:  no-repeat no-repeat;
	padding-left: 40px;
	display: inline-block;
	height: 28px;
	margin-bottom: -8px;
}
body.flexmenu #menubox.fixed.canclose,
#menubox.fixed {
    top: -100px;
    opacity: 1;
    height: 90px;
    width: 100%;
}
body.flexmenu #menubox.fixed.canclose .logo,
#menubox.fixed .logo {
	height: 50px;
	margin-top: 20px;
	margin-bottom: 0px;
	background-position: 100% -140px;
}
body.flexmenu #menubox.fixed.canclose .burger,
#menubox.fixed .burger {
	top: 30px;
}
body.flexmenu #menubox.fixed.canclose .telicon,
#menubox.fixed .telicon {
	width: 70px;
	height: 70px;
	background-size: 70px 70px;
	bottom: 0px;
	left: 21px;
}
body.flexmenu #menubox.fixed.canclose .raster ul.rows,
#menubox.fixed .raster ul.rows{
    padding-top: 0px;
    margin-top: -150px;
}



.one {
	margin: 0 auto 30px;
}
.fit:last-child .one {
	margin: 0 auto 0px;
}
.one .label {
	background: black;
	min-height: 88px;
	width: 100%;
	position: relative;
}
.one .font-h5 {
	padding-top: 6px;
}

.raster-wrapper.slider {
	width: 100%;
	overflow: hidden;
}
.raster-wrapper.slider .items {
	position:relative;
}
.startseite_slider .bg{
	width: 100%;
	position: absolute;
	height: 100%;
	top: 0;
	opacity: 0.9;
	z-index: 6;
}
.raster-wrapper.slider .slider_bg {
	position:relative;
	background-size: cover;
	width: 100%;
	height: 100%;
	display:none;
	z-index: 10;
}
.raster-wrapper.slider .slider_bg.active {
	display:block;
}
.startseite_slider.raster-wrapper.slider .slider_bg.next {
	display:block;
	position: absolute;
	top: 0;
	left: 100%;
	width: 100% !important;
	z-index: 5;
}
.startseite_slider.raster-wrapper.slider .slider_bg.prev {
	display:block;
	position: absolute;
	top: 0;
	right: 100%;
	width: 100% !important;
	z-index: 5;
}
.raster-wrapper.slider .navi{
	position: absolute;
	bottom: 30px;
	width: calc(100% - 80px);
	text-align: center;
	z-index: 10;
}
.dot-wrapper {
	text-align: center;
	z-index: 10;
	margin-top: 60px;
}
.quotes-slider {
	padding-top: 94px;
}
.quotes-slider .slider .item{
	text-align: center;
}
.quotes-slider .arrows{
	position: absolute;
	top: 50%;
	margin-top: -17px;
	right: 0;
	width: 40px;
	cursor: pointer;
	z-index: 10;
	background-image: url("../img/pfeil_next.svg");
	background-repeat: no-repeat no-repeat;
	text-indent: 100px;
	background-size: contain;
	background-position: 50% 50%;
	overflow: hidden;
}
.quotes-slider .arrows.prev{
	left: 0;
	background-image: url("../img/pfeil_prev.svg");
}
.startseite_slider.raster-wrapper.slider .navi {
	bottom: 30px;
	width: calc(100% - 30px);
}
.raster-wrapper.slider .navi > *, .dot-wrapper > *{
	width: 20px;
	height: 20px;
	background: white;
	display: inline-block;
	margin: 0 5px;
	border-radius: 20px;
	cursor: pointer;
	overflow: hidden;
	text-indent: -100px;
}
.dot-wrapper > *{
	background: rgb(165 165 165);
}
.raster-wrapper.slider .navi > *.active, .dot-wrapper > *.active{
	background: rgb(186, 139, 24);
}

form input[type="text"], form input[type="email"], form input[type="phone"] {
	width: calc(100% - 12px);
	font-family: "sans-light";
	color: #000;
	height: 58px;
	font-size: 24px;
	margin-top:30px;
	padding: 0px 0 0 10px;
	border-color: black;
	border-width: 1px;
}
form textarea {
	width: calc(100% - 15px);
	font-family: "sans-light";
	max-width: calc(100% - 15px);
	color: #000;
	font-size: 24px;
	min-width: calc(100% - 15px);
	border-width: 1px;
	margin-top:30px;
	height: 144px;
	padding-left: 10px;
	border-color: black;
}
form input[type="checkbox"] {
    display:none;
}
form input[type="checkbox"] + label {
	padding-left: 34px;
	position: relative;
	cursor: pointer;
	color: #6e6e6d;
	display: inline-block;
}
form input[type="checkbox"] + label:before {
	content: '';
	width: 22px;
	height: 22px;
	background: white;
	border: 1px solid rgb(186, 139, 24);
	position: absolute;
	border-radius: 100%;
	margin-top: 5px;
	left: 0px;
}
form input[type="checkbox"]:checked + label {
	color:black;
}
form input[type="checkbox"]:checked + label:before {
	background: rgb(186, 139, 24);
}
form input[type="submit"],form button[type="submit"] {
	width: 100%;
	background: rgb(186, 139, 24);
	font-family: "sans-light";
	color: white;
	height: 58px;
	font-size: 28px;
	border: none;
	padding: 0;
	cursor: pointer;
	margin: 0;
}

form .mandatory.isempty {
	background-color: rgb(186, 139, 24);
}

.center-area {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.center-area:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.centered {
	display: inline-block;
	vertical-align: middle;
}

#map-canvas {
	width: 100%;
	height: 900px;
	max-height: calc(100vh - 330px);
}
.footline {
	position:relative;
	width: 1px !important;
	padding-right: 120px;
}

.footline:after {
	content: "";
	width: 1px;
	position: absolute;
	height: 100%;
	background: white;
	margin-left: 50%;
}

#footer #footer-kontakt{
	padding-bottom: 30px;
	height: auto;
}

#footer #footer-imprint{
	height: 60px;
}
#footer #footer-imprint span{
	padding-top: 17px;
	display: inline-block;
}

.eintraege_klein .one {
	margin:0px;
}
.eintraege_klein .one .label{
	position: absolute;
	height: 100%;
	opacity: 0;
	top: 0;
	transition: opacity 200ms;
	background: rgba(0,0,0,0.5);
}
.eintraege_klein .one:hover .label{
	opacity: 1;
}

.eintraege_klein .raster {
	padding: 0 54px;
	max-width: 1006px;
}
.eintraege_klein .raster.float .fit > .inner {
    margin: 0 7px;
    padding: 0;
    width: calc(100% - 14px);
}

@keyframes slide {
  0% {
	transform: rotate(00deg);
  }
  100% {
	transform: rotate(360deg);
  }
}
body.loading .telicon {
  animation: slide 800ms infinite;
  animation-timing-function: ease-in-out;
}

body.loading #wrap-outer {
	opacity: 0.5;
}
#wrap-outer {
	transition: opacity 300ms;
}


.is-table {
	display:table;
}
.is-table-cell  {
	display:table-cell;
	text-align: center;
}

a.anchor {
	margin-top: -50px;
    display: block;
    position: absolute;
}

.news-item {
	padding:20px 0px;
}

.news-item .item-date {
	font-size: 14px;
	font-weight: bold;
}

@media screen and (min-width: 769px) and (max-width: 1023px) {
	#menubox {
		height: 90px;
	}
	#menubox.fixed {
		top: -100px;
		opacity: 1;
		height: 90px;
	}
	#menubox .logo {
		height: 50px;
		margin-top: 20px;
		margin-bottom: 0px;
		background-position-y: -140px;
	}
	#menubox.fixed .burger {
		top: 30px;
	}
	#menubox.fixed .telicon {
		width: 70px;
		height: 70px;
		background-size: 70px 70px;
		top: 10px;
		left: 60px;
	}
	#menubox .raster ul.rows {
		display: none;
	}
	.single_text-2 {
		padding-top: 40px;
	}
	.eintraege_klein .one {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 768px) {
	
	html,body {
		font-size: 18px;
		line-height: 24px;
	}
	
	.raster-wrapper {
		padding-top: 20px;
	}
	
	.top-padding-0 {
		padding-top: 0px;
	}
	.bottom-padding-0 {
		padding-bottom: 0px;
	}

	.top-padding-30 {
		padding-top: 25px;
	}
	.bottom-padding-30 {
		padding-bottom: 25px;
	}

	.top-padding-60 {
		padding-top: 20px;
	}
	.bottom-padding-60 {
		padding-bottom: 20px;
	}

	.top-padding-90 {
		padding-top: 30px;
	}
	.bottom-padding-90 {
		padding-bottom: 80px;
	}

	.top-padding-100 {
		padding-top: 40px;
	}
	.bottom-padding-100 {
		padding-bottom: 40px;
	}

	.top-padding-120 {
		padding-top: 100px;
	}
	.bottom-padding-120 {
		padding-bottom: 100px;
	}

	.top-padding-130 {
		padding-top: 50px;
	}
	.bottom-padding-130 {
		padding-bottom: 30px;
	}

	.top-padding-160 {
		padding-top: 40px;
	}
	.bottom-padding-160 {
		padding-top: 160px;
	}

	
	.raster {
		max-width: 1020px;
		min-width: 220px;
		margin: 0 auto;
		position: relative;
		padding: 0 10px;
	}
	#menubox .inner .left-col {
		display: none;
	}
	#menubox .inner .right-col {
		display:none;
	}
	body.flexmenu #menubox.fixed .telicon, .telicon, body.flexmenu #menubox.fixed.canclose .telicon, #menubox.fixed .telicon {
		width: 50px;
		height: 50px;
		background-size: 50px 50px;
		top: 20px;
		left: 17px;
	}
	.eintraege_klein .raster {
		padding: 0 10px;
	}
	body.flexmenu #menubox .burger, body.flexmenu #menubox.fixed.canclose .burger, #menubox.fixed .burger, #menubox.fixed.canclose .burger, #menubox.fixed .burger {
		right: 15px;
		transform: scale(0.75);
		top: 30px;
	}
	#footer {
		height: auto;
	}
	#footer #footer-kontakt {
		height: auto;
		padding-bottom: 20px;
	}
	.font-h1 {
		font-size: 2.3em;
		font-size: calc(7vw);
		line-height: 1.1em;
	}
	.font-h3 {
		color: #ba8b18;
		font-size: 24px;
	}
	.font-h4 {
		font-size: 20px;
		line-height: 20px;
	}
	.font-h5 {
		font-size: 18px;
		line-height: 20px;
	}
	.font-h6 {
		font-size: 16px;
		line-height: 18px;
	}	
	#menubox > .cap .close {
		background-position: 100px 30px;
		transform: scale(0.7);
		top: -19px;
		right: -12px;
	}
	.raster-wrapper.slider .navi > * {
		width: 10px;
		height: 10px;
		margin: 0 2px;
		border-radius: 100%;
	}
	.raster-wrapper.slider .navi {
		bottom: 0px;
	}
	#menubox {
		height: 50px;
	}
	body.flexmenu #menubox.fixed.canclose, #menubox.fixed, #menubox.fixed.canclose, #menubox.fixed {
		top: -110px;
		height: 80px;
		width: 100%;
	}
	body.flexmenu #menubox {
		height: 70px;
	}
	body.flexmenu #menubox.fixed.canclose .logo, #menubox.fixed .logo, body.flexmenu #menubox .logo, #menubox.fixed.canclose .logo, #menubox.fixed .logo {
		background-size: 150px 132px;
		background-position: 25px -96px;
		margin-top: 20px;
		height: 50px;
		width: 200px;
	}
	.raster-wrapper.kontakt p {
		margin: 10px 0;
	}
	form input[type="checkbox"] + label:before {
		width: 16px;
		height: 16px;
		margin-top: 3px;
		left: 0px;
	}
	form input[type="checkbox"] + label {
		padding-left: 24px;
	}
	.raster-wrapper.kontakt {
		padding-bottom: 30px;
	}
	form input[type="submit"] {
		margin-top: 20px;
	}
	.one .label {
		min-height: 68px;
	}
	#footer #footer-imprint span {
		padding-top: 21px;
	}
	.footline {
		position: relative;
		height: 20px !important;
		opacity: 0;
	}
}
@media screen and (min-width: 1024px) {
	#footer-kontakt .width-fix {
		    min-width: 260px;
	}
}
