@charset "UTF-8";
/* CSS Document */
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/open-sans-v17-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('../fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v17-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v17-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v17-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/open-sans-v17-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('../fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v17-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/open-sans-v17-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/open-sans-v17-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/open-sans-v17-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* montserrat-300 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/montserrat-v14-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Light'), local('Montserrat-Light'),
       url('../fonts/montserrat-v14-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-300.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-regular - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v14-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Regular'), local('Montserrat-Regular'),
       url('../fonts/montserrat-v14-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-regular.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-500 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v14-latin-500.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Medium'), local('Montserrat-Medium'),
       url('../fonts/montserrat-v14-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-500.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-600 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v14-latin-600.eot'); /* IE9 Compat Modes */
  src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'),
       url('../fonts/montserrat-v14-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-600.svg#Montserrat') format('svg'); /* Legacy iOS */
}
/* montserrat-700 - latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v14-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Montserrat Bold'), local('Montserrat-Bold'),
       url('../fonts/montserrat-v14-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/montserrat-v14-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/montserrat-v14-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/montserrat-v14-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/montserrat-v14-latin-700.svg#Montserrat') format('svg'); /* Legacy iOS */
}

* {
	margin:0;
	padding:0;
	border:0;
	outline:none;
	-webkit-appearance:none;
	border-radius:0;
}

::selection {
	background:#7c1215;
	color:#fff;
}

::-moz-selection {
	background:#444444;
	color:#fff;
}

html {
	background:#fff;
	background:#444444;
	font-size:16px;
	line-height:1.5rem;
	font-family:"Open Sans";
	font-family:"Montserrat";
	font-family:"Open Sans", Arial;
	color:#000;
	color:#7c1215; /* grün logo */
	color:#444444; /* hellgrau */
}

body {
	background:#fff;
	font-size:1rem;
	line-height:1.5rem;
	max-width:2400px;
	margin:auto;
}

a {
	color:#7c1215;
	text-decoration:none;
}

h1, h2, h3, p, table {
	margin:0 0 2rem;
}

h1, .h1 {
	font-size:36px;
	line-height:45px;
	font-weight:500;
	font-family:"Montserrat";
	text-transform:uppercase;
	color:#444444;
}

h2, .h2 {
	font-size:20px;
	line-height:25px;
	font-family:"Montserrat";
	font-weight:500;
}

h3, .h3 {
	font-size:18px;
	line-height:40px;
	font-weight:500;
	font-family:"Open Sans";
	color:#666666;
	margin:0;
}

p {
	font-size:16px;
	line-height:25px;
	font-weight:500;
	font-family:"Open Sans";
	color:#666666;
	margin:0;
}

ul, ol {
	margin:0 0 2rem 1rem;
}

hr {
	margin:2rem 0;
	border-bottom:1px solid rgba(0,0,0,0.1);
}

.centered {
	margin:auto;
	position:relative;
	width:100%;
	max-width:1200px;
	z-index: 2;
}

.clear {
	clear:both;
	float:none;
}

.fs0lh0 {
	font-size:0;
	line-height:0;
}

.fs1 {
	font-size:1rem;
	line-height:1.5rem;
}

.hidden {
	display:none;
}

.flex {
	display:flex;
}

.flex-x {
	justify-content:center;
}

.flex-y {
	align-items:center;
}

.tac {
	text-align:center;
}

.taj {
	text-align:justify;
}

.ttu {
	text-transform:uppercase;
}

.fl-l {
	float:left;
}

.fl-r {
	float:right;
}

.w48 {
	width:48%;
}

.w50 {
	width:50%;
}

.w100 {
	width:100%;
	height:auto;
}

.p4-0 {
	padding:4rem 0;
}

.p8-0 {
	padding:8rem 0;
}

.p2 {
	padding:2rem;
}

.m0 {
	margin:0;
}

.m001 {
	margin:0 0 1rem;
}

.m004 {
	margin:0 0 4rem;
}

.skills {
	width:100%;
}

.skills li {
	display:block;
}

.skills li strong {
	display:block;
	margin:0 0 5px;
	text-transform:uppercase;
}

.skills li span {
	display:block;
	height:10px;
	background:#eee;
	margin:0 0 20px;
	position:relative;
}

.skills li span em {
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	height:8px;
	background:#a70c10;
	font-size:0;
	line-height:0;
}

.skills li span em {
	animation-name:skill-01;
	animation-iteration-count:1;
	animation-duration:4000ms;
	animation-fill-mode:forwards;
}

.skills li:nth-of-type(2) span em {
	animation-name:skill-02;
	animation-delay:250ms;
}

.skills li:nth-of-type(3) span em {
	animation-name:skill-03;
	animation-delay:500ms;
}

.skills li:nth-of-type(4) span em {
	animation-name:skill-04;
	animation-delay:750ms;
}

.skills li:nth-of-type(5) span em {
	animation-name:skill-05;
	animation-delay:1000ms;
}

.skills li:nth-of-type(6) span em {
	animation-name:skill-06;
	animation-delay:1250ms;
}

.skills li:nth-of-type(7) span em {
	animation-name:skill-07;
	animation-delay:1500ms;
}

@keyframes skill-01 {
	0%		{ width:0; }
	100%	{ width:100%; }
}

@keyframes skill-02 {
	0%		{ width:0; }
	100%	{ width:100%; }
}

@keyframes skill-03 {
	0%		{ width:0; }
	100%	{ width:100%; }
}

@keyframes skill-04 {
	0%		{ width:0; }
	100%	{ width:70%; }
}

@keyframes skill-05 {
	0%		{ width:0; }
	100%	{ width:90%; }
}

@keyframes skill-06 {
	0%		{ width:0; }
	100%	{ width:90%; }
}

@keyframes skill-07 {
	0%		{ width:0; }
	100%	{ width:100%; }
}

#overlay {
	display:block;
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background:rgba(0,0,0,0.5);
	z-index:200;
	display:none;
}

#overlay.active {
	display:block;
}

#fix-top {
	height:132px;
}

#fix-dot {
	position:absolute;
	width:0;
	height:0;
	opacity:1;
	top:0;
	left:0;
	background:rgba(0,0,0,0.025);
	z-index:500;
	border-radius:500px;
	pointer-events:none;
}

#fix-dot.dot {
	opacity:0;
	animation:dot 400ms;
	transform:translate(-50%,-50%);
}

@keyframes dot {
	0% {width:0;height:0;opacity:1;}
	100% {width:250px;height:250px;opacity:0;}
}

#top {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:200;
	background:rgba(255,255,255,0.95);
	background:#fff;
	box-shadow:0px 1px 2px rgba(0,0,0,0.2);
	padding:10px;
	box-sizing:border-box;
}

#top.absolute {
	position:absolute;
}

#top.small #highlight {
	max-height:0;
}

#top.absolute #highlight {
	max-height:1000px;
}

#top.small .topnavi {
	max-height:0;
	border:0;
	margin:0 0 0.5rem;
}

#top.small #logo {
	margin:0;
	padding:0;
}

#top.small #logo a {
	height:60px;
}

.small #navi {
    top: 15px;
}

#mob-nav {
	display:block;
	position:absolute;
	top:10px;
	right:0;
	width:40px;
	height:30px;
	padding:1rem;
	color:#666;
	text-decoration:none;
	z-index:200;
	text-align:center;
	display:none;
}

#mob-nav span {
	display:block;
	width:80%;
	margin-left:auto;
	margin-right:auto;
	height:4px;
	background:#999;
	border-radius:2px;
	transition:100ms;
	transform-origin:center;
}

#mob-nav span:last-of-type {
	margin-top:6px;
}

#mob-nav strong {
	font-size:1rem;
	line-height:2rem;
	opacity:0.5;
}

#mob-nav.active span {
	transform:rotate(45deg);
	margin-top:4px;
}

#mob-nav.active span:last-of-type {
	transform:rotate(-45deg);
	margin-top:-4px;
	margin-bottom:6px;
}

#highlight {
	margin:-10px -10px 10px -10px;
	background:#444444;
	max-height:34px;
	overflow:hidden;
	transition:250ms;
	display:none;
}

#highlight p {
	margin:0;
}

#highaction {
	position:relative;
	display:inline-block;
	padding:5px 40px 5px 20px;
	color:#fff;
	text-decoration:none;
	background:rgba(255,255,255,0.1);
	transition:250ms;
	animation-name:blink;
	animation-iteration-count:5;
	animation-duration:1000ms;
}

@keyframes blink {
	0% {  background:rgba(255,255,255,0.1);  }
	50% {  background:rgba(255,255,255,0.25);  }
	100% {  background:rgba(255,255,255,0.1);  }
}

#highaction:hover {
	background:rgba(255,255,255,0.25);
}

#highaction:after {
	display:block;
	position:absolute;
	top:10px;
	right:10px;
	border:10px solid transparent;
	border-top:10px solid rgba(255,255,255,0.8);
	content:'';
}

#highclose {
	position:absolute;
	top:0;
	right:0;
	display:none;
	display:block;
	background:rgba(255,255,255,0.25);
	padding:5px 10px;
	text-decoration:none;
	color:#fff;
	font-size:1.5rem;
	transform:scale(1.25,1);
	transform-origin:center right;
	opacity:0;
	transition:250ms;
}

#highclose.active {
	opacity:1;
}

#highclose:hover {
	background:rgba(255,255,255,0.5);
	color:#d44;
	background:#d44;
	color:#fff;
}

#high {
	max-height:0;
	overflow:hidden;
	transition:500ms;
}

#high.active {
	max-height:1000px;
	padding:10px 0;
}

#logo {
	display:inline-block;
	width:30%;
	max-width:375px;
	float:left;
	margin:0 0 10px;
}

#logo a {
	display:inline-block;
	width:100%;
	height:100px;
	background:url(../images/logo-sanmarino.png) center center no-repeat;
	background-size:contain;
	transition:250ms;
}

.topnavi {
	display:inline-block;
	max-width:70%;
	float:right;
	margin:0 0 1rem;
	border-bottom:1px solid rgba(0,0,0,0.1);
	max-height:40px;
	overflow:hidden;
	transition:250ms;
}

.topnavi li {
	display:inline-block;
}

.topnavi li a {
	display:inline-block;
	font-size:0.8rem;
	line-height:1rem;
	padding:0.5rem;
	text-decoration:none;
	color:inherit;
}

.topnavi li a:hover {
	background:rgba(0,0,0,0.1);
	background:#444444;
	color:#fff;
}

#navi {
	margin:0;
	display:inline-block;
	width:70%;
	text-align:right;
	float:right;
	position:relative;
	top:40px;
}

#navi > li {
	display:inline-block;
	position:relative;
}

#navi > li > a {
	display:inline-block;
	font-size:1rem;
	line-height:1.5rem;
	padding:0.5rem 1.5rem;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:500;
	border-bottom:2px solid transparent;
	color:#444444;
	position:relative;
}

#navi > li > a:hover,
#navi > li:hover > a {
	color: #fff!important;
	background: #7c1215;
}

#navi > li.selected > a {
	color:#444444;
	border-bottom:2px solid #7c1215;
}

#navi > li.drop > a:after {
	display:inline-block;
	position:absolute;
	top:8px;
	right:10px;
	transform:rotate(90deg) scale(0.8,1);
	font-size:1.2rem;
	content:'>';
	font-weight:600;
	opacity:0.5;
	
}

#navi > li:hover > a:after{
	opacity:1;
}

#navi > li > ul {
	display:block;
	margin:0 0 0 -1rem;
	min-width:240px;
	background:#fff;
	padding:10px;
	font-size:1rem;
	line-height:1.5rem;
	list-style:none;
	text-align:left;
	position:absolute;
	box-shadow:0px 5px 5px rgba(0,0,0,0.2);
	display:none;
}

#navi > li:hover > ul {
	display:block;
}

#navi li ul li {
	display:block;
}

#navi li ul li a {
	display:block;
	padding:10px 25px 10px 10px;
	text-decoration:none;
	color:inherit;
	color:#444444;
	line-height:1.25rem;
	border-bottom:1px solid rgba(0,0,0,0.1);
	position:relative;
	transition:250ms;
}

#navi li ul li a:hover {
	color:#3c464b;
	color:#7c1215;
	padding:10px 10px 10px 25px;
}

#navi li ul li a:before {
	display:inline-block;
	position:absolute;
	top:0;
	left:5px;
	bottom:0;
	margin:auto;
	width:0px;
	height:0px;
	background:#7c1215;
	border-radius:2px;
	content:'';
	transition:250ms;
}

#navi li ul li a:hover:before {
	width:10px;
	height:10px;
}

#slider {
	margin:0;
	margin-top:-50px;
	width:100%;
	background:#eee;
	background:#444444;
}

#slider > div {
	width:100%;
}

#slider > div > p {
	width:100%;
	position:relative;
	max-width:1600px;
	margin:auto;
}

#slider > div > p:before,
#slider > div > p:after {
	display:block;
	width:200px;
	height:100%;
	position:absolute;
	top:0;
	left:-5%;
	z-index:120;
	content:'';
	background:linear-gradient(90deg, rgba(238,238,238,1), rgba(238,238,238,0));
	background:linear-gradient(90deg, rgba(68,68,68,1), rgba(50,50,50,0));
	display:none;
}

#slider > div > p:after {
	left:inherit;
	right:-5%;
	background:linear-gradient(-90deg, rgba(238,238,238,1), rgba(238,238,238,0));
	background:linear-gradient(-90deg, rgba(68,68,68,1), rgba(50,50,50,0));
}

.gal-wrap{
	padding:20px 0 50px 0;	
}

.gal-wrap img{
	border-radius:20px;
	margin-right:10px;
}

.slick {
	margin:80px 0 0;
}

.slick img {
	max-width:96%;
	height:auto;
	display:block;
	padding:0 2%;
}

.slick-prev:before,
.slick-next:before {
	width:30px;
	height:30px;
	border-radius:30px;
	display:block;
	background:#fff!important;
	box-shadow:0 1px 2px rgba(0,0,0,0.5)!important;
	color:#333!important;
	pointer-events:inherit;
	font-size:30px!important;
	line-height:30px!important;
	font-weight:bold!important;
}

.slick-prev,
.slick-next {
	width:30px!important;
	height:30px!important;
	position:absolute;
	z-index:5000000;
}

.slick-dots {
	font-size:40px!important;
	line-height:40px!important;
}

.bg-gal{
	background:#f0f0f0;
	padding:10px 0 90px 0;
}

@media all and (min-width:1600px) {
	#slider > div > p:before,
	#slider > div > p:after {
		display:block;
	}
}

#slider p img {
	position:relative;
	display:block;
	width:110%;
	left:-5%;
	height:auto;
	margin:auto;
	opacity:0.7;
}

@media all and (max-height:900px) {

	#slider {
		height:100%;
		background:#444444;
	}

	#slider p img {
		display:block;
		height:550px;
		width:auto;
		margin:auto;
		left:inherit;
		right:inherit;
	}
	
	#slider > div > p:before,
	#slider > div > p:after {
		display:none;
	}

}

#slider > div > div {
	position:absolute;
	bottom:0;
	top:0;
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:210;
}

#slider div div p {
	display:inline-block;
	padding:3rem;
	max-width:850px;
	margin-left:500px;
	opacity:0;
	transition:1000ms;
	transition-delay:500ms;
	color:#fff;
}

#slider .cycle-slide-active div p {
	margin-left:0;
	opacity:1;	
}

#slider div div p > em {
	display:block;
	font-family:"Montserrat", Open Sans;
	font-weight:600;
	font-size:48px;
	line-height:55px;
	font-style:normal;
}

#slider div div p > strong {
	display:block;
	margin:0 0 1rem;
	padding:0 0 1rem;
	font-family:"Montserrat", Open Sans;
	font-weight:600;
	font-size:60px;
	line-height:70px;
	text-transform:uppercase;
}

#slider div div p span {
	display:block;
	font-size:1.2rem;
	line-height:1.5rem;
	margin:0 0 1rem;
	font-family:"Open Sans", Arial;
}

#ctrls {
	background:#caf;
	z-index:180;
	text-align:center;
	list-style:none;
	margin:0;
}

#prev a,
#next a {
	position:absolute;
	top:50%;
	left:0;
	width:5rem;
	height:5rem;
	z-index:180;
	background:url(../images/prev.png) center center no-repeat;
	background-size:50%;
	opacity:0.5;
	transition:250ms;
}

#next a {
	left:inherit;
	right:0;
	background:url(../images/next.png) center center no-repeat;
	background-size:50%;
}

#prev a:hover,
#next a:hover {
	opacity:1;
}

#pager {
	position:absolute;
	margin:-2.5rem 0 0;
	width:100%;
	left:0;
	right:0;
	text-align:center;
	z-index:180;
}

#pager span {
	display:inline-block;
	position:relative;
	width:3rem;
	height:2rem;
	margin:0 5px;
}

#pager span:after {
	position:absolute;
	top:45%;
	left:0;
	height:10%;
	width:100%;
	content:'';
	background:rgba(255,255,255,0.5);
}

#pager span:hover {
	cursor:pointer;
}

#pager span:hover:after {
	background:rgba(255,255,255,0.8);
}

#pager span.cycle-pager-active:after {
	background:rgba(255,255,255,1);
}

#theme {
	position:relative;
	margin:0;
	max-height:400px;
	overflow:hidden;
	background:#ccc;
	background:#444444;
	clear:both;
	float:none;
}

#theme em {
	position:relative;
	display:inline-block;
}

#theme em:before,
#theme em:after {
	display:inline-block;
	position:absolute;
	top:0;
	left:0;
	width:5rem;
	height:100%;
	background:linear-gradient(90deg, rgba(204,204,204,1), rgba(204,204,204,0));
	background:linear-gradient(90deg, rgba(68,68,68,1), rgba(51,51,51,0));
	content:'';
	z-index:2;
	display:none;
}

#theme em:after {
	background:linear-gradient(-90deg, rgba(204,204,204,1), rgba(204,204,204,0));
	background:linear-gradient(-90deg, rgba(68,68,68,1), rgba(51,51,51,0));
	left:inherit;
	right:0;
}

@media all and (min-width:1600px) {

	#theme em:before,
	#theme em:after {
	display:inline-block;
	}

}

#theme img {
	position:relative;
	display:block;
	width:100%;
	max-width:1600px;
	height:auto;
	margin:auto;
	pointer-events:none;
}

#theme > span {
	position:absolute;
	top:100px;
	left:600px;
	right:0;
	min-width:200px;
	width:auto;
	max-width:600px;
	margin:auto;
	padding:2rem;
	background:rgba(255,255,255,0.5);
}

#theme span strong {
	display:block;
	margin:0 0 1rem;
	padding:0 0 1rem;
	border-bottom:2px solid #fff;
	color: #fff;
}

#theme span span {
	display:block;
	color: #fff;
	font-size: 30px;
}

#theme .theme2 {
	background:none;
	padding:0;
	text-align:right;
}

#theme .theme2 strong {
	display:inline-block;
	border-bottom:2px solid rgba(255,255,255,0.5);
}

#theme img {
	opacity:0.8;
}

.parallax {
	position:relative;
	overflow:hidden;
}

.parallax p {
	margin:0;
}

.parallax > p img {
	display:block;
	width:100%;
	height:auto;
	margin:-200px 0 0;
}

.parallax > div {
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	height:100%;
	width:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	color:#fff;
	background:rgba(0,0,0,0.5);
}

.parallax p strong {
	display:block;
	color:#fff;
}

.parallax p span {
	display:block;
	color:#fff;
}

.parallax p a {
}

.big-link {
	background:#eee;
	border-bottom:1px solid #ccc;
}

.big-link a {
	display:inline-block;
	text-decoration:none;
	background:#36b;
	background:#444444;
	padding:1rem 2.5rem;
	border-radius:0.5rem;
	color:#fff;
	font-weight:bold;
	margin:1rem;
	transition:250ms;
}

.big-link a:hover {
	background:#36b;
	background:#25c;
	background:#7c1215;
}

.button {
	display:inline-block;
	padding:0.5rem 1rem;
	text-align:center;
	min-width:200px;
	background:#7c1215;
	color:#fff;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:1px;
	position:relative;
	border:1px solid #fff;
	transition:250ms;
}

.button:before {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	height:0;
	background:rgb(136,186,20);
	background:#444444;
	content:'';
	opacity:0;
	transition:250ms;
}

.button:hover:before {
	opacity:0.5;
	opacity:1;
	height:100%;
}

.button strong {
	position:relative;
	z-index:2;
	font-weight:500;
}

.sondercontent {
    padding: 50px 0;
}

.news a {
	display:block;
	text-decoration:none;
	margin:2rem;
	padding:2rem;
	border-bottom:1px solid rgba(0,0,0,0.1);
	background:#eee;
}

.news a img {
	display:block;
}

.news a strong {
	display:block;
}

.news a em {
	display:block;
}

.news a span {
	display:block;
}

.bg-kontakt {
	min-height:350px;
	background:url(../images/kontakt.png) bottom right 20px no-repeat;
	background-size:contain;
}

.times {
	width:100%;
	border-collapse:collapse;
}

.times tr:nth-of-type(2n) {
	background:rgba(0,0,0,0.05);
	background:#f5f5f5;
}

.times td {
	padding:0.5rem 1rem;
	font-weight:500;
}

.times td:last-of-type {
	color:#444444;
}

.frame-video iframe {
	width:100%;
	height:680px;
}

@media all and (max-width:1000px) {
	.frame-video iframe {
		height:520px;
	}
}

@media all and (max-width:720px) {
	.frame-video iframe {
		height:420px;
	}
	
	.gal-wrap img {
		border-radius: 20px;
		margin-right: 10px;
		width: 29%;
		height: auto;
	}
	
	.bg-kontakt {
		background: none;
		min-height: 250px;
	}

	.slick-prev,
	.slick-next {
		display:none!important;
	}

}

@media all and (max-width:500px) {
.frame-video iframe {
		height:320px;
	}
}

.tip {
	position:relative;
	overflow:hidden;
}

.tip:before {
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	content:'';
	background:rgba(255,0,0,0.5);
	background:linear-gradient(-45deg, rgba(255,255,255,0) 40%, rgba(255,255,255,0.05) 50%, rgba(255,255,255,0) 60%);
	animation:shine 5000ms infinite;
}

@keyframes shine {
	0% { left:-100%; }
	100% { left:100%; }
}

.tip ul {
	margin:0;
}

.tip ul li {
	display:inline-block;
}

.tip ul li a {
	display:inline-block;
	color:#fff;
	text-decoration:none;
	padding:1rem;
	background:rgba(255,255,255,0.2);
	border-radius:1rem;
	margin:0 0.5rem;
	transition:100ms;
}

.tip ul li a:hover {
	background:rgba(255,255,255,0.25);
}

footer {
	padding:1rem 0;
	text-align:center;
}

footer a{
	color:#4267b2;
}

footer a:hover{
	color:#7c1215;
}

footer .footer-logo{
	padding:50px 0;
}

footer ul {
	display:inline-block;
	width:100%;
	margin:0;
	padding-bottom:20px;
}

footer ul li {
	display:inline-block;
	color: #6666;
}

footer ul li a {
	display:inline-block;
	font-size:1rem;
	line-height:1.5rem;
	padding:0 1rem;
	text-decoration:none;
	color:#6666;
	transition:100ms;
}

footer ul li a:hover {
	color:#7c1215;
}

.footer-logo img {
	filter: grayscale(1);
	opacity:0.5;
}

/******************
PROGRAMMBOXEN
*******************/

.programmbox {
	width: 100%;
	height: auto;
	display: block;
	position: relative;
	padding: 80px 0;
}

.programmbox .left, .programmbox .right {
	width: 50%;
}

.programmbox .right {
	padding: 40px;
}

.programmbox .right hr {
	border-top: 1px dashed #333;
}

.programmbox .right p:last-of-type {
	margin: 0;
}

.reverse .programmbox .flex-programmbox {
	flex-direction: row-reverse;
}

.grau {
    background: #f9f9f9;
}

.block {
	width: 100%;
	height: auto;
	display: block;
	line-height: 0;
}

.flex-programmbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/********************
TEAMBOXEN
*********************/

.team {
    width: 100%;
    max-width: 1350px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding: 2% 0;
    box-sizing: border-box;
    flex-wrap: wrap;
}

.teambox {
    width: 25%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
    padding: 25px;
    box-sizing: border-box;
    position: relative;
}

.teamtxt {
	text-align:center;
}

.teamtxt span{
	font-size:14px;
}

.teamimg img {
    width: 200px;
    height: 200px;
    border-radius: 20px;
}

.teamtxt h3 {
    color:#7c1215;
	margin:0;
}

/**********************
IMPRESSIONEN
**********************/
.impressionen {
    padding: 2% 0 5% 0;
}

.imp-all {
    display: inline-block;
	margin: 0 24px 30px 0;
	width: 18%;
}

.imp {
    box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
    display: inline-block;
	border-radius:20px;
}


.headline {
    padding: 4% 0 0 0;
}

.blur {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	filter: blur(4px);
	transform: scale(1.1,1.1);
}

/*******
INTRO
*******/

.flexbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.intro .right {
    display: block;
    width: 50%;
    padding-top: 50px;
}

.intro .right img {
    display: block;
    width: 100%;
    height: auto;
}

.intro .left {
    width: 50%;
	padding-top:50px;
}

/***********
SUBNAVI ROT
************/

.sub-rot{
	background-color:#7c1215;
	color:#fff;
	padding:50px 0;
	text-align:left;
}

.sub-rot ul{
	margin:0;
	list-style:none;
}

.sub-rot ul li{
    display: inline-block;
	padding:0 60px;
	position:relative;
	width: 22%;
	font-family:"Open Sans";
	font-size:16px;
	line-height:20px;
	
}

.sub-rot ul li:last-of-type{
	padding-right:0;
	width: 30%;
}


.sub-rot ul li strong{
	display:block;
	text-align:left;
	font-family:"Montserrat";
	font-size:20px;
	line-height:25px;
	font-weight: 600;
	
}

.sub-rot ul li span {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    font-size: 30px;
    border-right: 1px solid #fff;
    padding: 8px 20px 0 0;
}

.sub-rot ul li a{
	color:#fff;
}

/********
BOXEN
********/

.boxen{
	width:100%;
	padding-bottom: 150px;
}

.box{
	width:31%;
}

.box h2, .box p{
	text-align:center;	
}

.box h2 {
    padding-top: 20px;
}

.box img {
    display: block;
    width: 100%;
    height: auto;
}

/********
SPEISEKARTE
********/
.active{
	display:block!important;
}

.flexc {
    align-items: center;
}

.speisekarte{
	background-color:#f0f0f0;	
}

.speisen{
	width:100%;
	display:none;
}

.speise{
	width:100%;
}

.speise div {
	width:50%;
	padding-left:20px;
}

.speise h2, .speise p{
	text-align:center;	
}

.speise p{
	width:80%;
	margin:0 auto;	
}

.speise img {
    display: block;
    height: auto;
	margin:auto;
	width:50%;
}

.speisen-nav{
	text-align:center;	
}

.speisen-nav ul {
    display: inline-block;
    width: 100%;
    margin: 0;
}

.speisen-nav ul li {
    display: inline-block;
	padding:0 10px;
}

.speisen-nav ul li a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 10px 1rem 0 1rem;
    text-decoration: none;
    color: #6666;
    transition: 100ms;
	border-top: 5px solid #ccc;
}

.speisen-nav ul li a:hover {
    color: #7c1215;
	border-top: 5px solid #7c1215;
}

.speisen-nav ul li a.active {
    color: #7c1215;
	border-top: 5px solid #7c1215;
}


/***********
RESERVIEREN
***********/

.rot{
	background-color:#7c1215;
	padding:50px 0;
}

.rot .left{
	width:50%;
}

.rot .right{
	width:30%;
	text-align:left;
}

.rot .left h3, .rot .left h2, .rot .left p, .rot .right p, .rot .right a {
	color:#fff;
}

.rot .left h2{
	margin:0!important;
}

.rot .left p{
	width:100%;	
}

.rot .right p{
	font-size:25px;
	line-height:30px;
	display:block;
	text-align:left;
	
}

.rot .flexbox{
	align-items:center!important;
}


/**************
LEISTUNGSBOXEN
**************/
		
.flex {
	display: flex;
	justify-content: space-between;
	align-content: center;
	flex-wrap: nowrap;
}
		
		
.block {
	width: 100%;
	height: auto;
	display: block;
	line-height: 0;
}
		
.leistungen {
	width: 100%;
	max-width: 1920px;
	height: auto;
	position: relative;
	display: block;
	padding: 0 0 80px 0;
	background: url('/design/normal/images/leistungen-bg.jpg') no-repeat center 140px;
	background-size: 100%;
	margin: 0 auto;
}
		
.leistungen h2 {
	padding: 0 0 50px;
}
		
.leistungen h2 span {
	display: block;
	font: 300 20px/30px 'Open Sans', sans-serif;
	text-transform: none;
}
		
.leistungsblock {
	width: 100%;
	flex-wrap: wrap;
	position: relative;
}
		
.leistungsblock .bildbox,
.leistungsblock .textbox {
	width: 33.33%;
	background: #fff;
	align-items: center;
}
		
.leistungsblock .textbox > div {
	width: 100%;
	padding: 20px;
}
		
.leistungsblock h3 {
	color: #d65b4d;
	text-transform: uppercase;
}

.contact {
    text-align: center;
}

/*******
KONTAKT
*******/

.contact table {
    margin: 0;
    width: 100%;
}

/********
DETAILS
********/

.details{
	width:100%;
	background-color:#f0f0f0;
}

.detail{
	width:18%;
}

.detail h2, .detail p{
	text-align:center;	
}

.detail h2 {
    padding-top: 20px;
	margin: 20px 0 0 0;
	border-top: 2px solid #444444;
	color:#a70c10;
}

.detail img {
    display: block;
    height: auto;
	margin:auto;
}

/**********
SKILLBAR
**********/

 .skillbar > div{
	 width: 50%; 
	 padding: 20px;
 }

img.block{display:block;max-width:100%;height:auto;margin:auto;}
.onlymobile{display:none!important;}

@media only screen and (max-width:720px){
		.onlymobile{display:block!important;}
	.onlydesktop{display:none!important;}
}