@charset "utf-8";
/*
*
*	Lechuza - 2016
*	Author: SECONDRED Newmedia GmbH
*	Web: http://www.secondred.de
*
*/
/* -- Global Reset & Defaults -- */
* { padding:0; margin:0; -webkit-tap-highlight-color:transparent; }
*:focus { outline:none }
*, *:before, *:after {box-sizing: border-box;}


.map-marker-label{
	position: absolute;
	color: #555;
	font-size: 14px;
	font-weight: bold;
	margin-top:-30px;
	margin-left:90px;
	max-width:100px;
	line-height:normal;
	text-shadow: 0 -1px #fff, 1px 0 #fff, 0 1px #fff, -1px 0 #fff;
}
.mobi { display:none}

html[dir="rtl"] {direction: rtl;}
html {font-size: 100%;text-size-adjust: 100%;}
html, body  {  height:100%; width:100%;font-smooth: always;}

input.formText, textarea {
	font-family:Arial, Helvetica, sans-serif;-webkit-appearance:none;
	box-sizing: border-box;
}
select,
input {-webkit-box-shadow:none; -webkit-border-radius:0}
button { box-sizing: border-box; cursor:pointer;overflow: hidden; user-select: none;}
textarea { resize:vertical; overflow:auto}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {-webkit-appearance: button;cursor: pointer;}

::-webkit-input-placeholder {color: #777;-webkit-transition: color .25s  ease}
:-moz-placeholder { color: #777;-moz-transition: color .25s  ease}
::-moz-placeholder { color: #777; -moz-transition: color .25s  ease}
:-ms-input-placeholder { color: #777;-ms-transition: color .25s  ease}

:focus::-webkit-input-placeholder {color: #ccc;}
:focus:-moz-placeholder { color: #ccc;}
:focus::-moz-placeholder { color: #ccc; }
:focus:-ms-input-placeholder { color: #ccc;}

ul {padding-left:23px;}
ol {padding-left:23px;}

img {border: 0;-ms-interpolation-mode: bicubic;}
canvas { -ms-touch-action: double-tap-zoom;}
svg:not(:root) {overflow: hidden;}

a,button, img, input, textarea  {
	transition: color 250ms  ease, border-color 250ms ease, background-color 250ms ease, opacity 250ms  ease, box-shadow 250ms  ease;
}
.hidettext{text-indent: -150%;white-space: nowrap;overflow: hidden; color:rgba(0,0,0,0); font-size:1px}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary { display: block;}
audio,canvas,progress,video {display: inline-block;vertical-align: baseline;}
audio:not([controls]) { display: none; height: 0;}
abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;}

a { color: inherit}
a:active { background-color:transparent}
a:hover { text-decoration:none}
a[href^="tel"]{color:inherit; text-decoration:none;}

table {border-collapse:collapse; border-spacing:0;}

*::-webkit-selection {background-color:  rgba(0,0,0,.2);;color: #333;}
*::-moz-selection {background-color:  rgba(0,0,0,.2);; color: #333;}
*::selection { background-color: rgba(0,0,0,.2); color: #333;}

/* - Remove the gap - */
audio, canvas, img, svg, video {vertical-align: middle; }

/* -- Global CSS3 Default Styles -- */
.circle {border-radius: 50%; overflow:hidden}
.rounded {border-radius: 10px; overflow:hidden}
.shadow {box-shadow: 0px 2px 5px rgba(0, 0, 0, .5);}

img.responsive {width: 100% !important;	height: auto !important;}

.disable-hover {pointer-events: none;}
/* -- No-JS Overlay -- */
noscript.msg div{ background-color:#C00; color:#fff; font-size:12px; padding:10px 20px;display:block; position:fixed; left:0; bottom:0; right:0; z-index:888}

/* -- Formie Override -- */
:root {
    --fui-border-radius: 0;
    --fui-input-font-size: 15px;
    --fui-input-padding:15px;
    --fui-check-check-border-radius: 0;
    --fui-check-label-height: 49px;
    --fui-check-label-width: 49px;
    --fui-check-label-padding-left: 60px;
    --fui-check-label-bg-color: #F2F2F2;
    --fui-border-color:#E6E6E6;
    --fui-focus-border-color: #333;
    --fui-primary-color:#B40070;
    --fui-btn-display: block;
    --fui-btn-font-size: 13px;
    --fui-btn-font-weight: 500;
    --fui-btn-padding: 10px 15px;
    --fui-check-label-top: 0;
    --fui-check-check-bg-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyMyI+CiAgICA8cGF0aCBmaWxsPSIjNjY2IiBkPSJtMjMgMS4yLS43LS43TDEyIDEwLjggMS43LjVsLS43LjcgMTAuMyAxMC4zTDEgMjEuOGwuNy43TDEyIDEyLjJsMTAuMyAxMC4zLjctLjctMTAuMy0xMC4zeiIvPgo8L3N2Zz4=");
    --fui-check-check-bg-size: 30px auto;
    --fui-focus-shadow: none;
    --fui-row-gutter: 15px;
}
.iti { display: block !important}
.iti--allow-dropdown input,
.iti--allow-dropdown input[type=tel],
.iti--allow-dropdown input[type=text],
.iti--separate-dial-code input,
.iti--separate-dial-code input[type=tel],
.iti--separate-dial-code input[type=text] {padding-left: 66px !important;}

.fui-i { color: inherit}
textarea.fui-input {
    display: block;
    height: 185px;
}
.fui-checkbox label:before { border-color: #f2f2f2;}
.fui-checkbox label {display: flex; flex-direction: row;min-height: 49px; align-items: center; flex-wrap: wrap;}
.fui-checkbox label a{ margin: 0 3px;}

.fui-checkbox input:checked + label:before {
    border-color: #f2f2f2;
    background-color: #f2f2f2;
}
@media screen and (max-width: 480px){
    .fui-row {flex-direction: column}
}

.fui-input::placeholder,
.fui-select::placeholder {color: #B3B3B3;}

.fui-submit {
    width: 100%;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.fui-submit:active,
.fui-submit:hover,
.fui-submit:focus{
    border-color: var(--fui-primary-color);
    background: var(--fui-primary-color);
}
/* -- Body und Text-Style -- */
body {font-family: "Open Sans", Arial, Helvetica, sans-serif;font-size:15px;background: #fff;text-align: center; color: #2D3A3A; line-height:23px}

hr { margin:30px 0; border:0; height:1px; background:rgba(0,0,0,0.3)}
h1, h2, h3 { margin-bottom:20px}

h1 { font-size:30px}
h2 { font-size:25px; line-height: normal}
h2.half { width:50%; padding-right:40px; color:#2D3A3A; font-weight:500}
strong { font-weight:500}
h3 { font-size:20px}

p { margin-bottom:30px; color: #2D3A3A}

/* -- 100% Height Layout -- */
#container { overflow:hidden}

/* -- Layout -- */
.size { width:1260px;width:auto;max-width: 1260px; margin: 0 auto; text-align: left;}
#outerheader { background: #2D3A3A; border-bottom:2px solid #fff; position:fixed;left: 0;right: 0;top: 0; z-index:6;}
#outerteaser {  position:relative; z-index:2}
#outercontent { position:relative; z-index:3}
#outerfooter { position:relative; z-index:1}

/* -- Header -- */
#header { position:relative; height:73px;}

/* -- Logo -- */
#logo { width:268px; margin:0 auto; padding-top: 20px}
#logo a { display:block; background:url(../gfx/lechuza-logo.svg) no-repeat; width:268px; height:33px; }
#logo a span { display:none}

/* -- Teaser -- */
#teaser {height:80vh; overflow:hidden}
@media screen and (max-height: 900px){
	#teaser {height:75vh; overflow:hidden}
}
#teaser .teaserInner{}
#teaser .swiper-slide img { width:100% !important; height:auto !important}

#teaser .teaser-infobox { position: absolute; right:0; top: 50%; z-index: 3; width:50%; width: calc(50% - 20px); background: url(../gfx/infotext-bg.png) left center no-repeat; background-size: cover; }
#teaser .teaser-infobox .infobox-wrap { display: table}
#teaser .teaser-infobox .img,
#teaser .teaser-infobox .text{ display: table-cell}

#teaser .teaser-infobox .img{ background: #fff; padding: 20px; vertical-align: middle}
#teaser .teaser-infobox .text{padding:30px; text-align: left}
#teaser .teaser-infobox .text em { text-transform: uppercase; color: #fff; font-style: normal; display: block; font-size:14px; margin-bottom: 5px}
#teaser .teaser-infobox .text strong { display: block; font-weight: 200; color: #028B3B; font-size: 35px; line-height: 40px; margin-bottom: 5px}
#teaser .teaser-infobox .text small {color:#028B3B; display: block; font-size: 11px;}

/* -- Inner Layout -- */
#inner {}

/* -- Inhalt -- */
#mainContent { margin: 0 250px;	padding: 0 30px;}
.page-full #mainContent { margin: 0;}

/* -- Content Part -- */
.content-part { text-align:left; position:relative; color:#fff}
.content-part .cp-inner{ padding:30px; position:relative; z-index:2;}
.content-part.logobg .cp-inner{ background:url(../gfx/lechuza-logo-bg.png) center 50px no-repeat; background-size:contain; padding-bottom:0}
.content-part.logobg .cp-inner:before { content:""; height:350px; display:block;}

.content-part h2 { font-weight:500; font-size:30px; margin-bottom:30px}
.content-part h2 { font-weight:500}

.content-part .lft {padding-bottom:50px; padding-top:70px}
.content-part a.more {text-decoration:none; text-transform:uppercase; display:inline-block; position:relative; letter-spacing:3px; font-size:13px; font-weight:500}
.content-part a.more:before {content:""; height:1px; background:#fff; width:500%; bottom:-10px; display:block; position:absolute; right:0}
.content-part a.more:hover {color:#028B3B}

.content-part .rt { position:relative; min-height:330px}
.content-part .rt img { position:absolute; bottom:-80px}

.content-part.map { overflow:hidden}
.content-part.map .gmap{ z-index:1}
.content-part.map iframe {display:block}
.content-part.map .cp-inner{ padding:0}
.content-part.map:before { display:none}

.content-part.offer .lft{ padding-bottom:30px}
.content-part.offer blockquote { font-size:25px; line-height:normal; color: #fff}
.content-part.offer blockquote p { margin-bottom:20px; color: #fff}
.content-part.offer p {color: #fff}
.content-part.offer .row{position:relative; z-index:1}
.content-part.offer .row:before {
	background:#2D3A3A; background-size:100% 100%;
	position:absolute; left:-45%; right:-45%; bottom:0; content:"";top:0; z-index:-1
}

/* -- Toggle Box -- */
.toggleBox-wrap{ position:absolute; left:0; bottom:0; z-index:2; width:580px; }
.toggleBox{
	position:absolute; left:0; bottom:0; background:#2D3A3A; width: 580px;
	transition: background-position 350ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.toggleBox.open{
	background: #fff;
}

.toggleBox h2{ cursor:pointer; padding:35px 40px; line-height:35px; margin-bottom:0; }
.toggleBox h2 i { float:right; width: 25px;height: 25px;border:1px solid #fff; position:relative; top:5px; display:block}
.toggleBox h2 i:before,
.toggleBox h2 i:after {
	content:""; position:absolute; height:1px; width:8px; display:block; top:50%; left:50%; margin-left:-5px; margin-top:-3px; background:#fff;
	transition: transform 500ms cubic-bezier(0.2, 1, 0.3, 1), background-color 500ms cubic-bezier(0.2, 1, 0.3, 1);
}

.toggleBox h2 i:before {
	margin-top: -3px;
	transform: translate(0px, 4px) rotate(-40deg);
	transform-origin: 0% 50%;
}
.toggleBox h2 i:after {
	margin-left: -2px;margin-top: -3px;
	transform:translate(0px, 4px) rotate(40deg);
	transform-origin: 100% 50%;
}

.toggleBox .inner {
	color:#333; padding:0 40px 0;overflow:hidden; max-height:0;
	transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.toggleBox .inner p:first-child{ padding-top:20px}
.toggleBox .inner p{ margin-bottom:15px}

.toggleBox.open {background-position: center -210px;transform: translate(0px, 0px);}
.toggleBox.open h2 {color:#2D3A3A}
.toggleBox.open h2 i { border-color:#B40070}
.toggleBox.open h2 i:before,
.toggleBox.open h2 i:after{ 	background:#B40070;}

.toggleBox.open h2 i:before {transform: rotate(40deg); margin-left:-6px; margin-top:-3px}
.toggleBox.open h2 i:after {transform: rotate(-40deg);margin-left:-2px;}
.toggleBox.open .inner { max-height:600px}

/* -- Elemente & Blöcke -- */
.node { overflow:hidden; margin-bottom:20px}
.node.longshadow,
.node.realshadow { padding:20px}

.node .img img { display:block}
.node.sticky { border:1px solid rgba(0,0,0,.1);}

/* -- Blöcke -- */
.block .img img { display:block}
.block h3{ text-transform:uppercase; font-size:35px; color:#fff;font-weight: 200; margin-bottom:20px; line-height:normal}

/* -- Block Card -- */
.block-card { position:relative; margin-bottom:40px}
.block-card:before { content:""; height:1px; background:#E6E6E6; width:100%; position:absolute; bottom:30px}
.block-card .img { position:relative; z-index:1}
.block-card .inner {
	position:absolute; color:#fff;padding:30px; bottom:0; z-index:2; width:50%;
	background:rgba(45,58,58,0.9);
	background-size:cover
}
.block-card .inner > h2 { text-transform:uppercase; font-size:35px; color:#fff;font-weight: 200; margin-bottom:20px; line-height:normal}
.block-card .inner > strong { display:block; text-transform:uppercase; font-size:22px; }
.block-card a.more { text-transform:uppercase; text-decoration:none; letter-spacing:3px; display:block; font-size:13px; padding-bottom:5px; font-weight:500}
.block-card a.more:before {content:""; height:1px; background:#fff; width:auto; position:absolute; bottom:30px}
.block-card a.more:hover { color:#B40070}

.block-card .btn { position:absolute; left:0; top:0; width:100%; height:100%; z-index:5; opacity: 0;display:block;}

/* -- Shop Grid -- */
.shops  { margin-top:-40px}
.shops .box:nth-child(odd) .block-card .inner { left:0}
.shops .box:nth-child(odd) .block-card:before {left:-100%}
.shops .box:nth-child(odd) .block-card a.more:before {left:0;right:30px}

.shops .box:nth-child(even) .block-card .inner { right:0}
.shops .box:nth-child(even) .block-card:before { right:-100%}
.shops .box:nth-child(even) .block-card a.more:before {right:0; left:30px}

/* -- Block BlueBox -- */
.block-bluebox{ width:580px;background: #E1EFEE;background-size:cover; color:#2D3A3A; position:relative}
.block-bluebox .img{ position:absolute; right:-130px; bottom:-40px; z-index:2}
.block-bluebox h2 { color:#2D3A3A !important; font-weight: 500; font-size: 30px}
.block-bluebox .inner { padding:40px 200px 0 40px}
.block-bluebox .inner p:last-child { margin-bottom:0}

.block-bluebox .meta { padding:5px 40px 40px}
.block-bluebox .meta ul { padding-left:0; list-style:none}
.block-bluebox .meta ul li { position:relative; margin-top:30px; color: #2D3A3A;}
.block-bluebox .meta ul li:before { content:""; height:1px; width:100%; background:#E6E6E6; position:absolute; bottom:-5px; right:-100%}
.block-bluebox .meta ul li a { text-decoration:none; text-transform:uppercase; display:block; position:relative; color: #B40070; font-weight: 500}
.block-bluebox .meta ul li a:before { content:""; height:1px; width:100%; background:#B40070; position:absolute; bottom:-5px; left:0}
.block-bluebox .meta ul li a:hover {}

/* -- Block Angebote-- */
.block-offer {background-size: cover; background-repeat: no-repeat;position:relative; margin-bottom:40px}
.block-offer:after {content: ".";display: block;clear: both;visibility: hidden;line-height: 0;	height: 0;}
.block-offer.hasBtn .inner:before { content:""; height:1px; background:#E6E6E6; width:100%; position:absolute; bottom:30px}
.block-offer .img { width: 40%; position: absolute; z-index: 3; height: 100%;  }
.block-offer .img img {position: relative; /*top: -20px*/}

.block-offer .img .label {
	position: absolute; top: 40px; text-transform: uppercase; color: #2D3A3A; padding: 5px 10px; z-index: 2;font-weight: bold;
	background: rgba(255,255,255,0.9);

}

.block-offer.inbox .img {overflow: hidden;}
.block-offer.inbox .img img { position: absolute; min-width: 100%; min-height: 100%; width: auto !important; height: auto !important; max-height: 100%;}

.box:nth-child(odd) .block-offer .img {left:0}
.box:nth-child(odd) .block-offer .img .label {left:0}
.box:nth-child(odd) .block-offer .img img {float:right}
.box:nth-child(odd) .block-offer.inbox .img img {float:none}
.box:nth-child(odd) .block-offer .inner { margin-left: 40%}
.box:nth-child(odd) .block-offer .inner:before {left:-100%}
.box:nth-child(odd) .block-offer a.more:before {left:0;right:30px}
.box:nth-child(odd) .block-offer.white .img{ margin: -3px 0 -3px -3px }

.box:nth-child(even) .block-offer .img {right:0}
.box:nth-child(even) .block-offer .img .label {right:0}
.box:nth-child(even) .block-offer .img img {float:left}
.box:nth-child(even) .block-offer.inbox .img img {float:none}
.box:nth-child(even) .block-offer .inner { margin-right: 40%}
.box:nth-child(even) .block-offer .inner:before { right:-100%}
.box:nth-child(even) .block-offer a.more:before {right:0; left:30px}
.box:nth-child(even) .block-offer.white .img{ margin: -3px -3px -3px 0 }

.block-offer .inner{ padding: 30px;position: relative;z-index: 2;}
.block-offer .inner p:last-child {margin-bottom: 0}
.block-offer .inner p small { font-size: 12px; line-height: 18px;color: #2D3A3A}
.block-offer .note { color: #2D3A3A}

.block-offer a.more { text-transform:uppercase; text-decoration:none; letter-spacing:3px; display:block; font-size:13px; padding-bottom:5px; font-weight:500}
.block-offer a.more:before {content:""; height:1px; background:#fff; width:auto; position:absolute; bottom:30px}
.block-offer a.more:hover { color:#2D3A3A}

.block-offer.white {border: 3px solid #F2F2F2}
.block-offer.white h3 { color:#2D3A3A; font-weight: 500; font-size: 30px}
.block-offer.white a.more{color:#2D3A3A}
.block-offer.white a.more:before {content:""; height:1px; background:#2D3A3A; width:auto; position:absolute; bottom:30px}
.block-offer.white a.more:hover { color:#2D3A3A}

.block-offer.blue { background-color:#2D3A3A; color: #fff}
.block-offer.blue h3 {color:#fff; font-weight: 500; font-size: 30px}
.block-offer.blue p {color:#fff}
.block-offer.blue p small {color:#fff}

.block-offer.green { background-color:#E1EFEE}
.block-offer.green h3 {color:#2D3A3A; font-weight: 500; font-size: 30px}

/* -- -- */
.greenBox { color:#fff;padding:30px; z-index:2; background:rgba(45,58,58,0.9); background-size:cover; margin-top:-30px; position:relative}
.greenBox:before {content:""; height:1px; background:#E6E6E6; width:200%; position:absolute; bottom:27px; left:-200%}
.greenBox strong { display:block; font-size:35px; font-weight:400; text-transform:uppercase; line-height:normal}
.greenBox h1 { color:#fff; font-size:60px; text-transform:uppercase; font-weight:200; line-height:60px}
.greenBox a.more { text-transform:uppercase; text-decoration:none; color:#fff; position:relative;letter-spacing:3px; font-weight:500; font-size:13px}
.greenBox a.more:hover { color:#B40070}
.greenBox a.more:before {content:""; height:1px; background:#fff; width:auto; position:absolute; bottom:-5px;right:-20px; left:-30px}

.greenBox.offers h1 { display:block; font-size:35px; font-weight:400; text-transform:uppercase; line-height:normal; margin-bottom: 0;}
.greenBox.offers h2 { color:#fff; font-size:60px; text-transform:uppercase; font-weight:200; line-height:60px}

.angebote-heading { padding-top: 100px; padding-bottom: 20px}
.angebote-heading h2 { color: #2D3A3A; font-size: 35px; line-height: 100%; font-weight: 500; position: relative; padding-bottom: 20px;}
.angebote-heading h2:before {content:""; width: 200%; height: 1px; bottom: 0; right: 0; background: #E6E6E6; position: absolute;}

/* -- Spalten Layout -- */
.row {}
.row .lft,
.row .mid,
.row .rt { float:left}

.twoCols {}
.twoCols .lft,
.twoCols .rt { width:50%}

.textCols.twoCols .lft { padding-right:20px}
.textCols.twoCols .rt { padding-left:20px}

.shopHead { margin-bottom:50px}
.shopHead.twoCols .lft { padding-right:20px}
.shopHead.twoCols .rt { padding-left:20px; padding-top:30px}
.shopHead.twoCols .rt a.more { color:#B40070; text-transform:uppercase; display:block; position:relative;text-decoration:none; letter-spacing:3px; font-size:13px; font-weight:500}
.shopHead.twoCols .rt a.more:hover { color:#2D3A3A}
.shopHead.twoCols .rt a.more:before {content:""; height:1px; width:200%; background:#B40070; position:absolute; left:0; bottom:-5px; }

.shopHead.twoCols address { font-style:normal; margin-bottom:15px}
.shopHead.twoCols p { margin-bottom:15px;}

.shopDesc { margin-bottom:50px}
.shopDesc h2 {color:#2D3A3A; font-weight:500; margin-bottom:20px; font-size:35px;}
.shopDesc.twoCols .lft { padding-right:20px}
.shopDesc.twoCols .rt { padding-left:20px; }

.shopDesc .lft ul {  list-style:none; padding-left:30px}
.shopDesc .lft ul li { margin-bottom:10px; padding-left:30px; position:relative}
.shopDesc .lft ul li:before{ content:""; background:#B40070; width: 10px;height: 10px; position:absolute; left:0; top:7px}

.shopDesc ul.shop-hours { padding-left:0; list-style:none}
.shopDesc ul.shop-hours li { margin-bottom:10px}
.shopDesc ul.shop-hours li strong{ color:#B40070; font-weight:500; display:block}

.logobg.offer .rt img {right:-70px}
/* -- Grid System -- */
.grid .box{ float:left;}
.grid.two .box { width:50%}
.grid.two .box:nth-child(odd) { padding-right:20px;}
.grid.two .box:nth-child(even) { padding-left:20px}
.grid.three .box { width:33.3%}

.grid.three .box:nth-child(3n-2) { padding-right:15px}
.grid.three .box:nth-child(3n-1) { padding-left:10px; padding-right:10px}
.grid.three .box:nth-child(3n) { padding-left:15px}

/* -- Selectbox Replacement -- */
.nice-select {
	-webkit-tap-highlight-color: transparent;background-color: #E1EFEE;cursor: pointer;display: block;
	font-size: 14px;font-weight: normal;height: 48px;line-height: 48px;outline: none;
	padding-left: 18px;padding-right: 30px;position: relative;text-align: left !important;
	transition: all 0.2s ease-in-out;
	user-select: none;white-space: nowrap;
}
.nice-select:hover {border-color: #dbdbdb; }
.nice-select:active,
.nice-select.open,
.nice-select:focus {border-color: #999; }

.formError .nice-select {border:1px solid red; }

.nice-select:before {content:"";border: 2px solid #B40070;width: 25px;height: 25px;;position: absolute; right: 12px; top: 12px}
.nice-select:after {
	border-bottom: 2px solid #B40070;border-right: 2px solid #B40070;
	content: '';display: block;height: 10px;width: 10px;
	margin-top: -6px;pointer-events: none;position: absolute;
	right: 21px;top: 50%;
    transform-origin: 66% 66%;
	transform: rotate(45deg);
	transition: all 0.15s ease-in-out;
}
.nice-select.open:after {transform: rotate(-135deg); }
.nice-select.open .list {opacity: 1;pointer-events: auto;transform: scale(1) translateY(0); }
.nice-select.disabled {border-color: #ededed;color: #999;pointer-events: none; }
.nice-select.disabled:after {border-color: #cccccc; }

.nice-select .list {
	background-color: #E1EFEE;box-sizing: border-box;opacity: 0;overflow: hidden;padding: 0;pointer-events: none;position: absolute;top: 100%;left: 0;
	transform-origin: 50% 0; width: 100%;
	transform: scale(0.75) translateY(-21px);
	transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
	z-index: 9;
}
.nice-select .list li:first-child {display:none}
.nice-select .list:hover .option:not(:hover) {background-color: transparent !important; }
.nice-select .option {
	cursor: pointer;font-weight: 400;line-height: 40px;list-style: none;min-height: 40px;outline: none;padding-left: 18px;padding-right: 29px;text-align: left;
	transition: all 0.2s;
}
.nice-select .option:hover,
.nice-select .option.focus,
.nice-select .option.selected.focus {background-color: #BCDDDA; }
.nice-select .option.selected {font-weight: bold; }
.nice-select .option.disabled {background-color: transparent;color: #999;cursor: default; }

.no-csspointerevents .nice-select .list {display: none; }
.no-csspointerevents .nice-select.open .list {display: block; }

/* -- Formular Elemente -- */
fieldset { border:0; margin-bottom:20px;}
fieldset .formItem{ margin-bottom:15px; position:relative}
fieldset .formItem {}
fieldset .formItem.full { clear:both}
fieldset .formItem.half{ width:50%; float:left}
fieldset .formItem.half:nth-child(even) {padding-left:10px; }
fieldset .formItem.half:nth-child(odd) {padding-right:10px; }
fieldset .formItem > label{ display:none}
fieldset .formItem.formCaptcha > label{ display:block; background:#DBEAF9; float:left; padding:2px 15px; line-height:45px; width:50%}

fieldset .formItem select,
fieldset .formItem input.formText,
fieldset .formItem textarea { padding:15px; width:100%; border:1px solid #E6E6E6; font-size:15px; background:#fff}

fieldset .formItem textarea { height:185px; display:block}

fieldset .formItem select:focus,
fieldset .formItem input.formText:focus,
fieldset .formItem textarea:focus { border-color:#9F9F9F}

fieldset .formItem.formError select,
fieldset .formItem.formError input.formText,
fieldset .formItem.formError textarea { border-color:red}

fieldset .formItem input::placeholder,
fieldset .formItem textarea::placeholder{ color: #B3B3B3}

fieldset .formItem.formCaptcha input.formText {width: 50%;}

fieldset .formItem .error {
	left:10px; bottom:-32px;font-size:11px; color:red; background:#fff; padding:5px 15px; position:absolute; display:block; z-index:888;
	box-shadow:0 1px 7px rgba(0,0,0, .2);
}
fieldset .formItem .error:before {
	content:"";width: 0;height: 0;border-style: solid;border-width: 0 10px 10px 10px;
	border-color: transparent transparent #ffffff transparent; position:absolute; left:0; top:-10px;
}
fieldset .formItem.half:nth-child(even) .error {left:21px}

/* -- Radio Checkbox Replacement -- */
fieldset .formRadio { position:relative}
fieldset .formRadio input { position:absolute;opacity: 0;}

fieldset .radio-wrap label i,
fieldset .checkbox-wrap label i { display:block; width: 16px;height: 16px; border:1px solid #ddd; position:relative; float:left; margin-right:15px}

fieldset .radio-wrap.formError label i,
fieldset .checkbox-wrap.formError label i { border: 1px solid red}
/* -- Radio -- */
fieldset .radio-wrap label {}
fieldset .radio-wrap label i:before {
	content:" ";width: 8px;height: 8px; background:#666; display:block; top:3px; left:3px; position:absolute;
	opacity: 0;
}
fieldset .radio-wrap input[type=radio]:checked + label i:before {opacity: 1;}
fieldset .formRadio i:before,
fieldset .formRadio i:after {
	transition: transform 350ms cubic-bezier(0.2, 1, 0.3, 1), opacity 350ms cubic-bezier(0.2, 1, 0.3, 1);
}

/* -- Newsletter -- */
fieldset.newsletter .formItem.half:nth-child(even) {padding-left:0;padding-right:10px; }
fieldset.newsletter .formItem.half:nth-child(odd) {padding-right:0;padding-left:10px; }
fieldset.newsletter .formItem.formCaptcha {clear: both}

/* -- Checkbox -- */
fieldset .checkbox-wrap label i:before,
fieldset .checkbox-wrap label i:after {
	content:" ";width: 8px;height: 2px; background:#666; display:block; top:50%; left:50%; position:absolute; margin-left:-4px; margin-top:-1px;
	opacity: 0;
}
fieldset .checkbox-wrap label i:before {transform: rotate(45deg);}
fieldset .checkbox-wrap label i:after {transform: rotate(-45deg);}

fieldset .checkbox-wrap input[type=checkbox]:checked + label i:before,
fieldset .checkbox-wrap input[type=checkbox]:checked + label i:after {opacity: 1;}

/* -- Form Submit Button -- */
.formSubmit { border:0; background:#B40070; padding:10px 15px; font-size:13px; font-weight: 500; letter-spacing: 3px; color:#fff; cursor:pointer; width:100%; text-transform:uppercase}

/* -- Routenplaner -- */
fieldset.routenplaner { margin-bottom:0}
fieldset.routenplaner h3 { color:#2D3A3A; font-weight:500; font-size:24px}
fieldset.routenplaner .formItem { float:left; width:316px; margin-bottom:0;}
fieldset.routenplaner .formSubmit { height:48px; width:162px; margin-left:20px}
fieldset.routenplaner .formItem .error{ bottom:50px;}
fieldset.routenplaner .formItem .error:before{border-width: 10px 10px 0 10px;border-color: #fff transparent transparent transparent; top:auto; bottom:-10px}

/* -- Footer -- */
#footer { padding: 20px 30px; color:#BCD100; text-transform:uppercase}
#footer p.copy { margin:0; padding:0;}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */

.animated {animation-duration: 1s;animation-fill-mode: both;}
.animated.infinite {animation-iteration-count: infinite;}
.animated.hinge {animation-duration: 2s;}

@keyframes fadeInLeft {
	from {opacity: 0;transform: translate3d(-100%, 0, 0);  }
	to {opacity: 1;transform: none;  }
}
.fadeInLeft {animation-name: fadeInLeft;}

@keyframes fadeInRight {
	from {opacity: 0;transform: translate3d(100%, 0, 0);  }
	to {opacity: 1;transform: none;  }
}
.fadeInRight {animation-name: fadeInRight;}

@keyframes fadeInUp {
	from {opacity: 0;transform: translate3d(0, 100%, 0);  }
	to {opacity: 1;transform: none;  }
}
.fadeInUp {animation-name: fadeInUp;}


/* -------------------------------
*	Modal Content
* -----------------*/
button.modal-close { letter-spacing: 3px; text-transform:uppercase; color:#B40070; font-size:13px; font-weight: 500; padding:10px 30px 10px 0; background:transparent; border:0; position:relative; float:right; right:-30px; z-index:6}
button.modal-close:before {content:""; position:absolute; left:0; bottom:0; width:auto; height:1px; right:0; background:#B40070}
button.modal-close:hover {color:#2D3A3A}

.modalContent-wrap { display:none}

.modalContent { text-align:left; font-size:24px; height:80vh}
.modalContent address { font-style:normal; margin-bottom:15px}
.modalContent p { margin-bottom:15px; font-size: 15px}
.modalContent span,
.modalContent a { font-size: 15px}
.modalContent h2 { text-transform:uppercase; color:#2D3A3A; font-size:35px; margin-bottom:30px; font-weight:200}
.modalContent h3 { font-size:24px; color:#2D3A3A; margin-bottom:30px; font-weight:400}
.modalContent .content-wrap { overflow:auto; height:calc(80vh - 87px); max-height: 650px}
.modalContent .row{ display:table; width:100%; table-layout:fixed;}
.modalContent .row:after { display:none}

.modalContent .row .lft,
.modalContent .row .rt { float:none; display:table-cell; vertical-align: top}

.modalContent .row .lft {  overflow:hidden; background-size:cover; background-position:center}
.modalContent .row .rt { padding:30px}
.modalContent .shop {color:#2D3A3A; font-size:24px; font-weight:normal}

/* -- Impressum -- */
.privacy-policy.modalContent,
.impressum.modalContent,
.legal-information.modalContent,
.datenschutz.modalContent{ padding:30px}

.impressum.modalContent .content-wrap,
.legal-information.modalContent .content-wrap,
.privacy-policy.modalContent .content-wrap { height:calc(80vh - 144px); }

.modalContent.datenschutz .content-wrap { height:calc(80vh - 184px); }

.modalContent.impressum .content-wrap {}

.impressum.modalContent .content-wrap {
	column-count: 2;
	column-gap: 25px;
}
/* -- Kontakt -- */
.kontakt .lft img { /*margin:-30px 0 -30px -30px;*/ display:block; height: 100% !important; width: 100% !important; object-fit: cover}
.kontakt.modalContent { height:auto}
.kontakt.modalContent .content-wrap { height:calc(80vh - 70px);}
.kontakt.modalContent fieldset.contact-form {overflow: hidden}
/* -- Newsletter -- */
fieldset.newsletter {margin-bottom:0}

.newsletter .lft { padding: 30px}
.newsletter .lft img { /*margin:-30px 0 -30px -30px;*/  width: 100% !important; height: auto; display:block}
.newsletter.modalContent { height:auto}
.newsletter.modalContent .content-wrap {height:auto}

/* -- Cookiebar -- */
.cookie-bar {position: fixed; z-index: 999; background: #2D3A3A; font-size:14px; left: 0; bottom: 0; right:0; color: #fff; padding: 20px}
.cookie-bar .inner {text-align: left}
.cookie-bar a {color: #fff; text-decoration: none; font-weight: bold}
.cookie-bar .btn-wrap {float:right; margin: -5px 0 -5px 10px;}
.cookie-bar a.btnMore {	display: inline-block; font-weight: bold; margin-left: 20px; color: #fff;background: #B40070; padding: 5px 15px; }
.cookie-bar p {margin:0; float: left; color: #fff}

@media screen and (max-width: 1210px){
	.cookie-bar p {float:none; margin-bottom: 10px; text-align: center}
	.cookie-bar .btn-wrap {float: none; text-align: center; margin: 0 }
	.cookie-bar .btn-wrap a{ margin-top: 20px}
}
/* -- Radio Checkbox Replacement -- */
fieldset .formRadio { position:relative;}
fieldset .formRadio input { position:absolute;opacity: 0;}

fieldset .checkbox-wrap label i {
	display:block; width: 49px;height: 49px; position:relative; float:left; margin-right:15px;
	border: 1px solid #F2F2F2;color: #666;background-color: #F2F2F2;
}
fieldset .checkbox-wrap label span {font-family: 'Lato', sans-serif; display: block; padding: 13px 0}

/* -- Checkbox -- */
fieldset .formRadio i:before,
fieldset .formRadio i:after {
	transition: transform 350ms cubic-bezier(0.2, 1, 0.3, 1), opacity 350ms cubic-bezier(0.2, 1, 0.3, 1);
}

fieldset .checkbox-wrap label { display: block}
fieldset .checkbox-wrap label i:before,
fieldset .checkbox-wrap label i:after {
	content:" ";width: 30px;height: 1px; background:#666; display:block; top:50%; left:50%; position:absolute; margin-left:-15px; margin-top:-1px;
	opacity: 0;
}
fieldset .checkbox-wrap label i:before {transform: rotate(45deg);}
fieldset .checkbox-wrap label i:after {transform: rotate(-45deg);}

fieldset .checkbox-wrap input[type=checkbox]:checked + label i:before,
fieldset .checkbox-wrap input[type=checkbox]:checked + label i:after {opacity: 1;}

/* -------------------------------
*	Pages
* -----------------*/

/* -- Startseite -- */
.front {}

/* -- Kontakt -- */
.contact {}


/* -- Wiederverwendabr-- */
.fltrt {float: right;}
.fltlft {float: left;}
.clearfix:after {content: ".";display: block;clear: both;visibility: hidden;line-height: 0;	height: 0;}

@media print {
	* { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; }
	a, a:visited { text-decoration: underline; }
	a[href]:after { content: " (" attr(href) ")"; }
	abbr[title]:after { content: " (" attr(title) ")"; }
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
	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; }
	@page { margin: 0.5cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0 !important;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
