html {
	background: url(../img/bg.jpg) no-repeat 0 0 fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/bg.jpg', sizingMethod='scale');
    -ms-filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/bg.jpg', sizingMethod='scale');
}

body {
    font: 16px 'Lora', serif;
	line-height: 1.25em;
}

body, a {
	color: #998f86;
}

a {
	text-decoration: none;
}

p {
	margin: 0.67em 0;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

address {
	font-style: normal;
}

#wrap {
	width: 816px;
	margin: 0 auto;
	background: rgba(255,255,255,0.5);
	padding-top: 174px;
	position: relative;
}

header {
	background: #fff;
	position: absolute;
	top: 44px;
	width: 100%;
	font-size: 22px;
	z-index: 10;
}

header > div {
	width: 776px;
	margin: 0 auto;
	position: relative;
}

header h1 {
	color: #fd0028;
	font-size: 35px;
	font-weight: normal;
	display: inline-block;
	padding-bottom: 9px;
	border-bottom: 1px solid #fd0028;
	margin: 1em 6px 0 0;
	line-height: 1em;
	
}

header h2 {
	color: #fd0028;
	display: inline-block;
	font-size: 22px;
	font-weight: normal;
	margin: 1em 0 0 0;
}

header p {

}

#phone {
	position: absolute;
	right: 80px;
	top: 5px;
	width: 98px;
	height: 100px;
	overflow: hidden;
	display: block;
	padding-left: 66px;
	padding-top: 20px;
	background: url('../img/phone.png') no-repeat;
	font-size: 21px;
	color: #fff;
	white-space: nowrap;
}

#phone>span {
	font-weight: bold;
	display: block;
}

nav {
	position: absolute;
	top: 0;
	right: 87px;
	line-height: 45px;
	margin: 0;
}

nav a {
	font-size: 18px;
	color: #8c837c;
	margin-left: 14px;
}
nav a:hover {
	border-bottom: 1px solid #8c837c;
}

nav a:first-child:after {
	content: '•';
	position: absolute;
	padding-left: 6px;
}

section, footer {
	background: #fff;
	padding: 20px;
	margin: 26px 0;	
}

footer {
	height: 200px;
	padding: 0px;
}

section > h1 {
	font-size: 25px;
	font-weight: normal;
	border-bottom: 3px solid #fd0028;
	width: 34%;
	padding-bottom: 8px;
	position: relative;
	margin: 0 0 12px 0;
	height: 20px;
}

.js section > h1 {
	cursor: pointer;
}

.js section > h1:after {
	content: ' ';
	position: absolute;
	bottom: -15px;
	right: -2px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 11.5px 0 11.5px;
	border-color: #fd0026 transparent transparent transparent;
	line-height: 0px;
	padding: 0;
	margin: 0;
}

.js section > h1:before {
	content: 'mehr';
	color: #fd0028;
	font-size: 12px;
	position: absolute;
	bottom: 0px;
	right: -3px;
}

section > h1 > a {
	display: block;
	position: absolute;
	height: 40px;
	width: 100%;
}

.logo {
	float: right;
	margin-top: 20px;
}

section > hr {
	display: block;
	width: 90%;
	margin: 0;
	border: 0 none;
	border-bottom: 3px solid #fd0028;
	position: relative;
	overflow: visible;
	clear: both;
	float: left;
}

.js section > hr {
	display: none;
	cursor: pointer;
}

section.expanded > hr {
	display: block;
}

section.expanded > hr:before {
	content: 'weniger';
	color: #fd0028;
	font-size: 12px;
	position: absolute;
	bottom: -20px;
	right: -12px;
}

section.expanded > hr:after {
	content: ' ';
	position: absolute;
	bottom: -3px;
	right: -2px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 11.5px 15px 11.5px;
	border-color: transparent transparent #fd0026 transparent;
	line-height: 0px;
	padding: 0;
	margin: 0;
}

.icons {
	margin: 0 18px;
}

.icons img {
	width: 59px;
	margin-right: 20px;
}

.js section > article {
	display: none;
}

section.expanded > article {
	display: block;
}

article {
	background: #c2bcb7;
	width: 60%;
	color: #685c53;
	margin: 16px 26px;
	position: relative;
}

article.expanded, .no-js article {
	background: #92877d;
	color: #fff;
}

article > h1 {
	font-size: 20px;
	font-weight: normal;
	margin-left: 90px;
}

article > img {
	float: left;
	display: block;
	margin: 6px;
}

article > p {
	font-style: italic;
	display: inline-block;
	position: relative;
	padding-right: 24px;
	cursor: pointer;
	margin-left: 10px;
	margin-bottom: 4px;
}

article > p:after {
	content: ' ';
	position: absolute;
	bottom: 3px;
	right: 0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 9.5px 0 9.5px;
	border-color: #fd0026 transparent transparent transparent;
	line-height: 0px;
	padding: 0;
	margin: 0;
}

article.expanded > p, .no-js article > p {
	display: none;
}

article.expanded > h1 {
	cursor: pointer;
}

article > ul {
	display: block;
	margin-left: 90px;
	margin-right: 1.25em;
	padding-left: 1em;
	padding-top: 1em;
	border-top: 2px solid #fff;
}

article > ul.narrow {
	margin-right: 70px;
}

.js article > ul {
	display: none;
}

a.pdf {
	display: block;
	width: 56px;
	height: 49px;
	overflow: hidden;
	background: url('../img/pdf.png') no-repeat;
	white-space: nowrap;
	text-indent: 100%;
	position: absolute;
	bottom: 6px;
	right: 6px;
}

.js article > a.pdf {
	display: none;
}

article.expanded > ul {
	display: block;
}

article.expanded > a.pdf {
	display: block;
}

#kontakt {
	width: 40%;
	height: 160px;
	float: left;
	padding: 20px;
}

#impressum, #datenschutz {
	width: 95% !important;
	margin-left: 0%;
	display:none;
	background: #fff;
	padding: 20px;
	margin: 30px 0;	
}
#impressum h1, #datenschutz h1 {
	font-size:16px;
}
#impressum h2, #datenschutz h2 {
	font-size:14px;
}
.jspTrack, .jspVerticalBar, .jspDrag, .jspArrow, .jspArrow.jspDisabled  {
	background: none transparent;
}

.jspVerticalBar {
	width: 22px;
}

.jspArrow {
	width: 0 !important;
	height: 0 !important;
	border-style: solid;
	border-color: transparent;
}

.jspArrow.jspArrowUp{
	border-width: 0 11px 13px 11px;
	border-bottom-color: #fd0033;
}

.jspArrow.jspArrowDown{
	border-width: 13px 11px 0 11px;
	border-top-color: #fd0033;
}

.jspArrow.jspArrowUp.jspDisabled {
	border-bottom-color: #eee;
}

.jspArrow.jspArrowDown.jspDisabled {
	border-top-color: #eee;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media only screen and (max-width: 640px) {
	#phone {
		right: 0px;
		bottom: 0;
		top: auto;
		background-size: cover;
		width: 60px;
		height: 66px;
		font-size: 12px;
		padding-left: 44px;
		padding-top: 10px;
		margin: 0;
	}
}

@media only screen and (max-width: 320px){
	article > ul {
		clear: both;
		margin-left: 1em;
		border: 0 none;
	}
}

@media only screen and (max-width: 480px){
	#wrap {
		width: 100%;
		padding-top: 224px;
	}
	
	header > div {
		width: 100%;
		padding: 0 12px;
	}
	
	header h2 {
		display: block;
	}
	
	header p {
		font-size: 16px;
		padding-right: 100px;
	}
	
	#phone {
		right: 30px;
	}
	
	nav {
		right: 40px;
	}
		
	.logo {
		float: none;
		display: block;
		margin: 0 auto 1em auto;
	}
	
	section > h1 {
		width: 100%;
	}
	
	.icons {
		margin: 0;
	}
	
	section.expanded > hr {
		width: 100%;
		margin-top: 2em;
	}
	
	article {
		margin: 1em 0;
		width: 100%;
	}
	
	#kontakt {
		float: none;
		width: auto;
	}
	
	#impressum {
		width: 99%;
		margin-left: 0;
		margin-top: 2em;
	}
}

@media only screen and (min-width: 481px) and (max-width: 640px) {
	#wrap {
		width: 620px;
	}
	
	header > div {
		width: 600px;
	}

	section > h1 {
		width: 45%;
	}
	
	nav {
		right: 40px;
	}
}

@media only screen and (min-width: 641px) and (max-width: 768px) {
	#wrap {
		width: 750px;
	}
	
	header > div {
		width: 720px;
	}
	
	#phone {
		right: 40px;
	}
	
	section > h1 {
		width: 38%;
	}
}

@media only screen and (max-width: 1140px) {
	
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: none;
    }
	
	p > a[href^=http]:after {
        content: " (" attr(href) ")";
		font-size: 12px;
		display: block;
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
	
	nav {
		display: none;
	}
	
	section > hr {
		display: none;
	}
	
	section > h1:before, section > h1:after {
		content: '';
		display: none;
	}
	
	article, article > ul {
		display: block !important;
	}
	
	article > p {
		display: none;
	}
	
	#kontakt, #impressum {
		float: none;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		margin: 1em 0 !important;
	}
	
	.jspContainer, .jspPane {
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}
	
	.jspVerticalBar {
		display: none !important;
	}
}