@font-face 
{
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 400;
	src: url('fonts/OpenSans-Regular.ttf') format('truetype');
	/*unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;*/
}

body
{
	background-color: #504040;
}
body, input, textarea, select, option, button, address
{
	font-size: 14px;
	line-height: 1.5;
	color: #504040;
	font-family: 'Open Sans';
	margin: 0;
	padding: 0;
	border: 0;
}
a
{
	text-decoration: underline;
	color: inherit;
}
p,article
{
	margin: 1em 0;
}

.h1
{
	font-size: 24px;
	margin-bottom: 0.5em;
}
.h2
{
	font-size: 16px;
	font-weight: bold;
	line-height: 150%;
	margin-bottom: 0.25em;
}
.h3
{
	font-weight: bold;
}

.inner
{
	position: relative;
	margin: 0 auto;
	min-width: 300px;
	max-width: 1500px;
	width: 90%;
	padding: 10px;
}

header
{
	/*background-color: #5a2629;*/
	/*background-color: #fdf8d2;*/
	/*background-color: #504040;*/
	/*border-bottom: 5px solid #504040;*/
	/*box-shadow: 0 0 5px #504040;*/
	background-color: #fffaf0;
}
header>.inner
{
	padding: 5px 10px;
}
#logo
{
	width: 300px;
	height: 55px;
}
nav
{
	border-top: 0px solid #504040;
	border-bottom: 4px solid #504040;
	background-color: #fffaf0;
}
nav>ul.inner
{
	padding: 5px 10px;
	list-style: none;
	text-transform: uppercase;
}
nav li
{
	display: inline-block;
	min-width: 150px;
	line-height: 20px;
	padding: 3px 0;
}
nav a
{
	display: inline-block;
	text-decoration: none;
}
nav .sel
{
	font-weight: bold;
}
#content
{
	background-image: linear-gradient(rgba(255,250,240,0.75),rgba(255,250,240,0.75)),url('images/bg.jpg');
	background-size: cover;
	background-attachment: fixed;
}
#content>div
{
	min-height: 70vh;
	background-color: rgba(255,250,240,0.5);
	padding-top: 20px;
}

/*article
{
	margin: 0 0 30px;
	text-align: justify;
}*/
.group
{
	display: inline-block;
	width: 300px;
}
address
{
	font-style: italic;
	margin: 0.5em 0;
}
.oeffnungszeiten
{
	margin: 20px 0;
}
.oeffnungszeiten>span
{
	display: inline-block;
	width: 2em;
}
img.filiale
{
	display: inline-block;
	width: 300px;
	height: 200px;
	vertical-align: top;
	margin-top: 1em;
}

footer
{
	background-color: #504040;
	color: #fffaf0;
	text-align: right;
	line-height: 150%;
}
#contact
{
	text-align: left;
}
#contact div:first-child
{
/*	font-weight: bold;
	font-size: 16px;
	line-height: 150%;*/
}

a.home
{
	display: block;
	position: absolute;
	top: 0;
	right: 10px;
	border-bottom: 1px dotted #000;
	text-decoration: none;
	font-weight: bold;
	font-size: 12px;
}
#Home>p:first-of-type
{
	margin-top: 0;
}
.buttons
{
	text-align: center;
	/*flex-wrap: wrap;
	justify-content: space-around;*/
	/*align-content: flex-start;*/
	/*align-items: stretch;*/
	/*display: flex;*/
}

.buttons>a
{
	text-align: left;
	text-decoration: none;
	display: inline-block;
	margin: 10px 0;
	width: 290px;
	min-height: 128px;
	padding: 5px;
	/*background-image: linear-gradient(rgba(255,250,240,0.8),rgba(255,250,240,0.25));*/
	background-color: rgba(255,250,240,0.5);/*#fffaf0;*/
	box-shadow: inset 0 0 10px #fffaf0;
	vertical-align: top;
	line-height: 1.75;
	
}
.buttons>a img
{
	width: 100px;
	height: 100px;
	display: inline-block;
	background-image: url('images/buttons.jpg');
	background-size: cover;
	vertical-align: top;
}
.buttons>a:nth-of-type(3)>img { background-position: -100px 0; }
.buttons>a:nth-of-type(4)>img { background-position: -200px 0; }
.buttons>a:nth-of-type(5)>img { background-position: -300px 0; }
.buttons>a:nth-of-type(6)>img { background-position: -400px 0; }
.buttons>a:nth-of-type(7)>img { background-position: -500px 0; }
.buttons>a:nth-of-type(9)>img { background-position: -600px 0; }

.buttons>a img+div/*:not(.h2)*/
{
	display: inline-block;
	width: 175px;
	vertical-align: top;
	margin-left: 10px;
}


.h2+.gallery
{
	margin-top: 0;
}
.gallery~.h2
{
	margin-top: 40px;
}

.gallery
{
	text-align: center;
	margin: 15px -16px 0; 
}
.gallery>a
{
	display: inline-block;
	
	margin: 5px;
	vertical-align: top;
}
.gallery>a, .gallery img
{
	width: 150px;
	height: 100px;
}
.gallery img
{
	box-shadow: #504040 0 0 5px;
}
.gallery div
{
	display: inline-block;
	min-width: 0;
	vertical-align: top;
}
.gallery div>a
{
	display: block;
}
.gallery+.h1
{
	margin-top: 60px;
}
.gallery_ol
{
	background-color: rgba(40,32,32,0.9);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
}
.gallery_show
{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 998;
}
.gallery_show:target
{
	display: block;
}
.gallery_show>div
{
	box-shadow: 0 0 5px #0a0808;
	position: absolute;
	z-index: 1000;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	text-align: center;
	overflow: hidden;
}
.gallery_show>div, .gallery_show img
{
	min-width: 300px;
	min-height: 200px;
	max-width: 900px;
	max-height: 600px;
	width: 93.75vw;
	height: 62.5vw;
}
.gallery_show.portrait>div, .gallery_show.portrait img
{
	min-height: 300px;
	min-width: 200px;
	max-height: 900px;
	max-width: 600px;
	height: 93.75vh;
	width: 62.5vh;
}
.gallery_show video
{
	width: 100%;
	display: block;
}
@media (min-aspect-ratio: 3/2)
{
	.gallery_show>div, .gallery_show img
	{
		width: 140.625vh;
		height: 93.75vh;
	}
}
@media (max-aspect-ratio: 2/3)
{
	.gallery_show.portrait>div, .gallery_show.portrait img
	{
		height: 140.625vw;
		width: 93.75vw;
	}

}
.previous_pic, .next_pic
{
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -37px;
	left: 0;
	width: 42px;
	height: 74px;
	background-image: url('images/symbols.png');
	background-position: 0 0;
	background-repeat: no-repeat;
}
.next_pic
{
	background-position: -42px 0px;
	left: auto;
	right: 0;
}
.close
{
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 42px;
	height: 42px;
	background-image: url('images/symbols.png');
	background-position: -84px 0px;
}

@media (min-width: 360px)
{
	.gallery
	{
		margin: 15px -1.5% 0;
	}
	.gallery>a
	{
		margin: 1.5% 1.5%;
	}
	.close
	{
		top: 5px;
		right: 5px;
	}
	.previous_pic
	{
		left: 5px;
	}
	.next_pic
	{
		right: 5px;
	}
}
@media (min-width: 533px)
{
	.gallery>a, .gallery img
	{
		width: 225px;
		height: 150px;
	}
}
@media (min-width: 580px)
{
	.gallery
	{
		margin: 15px -2.5% 0;
	}
	.gallery>a
	{
		margin: 1.5% 2.5%;
	}
}
@media (min-width: 800px) and (max-width: 870px), (min-width: 1600px) and (max-width: 1799px)
{
	.gallery
	{
		margin: 15px -1.2% 0;
	}
	.gallery>a
	{
		margin: 1.5% 1.2%;
	}
}
@media (min-width: 1080px) and (max-width: 1279px)
{
	.gallery
	{
		margin: 15px -1% 0;
	}
	.gallery>a
	{
		margin: 1.5% 1%;
	}
}
@media (min-width: 1280px) and (max-width: 1359px)
{
	.gallery
	{
		margin: 15px -1.7% 0;
	}
	.gallery>a
	{
		margin: 1.5% 1.7%;
	}
}




@media (min-width: 390px) and (max-width: 579px)
{
	nav li:nth-of-type(odd)
	{
		margin-right: 10%;
	}
}
@media (min-width: 580px) and (max-width: 799px)
{
	nav li:nth-of-type(3n)
	{
		min-width: 125px;
	}
	nav li:nth-of-type(3n+1)
	{
		min-width: 140px;
	}
	nav li:nth-of-type(3n+1), nav li:nth-of-type(3n+2) 
	{
		margin-right: 9%;
	}
}
@media (min-width: 720px) and (max-width: 799px)
{
	nav li:nth-of-type(3n+1), nav li:nth-of-type(3n+2) 
	{
		margin-right: 15%;
	}
}
@media (min-width: 800px) and (max-width: 1023px)
{
	nav li:nth-of-type(5n+1)
	{
		min-width: 135px;
	}
	nav li:nth-of-type(5n+2)
	{
		min-width: 150px;
	}
	nav li:nth-of-type(5n+3)
	{
		min-width: 135px;
	}
	nav li:nth-of-type(5n+4)
	{
		min-width: 85px;
	}
	nav li:nth-of-type(5n+5)
	{
		min-width: 95px;
	}
	nav li
	{
		margin-right: 3%;
	}
	nav li:nth-of-type(5n) 
	{
		margin-right: 0;
	}
}
@media (min-width: 880px) and (max-width: 1023px)
{
	nav li
	{
		margin-right: 5%;
	}
}
@media (min-width: 1024px) and (max-width: 1199px)
{
	nav li:nth-of-type(6n+1)
	{
		min-width: 100px;
	}
	nav li:nth-of-type(6n+3)
	{
		min-width: 125px;
	}
	nav li:nth-of-type(6n+4)
	{
		min-width: 85px;
	}
	nav li:nth-of-type(6n+5)
	{
		min-width: 95px;
	}
	nav li:nth-of-type(6n+6)
	{
		min-width: 40px;
	}
	nav li
	{
		margin-right: 5%;
	}
	nav li:nth-of-type(6n)
	{
		margin-right: 0;
	}
}

@media (min-width: 1200px)
{
	nav li
	{
		min-width: 0;
		margin-right: 2%;
	}
	nav li:last-of-type
	{
		margin-right: 0;
	}
}




@media (min-width: 360px)
{
	.buttons>a
	{
		margin: 10px;
	}
}
@media (min-width: 740px)
{
	.buttons>a
	{
		margin: 15px 2%;
	}
}
@media (min-width: 1024px) and (max-width: 1079px)
{
	.buttons>a
	{
		margin: 15px 3px;
	}
}
@media (min-width: 1080px) and (max-width: 1151px)
{
	.buttons>a
	{
		margin: 15px 1%;
	}
}
@media (min-width: 1440px) and (max-width: 1599px)
{
	.buttons>a
	{
		margin: 15px 10px;
	}
}




@media (min-width: 720px)
{
	img.filiale
	{
		width: 600px;
		height: 400px;
	}
}