/** global / resets **/

* {	padding:0; margin:0; }
ul { padding-left:15px; }
img {	border:0;}
iframe { border:0;}
a {
	color: #9d153b;
	text-decoration:none;
	font-weight:500;
}
b, strong { font-weight:600; }
body {
	color:#808080;
	background-color:#FFFCF8;
}

#content p, .mceContentBody p { margin:5px 0; }
/* body, h1, h2, span, font, td, a { */

.rsform-block input,
body {
	font:400 17px/1.5em Krub;
}

/** for content editing **/


.bild-links {
	position:relative;
	top:4px; 
	float:left;
	margin-right:15px;
}

.bild-rechts {
	position:relative;
	top:4px; 
	float:right;
	margin-left:15px;
}

.preise {
	width:100%;
	background:#f4f4f2;
	border-collapse:collapse;
}

.preise-kopf,
.preise-zelle,
.preise-zeile {
	color:#fff;
	background:#ac1628;
}

.mb {
	margin-bottom:5px;
}

table.preise td {
	border:1px solid #fff;
	padding:6px 6px;
	text-align:center;
}

a.bild-links, a.bild-rechts {
	margin:0;
}

a.bild-links span.zoomin-img {
	right:18px !important;
	bottom:-1px !important;
}

a.bild-rechts span.zoomin-img {
	bottom:-1px !important;
}

.clr {
	clear:both;
}

.outline { display:none; }

form#userForm fieldset legend,
h1 {
	color: #79071d;
	font:normal 42px/1em Kotta One;
	margin-bottom:20px;
}

h1 + h3 { margin-top:-15px; margin-bottom:40px;}

.rsform-block[class*="-heading"],
h2 {
	color: #79071d;
	font:normal 24px/1em Kotta One;
	margin-bottom:20px;
}

h3 {
	font:italic 22px Krub;
	color:#79071d;
	margin-bottom:22px;
}

/*** Mainmenu ***/

#top-container {
	z-index:999;
	position:fixed;
	left:0;
	top:0;
	right:0;
	padding:0;
	box-shadow:0 0 8px rgba(0,0,0,0.2);
}


#top-bar {
}

#top-bg {
	background:linear-gradient(to bottom, rgba(191, 21, 41, 0.9), rgba(121, 7, 29, 0.9));
 	box-shadow:0 0 8px rgba(0,0,0,0.3);
 	padding:0 10px;
}

#top, #top a {
	color:#fff;
}

#top {
	position:relative;
	display:flex;
	justify-content:space-between;
	align-items:center;
 	padding:5px 0;
    font:400 24px/1em Krub;
}

#top .moduletable {
	margin:0 5px;
	font-variant:small-caps;
}

main { position:relative; z-index:1; }

.logo {
	position:relative;
	transition:all 0.2s;
	margin:0 auto;
	z-index:1;
}

.logo img {
	height:80px; width:auto;
	transition:all 0.2s;
}
 
.sticky .logo img { height:50px; }

#top .kontakt {
	position:relative;
	margin-right:100px;
}

.kontakt:after {
	content:'';
	display:block;
	position:absolute;
	right:-94px;
	bottom:-18px;
	width:164px;
	height:54px;
	background:transparent url('../images/bg-contact.svg') no-repeat 0 0;
	pointer-events:none;
}

#contact {
}

#contact ul {
	padding:0;
	margin:0;
	list-style-type:none;
	display:flex;
}

#contact .textbuttons a {
	font:normal 18px/1em Krub;
}

#contact .textbuttons a.no-label {
	display:inline-flex;
	overflow:hidden;
	align-items:center;
	width:14px;
	height:100%;
}

#contact .textbuttons a:before { display:none; }
#contact .textbuttons .no-label:before { display:inline-flex; }

#contact .textbuttons li:not(:last-of-type) {
	margin-right:20px;
}

#contact .iconbuttons a {
	box-sizing:border-box;
	display: block;
	border-radius:44px;
	background:#9d153b;
	max-width:44px;
	line-height:44px;
	margin:5px 0;
	white-space:nowrap;
	color:#ffffff;
	position:relative;
	overflow:hidden;
	transition:all 0.2s;
	padding:0 20px 0 7px;
	box-shadow:0 0 2px rgba(0,0,0,0.2);
}
#contact .iconbuttons a:hover { background:#ad4e5c;}

#contact .iconbuttons a:before {
	color:#fff;
	font-size:22px;
	display:inline-block;
	margin-right:8px;
	position:relative;
	text-align:center;
	width:30px;
	top:3px;
}


/* #contact .iconbuttons a:focus,
#contact .iconbuttons a:hover {
	max-width:999px;
} */

/*** Language ***/

#language { margin-bottom:20px; }

#language ul { padding:0;margin:0;list-style-type:none; display:flex; }
#language ul li { margin:0 0 0 10px; }
#language ul li:last-of-type { margin-right:0; }

#language li.lang-active a {
}

#language,
#language a {
	color:#fff;
	font:bold 22px Krub;
}

/*** Top Container ***/

.menu-toggle {
	cursor:pointer;
	white-space:nowrap;
}

#top-container .button:before {
	display:inline-flex;
	justify-content:center;
	align-items:center;
	font-size:22px;
	line-height:0px;
	position:relative;
	top:1px;
}

/* nav { position:relative;} */

#top .menu-toggle {
	font-weight:bold;
}

#nav .menu-toggle {
	color:#fff;
	display:none;
}

#nav .button:before {
	line-height:24px;
	color:#fff;
}

nav { position:relative; }
#nav {
	box-sizing:border-box;
	max-height:0px;
	overflow:hidden;
	transition:all 0.2s;
}

#top-container.navopen #nav {
	visibility:visible;
	max-height:100vh;
	overflow:auto;
	background:rgba(60, 60, 60, 0.95);
}

#top-container.navopen .button:before {
	content:'\e158';
}

/* #top-container.navopen #logo .deco { opacity:0; visibility:hidden; } */
/* #top-container.navopen #logo img { height:120px; } */

#mainmenu {
	position:relative;
	padding:10px 0 20px;
}

@media screen and (max-width:768px) {
	#nav {
		visibility:hidden;
		position:fixed;
		left:0;right:0;top:0;
		z-index:950;
		max-height:100vh;
		background:#fff;
		box-shadow:0 0 8px rgba(0,0,0,0.8);
	}
	#mainmenu { padding:0; }
	#ntop {
		padding:10px 0;
		display:flex; margin-bottom:20px;
	    background:linear-gradient(to bottom, rgba(191, 21, 41, 0.9), rgba(121, 7, 29, 0.9));
    }
	#language { margin:0; }
	#nav .menu-toggle { display:block; position:relative; padding:0; margin:0 10px 0 auto; }
}

.pad { padding:0 10px; }

#mainmenu > ul {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
	row-gap:40px;
	/* text-align:center; */
}

#mainmenu ul {
	padding:0;margin:0;list-style-type:none;
}

#mainmenu .submenu {
	padding:10px 0 0;
}

#mainmenu > ul > li {
	flex:1;
	position:relative;
	margin:0 10px 0;
}

#mainmenu > ul > li > a {
	display:block;
	line-height:40px;
	font:normal 36px/1.5em Kotta One;
	white-space:nowrap;
	color:#fff;
}

#mainmenu > ul > li:not(:last-of-type) > a { margin-right:10px;}

#mainmenu .submenu ul > li > a {
	white-space:nowrap;
	font-size:18px;
	font-weight:400;
	line-height:2.5em;
	color:#fff;
}

#mainmenu > ul > li.active > a,
#mainmenu > ul > li:hover > a {
}

#mainmenu .submenu ul > li > a {
	text-transform:none;
}

#mainmenu .submenu ul > li > a:before {
	font-family:Iconia;
	content:'\e15c';
	font-size:15px;
	display:inline-block;
	position:relative;top:1px;
	margin-right:10px;
}

#mainmenu .submenu ul > li.active > a,
#mainmenu .submenu ul > li:hover > a {
	color:#dfe0cd;
}

/*** Layout ***/

.pagewidth {
	max-width:1280px;
	margin:auto;
}

#mainframe {
	overflow:hidden;
}

#header-container {
	position:relative;
	max-height: 600px;
	overflow: hidden;
	display: flex;
	align-items: center;
}

#header {
    width: 100%;
}

#header .slick-dots { margin-top:auto; bottom:16px; position:absolute; }
#header .slick-dots li button:before {background:rgba(255, 255, 255, 0.8); width:10px; height:10px; box-shadow:0 0 8px rgba(0,0,0,0.8); }
#header .slick-dots li { height: 10px; width: 10px; margin: 0 5px; }
#header .slick-dots li.slick-active button:before { background:#fff; width:10px; height:10px; border:0; }
#header .slick-prev, #header .slick-next { height: 60px; width: 60px;	margin-top: -30px; top:50%;}
#header .slick-prev:before { content:'\e15b';font-family:Iconia; font-size:60px;}
#header .slick-next:before { content:'\e15c';font-family:Iconia; font-size:60px;}

#header .browse-button {
	position:absolute;
	top:50%;
	width:40px; height:65px;
	border:0;
	cursor:pointer;
	opacity:1;
	z-index:1;
}
#header .slider-left { background:transparent url('../images/arrow-left.svg') no-repeat 0 0; left:20px;}
#header .slider-right { background:transparent url('../images/arrow-right.svg') no-repeat 0 0; right:20px; }

/** Media Buttons **/

#media {
	position:absolute;
	top:100px;
	right:10px;
	width:38px;
}

#media ul { padding:0;margin:0;list-style-type:none; }

#media .iconbuttons li {
	float:right;
	box-sizing:border-box;
	display:block;
	border-radius:38px;
	max-width:44px;
	line-height:44px;
	margin:3px 0;
	white-space:nowrap;
	position:relative;
	overflow:hidden;
	color:#ffffff;
	padding:0 20px 0 4px;
	box-shadow:0 0 8px rgba(0,0,0,0.8);
	transition:all 0.5s;
	background:linear-gradient(to bottom, rgba(191, 21, 41, 0.9), rgba(121, 7, 29, 0.9));
}

#media .iconbuttons li a {
	color:#ffffff;
}

#media .iconbuttons li:before {
	font-size:25px;
	display:inline-block;
	margin-right:5px;
	position:relative;
	text-align:center;
	width:36px;
	top:5px;
}

#media .iconbuttons li a:before {
	display:none;
}

#media .iconbuttons li:focus,
#media .iconbuttons li:hover {
/* 	background:#555051; */
	max-width:300px;
}

#teasers-container {
	padding:20px 0 0;
}

#teasers { display:flex; }

#teasers .moduletable {
	font:italic 400 20px/1.2em Krub;
	flex-grow:1;
	margin:0 10px;
	box-sizing:border-box;
	background-repeat:no-repeat;
	background-size:auto 120px;
	background-position:0 100%;
	padding-top:20px; 
	padding-bottom:20px;
}

#teasers .moduletable a {
	color:#6E6B69;
}

#teasers .moduletable h3 {
	font:400 26px Kotta One;
	color:#A80F33;
	margin-bottom:5px;
}

#teasers .moduletable.lage { padding-left:140px; margin-left:-50px; }
#teasers .moduletable.familie { padding-left:188px; margin-left:-80px; }
#teasers .moduletable.buchen { padding-left:50px; margin-left:0px; }

/* #teasers .arrow-button {
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
}
 */
/*#teasers .arrow-button:before {
	content:'';
	display:block; 
	background:transparent url('../images/arrow-cta-p.svg') no-repeat 0 0;
	width:30px;height:48px;
	transition:all 0.2s;
}*/

/* #teasers .arrow-button:before {
	content:'\e15c';
	font-family:Iconia;
	font-weight:bold;
	font-size:20px;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	box-sizing:border-box;
	color:#fff;
}

#teasers .moduletable.linked:hover .arrow-button:before {
	color:#ddd
}
 */

#teasers .moduletable.linked {
	padding-right:40px;
	cursor:pointer;
	transition:all 0.8s;
}

#teasers .moduletable.linked:hover {
	transform:scale(1.05);
}

/* closedSymbol: '&#9658;'
openedSymbol: '&#9660;' */

main {
}

#content-container {
	padding:0px 10px 20px;
}


#content {
	position:relative;
	padding-top:60px;
	z-index:1;
}


.highlight .cbutton {
	font:500 18px/1.2em Krub;
	color:#9d153b;
	background:#fff;
}

.highlight .cbutton:hover {
	color:#3a6d5d;
}

#slider a {
	font:32px/1em Kotta One;
	color:#9d153b;
	background:#ccc;
	padding:10px 0 0 40px;
}

#kontakt .anreise:hover,
#slider a:hover {
    background-color:transparent;
    color:#79071d;
}

#content img {
	max-width:100%;
	height:auto;
}

#content img {
	max-width:100%;
	height:auto;
}

.items-leading {
	text-align:center;
	background:transparent url('../images/divider.svg') no-repeat 50% 100%;
	padding-bottom:40px;
	margin-bottom:50px;
}

.items-intro {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

article {
	margin-bottom:40px;
	width:100%;
}

article a { font-weight:bold; }

.w50 {
	width:calc(50% - 20px);
}

.w33 {
	width:calc(33.33% - 26.66px);
}

.ilr-container a,
.psgallery img,
.img-intro-left .mfp-link {
	display:block;
	float:left;
	width:32%;
	margin-right:40px;
	margin-bottom:5px;
	position:relative;
	box-sizing:border-box;
	box-shadow:0 0 2px rgba(0,0,0,0.3);
}

.highlight .img-intro-left .mfp-link { box-shadow:none; }

.psgallery img { margin-bottom:0; }

.img-intro + .article-content > h2 {
	
}

.highlight h2 {font-weight:400;}

.w33 .img-intro-left .mfp-link,
.w50 .img-intro-left .mfp-link {
	float:none;
	width:100%;
}

.highlight .img-intro img { display:block; }
.highlight .img-intro .mfp-link { margin-bottom:0; }

article.highlight {
	display:flex;
	text-align:center; 
}

article.highlight .article-helper {
	width:100%;
	font:300 16px/1.5em Krub;
	display:flex;
	flex-direction:column;
}

article.highlight a { color:#fff; font-weight:700; }

article.highlight h2 {
	font:28px/1em Kotta One;
	color:#fff;
}

article.highlight .article-content {
	padding:15px 20px 20px;
	color:#fff;
	background: linear-gradient(to bottom, #8E8A87 0%, #555552 100%);
	flex-grow:1;
}

#slider a,
.highlight p.readmore a {
	background:transparent;
	font:22px Kotta One;
	display:inline-block;
	padding:0 5px 8px;
    border-bottom:1px solid #fff;
}

.centered .article-content h2,
.centered { text-align:center; }

/*** SCM ***/

#scm-container { 
	position:relative;
}

#scm-container h2 {
	text-align:center;
	font-size:38px;
	background:transparent url('../images/deko-sc.svg') no-repeat calc(100% - 10px) 0 / contain;
	padding:80px 0 40px;
    margin-bottom:20px;
}

#scm {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
}

#scm p { margin:10px 0; }

#scm a {
	color:#fff;
	display:inline-block;
	padding-bottom:5px;
	border-bottom:1px solid #fff;
	margin-top:20px;
	font:20px/1.5em Kotta One;	
}

#scm h4 {
	margin-bottom:20px;
	font:24px/1.5em Kotta One;
	color:#fff;
}

#scm .moduletable {
	position:relative; 
	width:calc(100% / 3 - 20px);
	overflow:hidden;
	padding:10px;
	margin:0 0 20px;
	box-sizing:border-box;
	display:flex;
	min-height:250px;
}

#scm .moduletable:nth-of-type(1),
#scm .moduletable:nth-of-type(2) { 
    width:calc(100% / 2 - 20px);
}

#scm .module-bg-title {
	position:absolute;top:0;left:0;right:0;bottom:0;
	background-position:50%;
	background-size:cover;
	display:flex;
	justify-content:center;
	align-items:center;
	transition:all 0.2s;
}

#scm h3 {
	color:#fff;
	font:38px/1.5em Kotta One;
	text-shadow:0 0 6px #000;
	transition:all 0.2s;
	text-align:center;
}

#scm .module-bg-title h3 {
	margin-bottom:0;
	line-height:1.3em;
}

#scm .module-content {
	color:#fff;
	position:relative;
	text-align:center;
	padding:20px 10px;
	background:rgba(121, 7, 29, 0.65);
	opacity:0;
	visibility:hidden;
	transition:all 0.2s;
	flex-grow:1;
}

#scm .moduletable:focus .module-bg-title,
#scm .moduletable:hover .module-bg-title {
	transform:scale(1.1);
}

#scm .moduletable:focus h3,
#scm .moduletable:hover h3 {
	opacity:0; visibility:hidden;
}

#scm .moduletable:focus .module-content,
#scm .moduletable:hover .module-content {
	opacity:1;visibility:visible;
}


/*** Media queries ***/

@media screen and (max-width:1010px) {
	#scm .moduletable { width:calc(100% / 2 - 2px); }
}

@media screen and (max-width:625px) {
	#scm .moduletable { width:calc(100% - 2px); }
}


/*** Social Wall ***/

#socialwall .moduletable {
	margin-bottom:40px;
}

#socialwall h2 {
	font:42px Kotta One;
	color: #555552;
	text-align:center;
}

/*** Slider ***/

#slider-container {
	padding:40px 10px;
}

#slider .image-intro {
	position:relative;
	background-position:50% 50%;
	background-size:cover;
}

#slider .image-intro:before {
	content:'';
	display:inline-block;
	width:1px;
	margin-right:-1px;
	padding-top:100%;
}

#slider .offer-badge {
	font-family:Krub;
	position:absolute;
	right:20px;
	top:20px;
	background:#fff;
	width:100px;
	height:100px;
	padding-top:20px;
	border-radius:999px;
	box-sizing:border-box;
	text-align:center;
	color:#79071d;
	box-shadow:0 0 8px rgba(0,0,0,0.3);
}

#slider .pricetag {
	font:32px Kotta One;
}
 
#slider .slickcontainer {
	margin:0 -10px;
}

#slider .slickitem {
	margin:0 10px;
	background:#fff;
	color:#777;
	margin-top:8px; margin-bottom:8px;
	box-shadow:0 0 12px rgba(0,0,0,0.2);
}

#slider .slick-track {
	display:flex;
}
#slider .slick-slide {
	height: auto;
}

#slider h2 {
	font:42px Kotta One;
	color: #555552;
	text-align:center;
}

#slider h3 {
	font:normal 24px Kotta One;
}

#slider .slick-padding {
	padding:30px;
}

#slider .item-text {
	font-size:16px;
	line-height:1.5em;
}

#slider a {
	font:500 24px Krub;
	display:inline-block;
	margin-top:1em;
	transition:all 0.2s;
	background:none;
	border-color:#bf1529;
}

.sitebody .slick-dots { margin-top:20px;}
.sitebody .slick-dots li button:before {background:#bf1529; }
.sitebody .slick-dots li.slick-active button:before { background:#79071d; width:12px; height:12px; border:2px solid #79071d;}

#slider .browse-button {
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:50%;
	width:72px;height:72px;
	transform:translateY(-36px);
	z-index:1;
	border-radius:999px;
	background:#79071d;
	opacity:0.75;
	transition:all 0.2s;
}

#slider .browse-button:hover {
	opacity:1;
}

#slider .browse-button:before {
	font-family:Iconia;
	font-size:24px;
	content:'\e15b';
	color:#fff;
}
#slider .slider-right:before {
	content:'\e15c';
}

#slider .slider-left {
	left:-100px;
}

#slider .slider-right {
	right:-100px;
}

#usp-container {
	padding:40px 10px 40px;
}

#usp-container:after {
	left:0; right:auto;
}

#usp-container h2 {
	font-size:42px;
	color: #555552;
	text-align:center;
	margin-bottom:40px;
}

#usp-container h3 {
	font-weight:700;
	line-height:1.5;
	margin-bottom:0.5em;
}

#usp ul { padding:0;margin:0;list-style-type:none;padding-left:18px; overflow:hidden; }
#usp li { margin:10px 0; }
#usp li:before {
	content:'';
	display:inline-block;
	vertical-align:middle;
	width:10px;
	height:10px;
	border-radius:999px;
	background: #9d153b;
	margin-left:-18px;
	margin-right:8px;
	position:relative;
	bottom:1px;
}

#usp-helper { position:relative; z-index:1; }

#usp {
	max-width:1000px;
	margin:auto;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
/* 	grid-template-columns:repeat( auto-fit, minmax(250px, 1fr) ); */
/* 	grid-auto-rows:minmax(250px, auto); */
	grid-gap:40px;
	color:#79071d;
}

#usp .moduletable {
	text-align:center;
}

#shortcutmodules .moduletable {
	position:relative;
	background-size:cover;
	background-position:50% 50%;
}

#usp-menu {
	position:relative;
	z-index:1;
}

#usp-menu ul {
	padding:0;margin:0;list-style-type:none;
	display:flex;
	justify-content:center;
}

#usp-menu a {
	font:500 20px/1em Krub;
	display:block;
	background:#9d153b;
	padding:10px 30px;
	color:#fff;
	transition:all 0.2s;
}

#usp-menu li {
	margin:0 5px 10px;
}

#usp-menu a:hover { background:#dd4c4c; }

#kontakt-container {
	padding:50px 10px 80px;
}

#kontakt-container .zindex { z-index:1; position:relative;}

#kontakt-container h2 {
	font-size:32px;
	text-align:center;
}

#kontakt-container h2 {
	color:#fff;
	font-size:40px;
	font-weight:400;
	text-align:center;
	margin-bottom:30px; 
}

#kontakt-helper {
	display:flex;
}

#map {
	flex-grow:1;
}

#kontakt {
	box-sizing:border-box;
	padding:80px 60px;
	text-align:center;
	color:#fff;
	background: linear-gradient(to bottom, #8E8A87 0%, #555552 100%);
}

#kontakt h3 {
	font:normal 24px/1.5em Kotta One;
	color:#fff;
}

#kontakt h4 {
	font-size:19px;
	color:#808080;
	font-weight:bold;
}

#kontakt img { max-width:100%; height:auto; }

#kontakt a {
	color:#fff;
}

#kontakt .anreise {
	font:24px Kotta One;
	display:inline-block;
	padding:0 20px 10px;
	border-bottom:1px solid #fff;
}

#map p, #map iframe {
	width:100%;
	height:100%;
}

#footer-container {
	padding:40px 10px 0;
		background: linear-gradient(to bottom, #bf1529 0%, #79071d 100%);
}

#footer ul {
	padding:0;margin:0;list-style-type:none;
}

#footer {
	display:flex;
	justify-content:space-evenly;
	flex-wrap:wrap;
}

#footer .moduletable {
	margin:0 5px 40px;
	color:#fff;
}

#footer h3 {
	font:500 22px/1.5em Krub;
	color:#fff;
}

#footer a { color:#fff; line-height:32px;}

#footer a:hover { color:#dfe0cd; }

.infos a:before {
	content:'';
	display:inline-block;
	width:10px;height:10px;
	background:#fff;
	border-radius:999px;
	position:relative;
	bottom:1px;
	margin-right:10px;
}

#footer .web20 a[class*='icon']:before {
	color:#fff;
	background:#555051;
	box-shadow:0 0 8px rgba(0, 0, 0, 0.30);
	font-size:20px;
	width:46px;
	height:46px;
	border-radius:999px;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	box-sizing:border-box;
	margin-right:20px;
	margin-bottom:10px;
}


#logos-container {
	padding:40px 10px 20px;
	background:#BCB2AA;
	border-bottom:40px solid #555552;
}

#logos {
	display:flex;
	justify-content:space-evenly;
	align-items:center;
	flex-wrap:wrap;
}

#logos > a, #logos > img {
	display:inline-block;
	margin:0 10px 20px;
}

/* #logos img {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 3.5+, IE10 */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
    -webkit-transition: all .6s ease; /* Fade to color for Chrome and Safari */
    -webkit-backface-visibility: hidden; /* Fix for transition flickering */
}

#logos img:hover {
    filter: none;
    -webkit-filter: grayscale(0%);
}

/*** CTA Leiste ***/

#cta-container {
	z-index:1;
	position:fixed;
	bottom:-50px;
	left:0;
	right:0;
	background: #79071d;
	box-shadow:0 0 8px rgba(0,0,0,0.8);
	transition:all 1s;
	padding:8px 10px 5px;
}

.ready #cta-container {
	bottom:0;
}

#cta ul {
	display:flex;
	justify-content:space-between;
}

#cta ul { padding:0;margin:0;list-style-type:none; }

#cta, #cta a { color:#fff; line-height:28px; }

#cta a:before {
	font-size:24px;
	padding-right:10px;
	vertical-align:middle;
	position:relative; top:-3px;
}

@media screen and (max-width:480px) {
	#cta li:nth-of-type(3) { display:none; }
}

div.items-row {
	clear:both;
}

.item-separator {
	clear:both;
}

.flatlist ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.flatlist ul li {
	display: inline-block;
}
.flatlist ul li::after {
	content: " |";
	padding-right: 3px;
}
.flatlist ul li:last-child::after {
	content: none;
	padding-right: 0;
}

.img-intro-left .mfp-link {
	display:block;
	float:left;
	width:calc(33.33% - 26.66px);
	margin-right:40px;
	margin-bottom:5px;
	position:relative;
}

.img-fulltext img {
	width:100%;
	height:auto;
}

.mfp-link img {
	display:block;
	width:100%;
	height:auto;
}

.mfp-link .icon-zoom {
	color:#fff;
	text-shadow:0 0 2px #000;
	position:absolute;
	bottom:10px;
	right:10px;
}


.cbutton,
p.readmore a {
	color:#fff;
	position:relative;
	display:inline-block;
	font-size:16px;
	font-weight:normal !important;
	transition:all 0.2s;
	padding:5px 20px;
	background:#B40000;
	margin-top:0.5em;
}

.goback {
	display:inline-block;
	margin-top:1em;
}

@media screen and (max-width:1130px) {
	#top .optional { display:none; }
}

@media screen and (max-width:1010px) {
	#scm .moduletable { width:calc(100% / 2 - 20px); }
	#scm .moduletable:nth-of-type(5) { width:calc(100% - 20px); }
}

@media screen and (max-width:960px) {
	#header .slick-arrow { display:none !important; }
	.w33 {
		width:calc(50% - 20px);
	}
}

@media screen and (max-width: 900px) {
	#contact { order:2; }
	#contact .textbuttons a { display:inline-block; width:24px; height: 24px; overflow:hidden; }
	#contact .textbuttons a:before {
		display: block;
		font-size: 24px;
		margin-right: 10px;
	}
}

@media screen and (max-width:820px) {
	#overlay {	display:none; } 
	#teasers { justify-content:center; }
	#teasers .moduletable { display:none; }
	#teasers .moduletable.buchen { display:block; margin:0 10px; max-width:500px; }
	#kontakt { padding:40px;}
	#badge { display:none; }
	#content { padding-top:0px;}
	#shortcutmodules h3 { font-size:24px; }
	.w33 { width:calc(50% - 20px);}
}

@media screen and (max-width:720px) {
	#logo img { height:60px; }
	#logo { margin-bottom:-4px; }
	#logo .deco { bottom:-24px; }
	/*.sticky #logo img  { height:90px; }	 */
	#shortcuts .title { font-size:24px; left:0; }
/* 	#logo { padding:5px; margin-bottom:-5px;}
	.sticky #logo { margin-bottom:-5px; margin-top:-5px; padding:0 5px; }
	.sticky #logo img,
	#logo img { height:50px; } */
	#top #logo + .menu-toggle { margin-left:10px; }
}

@media screen and (max-width:625px) {
	#media { top:80px; }
	#top .menu-toggle {
		width:24px; overflow:hidden;
	}
	.logo img { height:60px; width:auto; }
	#content-container { padding-top:40px; }
/* 	#logo img { height:70px; } */
/* 	#logo a { right:70px; } */
	#top-container .button:before { margin-right:0; }
/* 	#language { margin-left:auto; } */
/* 	#teasers { display:none; } */
	.img-intro-left .mfp-link { width:100%; margin-right:0; margin-bottom:10px; }
	.w33, .w50 {
		width:100%;
	}
	#kontakt-helper { display:block; }
	#kontakt, #map { width:100%; }
	#kontakt { text-align:center; }
	#map { height:350px; }
	#usp-menu ul { flex-wrap:wrap; }
	#header { margin:0 -100px; width:calc(100% + 200px); }
	#scm-container #scm .moduletable { width:calc(100% - 20px); }
	#usp { grid-template-columns:repeat(2, 1fr); }
}

@media screen and (max-width:500px) {
	#header { margin:0 -150px; width:calc(100% + 300px);}
/* 	#usp .moduletable { flex-wrap:wrap; }
	#usp .module-image { width:100%; height:200px; }
	#usp .module-wrapper { padding:20px; } */
	#usp .module-image { opacity:0.2; position:absolute; left:0; top:0; bottom:0; width:100%; }
	.slogan { margin-right:-50px; }
	#cta li:nth-of-type(3) { display:none; }
	#gradient { height:100px; }
	#top .menu-toggle { width:24px; overflow:hidden; }
	#footer .moduletable { width:100%; }
}

@media screen and (max-width:480px) {
	.sticky .logo img { height:40px; }
}

@media screen and (max-width:450px) {
	#footer .moduletable { width:100%; }
	#top .kontakt { margin:0; }
	.kontakt:after { display:none; }
	#usp { grid-template-columns:repeat(1, 1fr); }
}

ul.psgallery { display:block; margin:1em 0; }

/*########################################################################################*/




/*########################################################################################*/




/*########################################################################################*/




/*########################################################################################*/




/*########################################################################################*/




/*########################################################################################*/




/*########################################################################################*/

/* frontend editor */

div.article_row {
	position:relative;
}

div.contentpaneopen_edit {
	position:absolute;
	top:0;
	right:0;
}

div.tip-wrap {
	text-align:left;
	background:#eee;
	border:1px dotted #f00;
	padding:10px;
}

div.tip-wrap div.tip-title {
	color:#f00;
	font-weight:bold;
	margin-bottom:5px;
}

div.reset fieldset,
div.remind fieldset,
div.login fieldset,
div.panel fieldset {
	padding:10px;
}

div.login-fields {
	margin-bottom:5px;
}

div.login-fields label {
	display:block;
	float:left;
	width:150px;
}

div.login-fields input {
	line-height:1.8em;
	height:24px;
	padding:5px;
}

.ccms_form_element label {
	font-weight:normal !important;
}

div#ui-datepicker-div,
div#ui-datepicker-div td,
div#ui-datepicker-div span,
div#ui-datepicker-div a {
	font:normal 12px/1em Verdana,sans-serif !important;
}

/***** editor *****/

ul.actions {padding:0;margin:0;list-style-type:none;text-align:right;}
ul.actions li {display:inline-block; }

.btn-group {
	display:inline-block;
}

.btn-group button {
	color:#fff;
	background:#aaa;
	border:0;
	padding:5px 10px;
	border-radius:5px;
	cursor:pointer;
}

form#adminForm fieldset {
	border:0;
}

/** RS form **/

p.formRed {
	color:#CF4D4D;
}

p.formDescription {
	font-size:10px;
	font-weight:bold;
}

.formContainer {
	border:0;
	padding-bottom:40px;
}

.formRow {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.formRow > div {
	width:calc(50% - 40px);
}

.formControls div.formBody { float:none; }

.rsform-block[class*="-heading"] {
	margin-top:20px;
}

.rsform-block input:not([size]) { width:100%; }
.rsform-block input[type="checkbox"],
.rsform-block input[type="submit"] { width:auto; }
.rsform-block input[type="checkbox"] { margin-right:10px; }

.rsform-block {
	margin-bottom:10px;
}

.rsform-block textarea {
	width:100%;
}

.rsform-block .rsform-submit-button {
	border:0;
	background:#eee;
	padding:5px 10px;
	border-radius:3px;
	cursor:pointer;
	-webkit-text-stroke:0.2px;
	font-size:18px;
}

.formValidation {
	display:block;
}

img.ui-datepicker-trigger {
	position:relative;
	top:3px;
	left:5px;
}

.has-margin-bottom {
	margin-bottom:40px;
}

@media screen and (max-width:768px) {
	.formRow > div {
		width:100%;
	}
}

.rsform-block-email2 { display:none; }

/*** contact form ***/

div.contact-form fieldset {
	padding:10px;
}

table#recaptcha_table.recaptchatable {
	border:0 !important;
}

div.contact h3 {
	margin-top:10px;
}

/*** acymailing ***/

.acysubbuttons {
	padding-top:10px !important;
	text-align: right !important;
}

div.acymailing_module_form p.fieldacyemail input {
	width:100%;
	padding:2px;
}

/*** system message ***/

div.error {
	color:#CF4D4D;
	font-size:16px;
}
a.close {
	display:none;
}
dl#system-message {
	border:1px dotted #CF4D4D;
	padding:10px;
	margin-bottom:20px;
}
dt.message {
	margin-bottom:10px;
	font-weight:bold;
}

/* contact */

div.contact h2 span {
	font-size:24px;
}

div.contact h3 {
	margin-top:30px;
	margin-bottom:10px;
}
span.address {
	display:block;
	margin-top:10px;
}
p.telephone {
	padding:10px 0;
}

div.muted { display:none; }

/* +++++++++++++++++++++++ pagenav +++++++++++++++++++++++  */

.pagination { text-align:center; margin-top:1em; }

.pagenav {
	text-align: right
}

.pagenav ul {
	display: inline-block;
	*display: inline;
	/* IE7 inline-block hack */
	list-style-type: none;
	margin-left: 0;
	margin-bottom: 0;
}

.pagenav li {
	display: inline;
	margin: 0px;
	padding: 0
}

.pagenav a,span.pagenav {
	padding: 0 14px;
	margin: 0;
	line-height: 1.9em;
	text-decoration: none;
	border: 1px solid #ddd;
	border-left: 0px solid #ddd;
	display: inline-block;
	line-height: 1.9em;
}

.pagenav li:first-child a,.pagination-start span {
	-webkit-border-radius: 3px 0 0 3px;
	-moz-border-radius: 3px 0 0 3px;
	border-radius: 3px 0 0 3px;
	border-left: solid 1px #ddd
}

.pagenav li:last-child a,.pagination-end span {
	-webkit-border-radius: 0 3px 3px 0;
	-moz-border-radius: 0 3px 3px 0;
	border-radius: 0 3px 3px 0;
}

.pagination ul {
	margin: 10px 10px 10px 0;
	padding: 0
}

.pagination li {
	display: inline;
}

.pagination a {
	padding: 0 14px;
	line-height: 2em;
	text-decoration: none;
	border: 1px solid #ddd;
	border-left: 0px solid #ddd;
	display: inline-block
}

.pagination .active a {
	cursor: default;
}

.pagination span,.pagination span  a:hover {
	cursor: default;
	padding: 0 14px;
	line-height: 2em;
}

.pagination li:first-child a {
	border-left-width: 1px;
	-webkit-border-radius: 3px 0 0 3px;
	-moz-border-radius: 3px 0 0 3px;
	border-radius: 3px 0 0 3px;
}

.pagination li:last-child a {
	-webkit-border-radius: 0 3px 3px 0;
	-moz-border-radius: 0 3px 3px 0;
	border-radius: 0 3px 3px 0;
}

/* Responsive Tabs */

#content .r-tabs {
	box-shadow:0 0 8px rgba(0,0,0,0.3);
	border-radius:0;
	border:0;
	background:#939392;
}

#content .r-tabs .r-tabs-accordion-title .r-tabs-anchor, #content .r-tabs .r-tabs-nav .r-tabs-tab {
	background:#939392;
}

#content .r-tabs .r-tabs-panel {
	border-radius:0;
	background:#fff;
}

#content .r-tabs .r-tabs-nav .r-tabs-state-active .r-tabs-anchor { border-radius:0; }
#content .r-tabs .r-tabs-nav .r-tabs-anchor {
	color:#fff;
	text-transform:uppercase;
	font-weight:normal;
	text-shadow:none;
}

#content .r-tabs .r-tabs-tab.r-tabs-state-active .r-tabs-anchor {
	background:#ac1628;
	color:#fff;
}

.casa-roomtype-list .casa-roomtype-haeding {
	background:#79071d!important;
}