/*! normalize.css v1.1.2 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:0.9em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

 /* ==========================================================================
   HTML5 Boilerplate styles - h5bp.com (generated via initializr.com)
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}
ul,li{
	padding:0;margin:0;
}
body {
    font-size: 1em;
    line-height: 1.4;
}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}
::selection {
    background: #b3d4fc;
    text-shadow: none;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
img {
    vertical-align: middle;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
textarea {
    resize: vertical;
}
.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
.mask{
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:#000;
	opacity:0;
	visibility: hidden;
	pointer-events:none;
	cursor:pointer;
}
.mask.show{
	opacity: .5;
    pointer-events: auto;
    visibility: visible;
    z-index: 5;
}
/* flickity */

/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  display:none;/*
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;*/
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/* Flickity fullscreen v1.0.1
------------------------- */

.flickity-enabled.is-fullscreen {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #eae7d7;
  padding-bottom: 35px;
  z-index: 1;
}

.flickity-enabled.is-fullscreen .flickity-page-dots {
  bottom: 10px;
}

.flickity-enabled.is-fullscreen .flickity-page-dots .dot {
  background: white;
}

/* prevent page scrolling when flickity is fullscreen */
html.is-flickity-fullscreen {
  overflow: hidden;
}

/* ---- flickity-fullscreen-button ---- */

.flickity-fullscreen-button {
  display: block;
  right: 10px;
  top: -30px;
  width: 24px;
  height: 24px;
  border-radius: 4px;
}
.carousel.is-fullscreen .flickity-fullscreen-button {
  top: 10px;
}
/* right-to-left */
.flickity-rtl .flickity-fullscreen-button {
  right: auto;
  left: 10px;
}

.flickity-fullscreen-button-exit { display: none; }

.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit { display: block; }
.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view { display: none; }

.flickity-fullscreen-button .flickity-button-icon {
  position: absolute;
  width: 16px;
  height: 16px;
  left: 4px;
  top: 4px;
}
.carousel.is-fullscreen img {
  display:none;
}
.carousel.is-fullscreen .cell {
  width: 100%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}
.carousel:not(.is-fullscreen) .flickity-fullscreen-button{
  display:none;
}

/* ==========================================================================
   custom styles
   ========================================================================== */
html,body{
  background: #eae7d7;
  color:#eee;
}
#gallery{
  background: #eae7d7;
  color: #e6998f;
  /*max-width:1440px;*/
  width:100%;
  margin:0 auto;
  padding: 8em 0;
}
#gallery h1{
  margin:1em 0;
  text-align: center;
  font-size: 3em;
font-weight: 100;
}
footer{
  background:#2f2f2f;
  color:#777;
  position: relative;
  width:100%;
  padding:2em;

/*  background: #e6998f;
  color: #a1e9e8;*/

}
footer h3{
  margin:0;
  padding:0;
}
footer a{
  color: #848484;
}
footer svg path{
  fill: #848484 !important;
}

.logo{
  margin: 0 auto;
  display: table;
  padding: 1em 1em 0 1em;
  top:0;
  position: relative;
}
.logo:hover{
  letter-spacing: 1px;
}
.logo svg{
	height:75px;
	width:115px;
}
.right{
  float:right;
  opacity:0.4;
}
   .carousel .cell {
     display: block;
     height: 200px;
     margin: 20px;
   }
   .carousel img {
     height: 100%;
     width:auto;
   }

   @media screen and ( min-width: 768px ) {
     .carousel .cell {
       height: 400px;
     }
     footer{
       text-align: center;
     }
     footer > *{
       display: block;
float: none !important;
margin-bottom:1em;
     }
   }

   .header-video {
     position: relative;
     overflow: hidden;
     width:100%;
     height:100%;
     background:#fff;
   }
   .header-video #logo{
     height:75px;
     width:115px;
     z-index: 1;
   }

   .pulsating-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 190px;
  height: 190px;
}
   .pulsating-circle:before {
     content: '';
     position: relative;
     display: block;
     width: 150%;
     height: 150%;
     box-sizing: border-box;
     margin-left: -25%;
     margin-top: -25%;
     border-radius: 190px;
     background-color: #a1e9e8;
     animation: pulse-ring 2.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
   }

   .pulsating-circle:after {
     content: '';
     position: absolute;
     left: 0;
     top: 0;
     display: block;
     width: 100%;
     height: 100%;
     background-color: #e6998f;
     border-radius: 190px;
     /*box-shadow: 0 0 8px rgba(0,0,0,.3);*/
     animation: pulse-dot 2.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite;
   }
   .header-video #logo:hover + .pulsating-circle:after{
     content: '';
     position: absolute;
     display: block;
     width: 200%;
     height: 200%;
     box-sizing: border-box;
     margin-left: -50%;
     margin-top: -50%;
     border-radius: 100%;
     background-color: #a1e9e8;
animation: none;
    /* width: 200%;
     height: 200%;
     margin-left: -50%;
     margin-top: -50%;*/
   }
   .header-video #logo:hover + .pulsating-circle:after{
     -webkit-animation-play-state:paused;
  -moz-animation-play-state:paused;
  -o-animation-play-state:paused;
  animation-play-state:paused;
/*
     width: 150%;
     height: 150%;
     margin-left: -25%;
     margin-top: -25%;*/
   }


   .header-video #logo:hover{
     height:100px;
     width:154px;
     cursor:pointer;
   }



@keyframes pulse-ring {
  0% {
    transform: scale(.33);
  }
  50%{
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}

@keyframes pulse-dot {
  0% {
    transform: scale(.8);
  }
  50% {
    transform: scale(1);
  }
  100% {
    transform: scale(.8);
  }
}



#casalogomarco .marco{
  fill:#a1e9e8;
}
.header-video #logo:hover #casalogomarco .marco{
  fill:#e6998f;
}

body > header.header-video{
  background: #e6998f;
}
.header-video.playing{
  background:#000;
}
   .header-video.playing video{
     /*visibility: visible;*/
     opacity:1;
     pointer-events: auto;
   }
   .header-video.playing .pulsating-circle,
   .header-video.playing #logo{
     display:none;
   }

   .scrollHint,
   .is-flickity-fullscreen .videoFinished .scrollHint{
     display: none;
   }
body{
  position: fixed; overflow-y:scroll;
  width:100%;
}
body.videoFinished{
  overflow: auto;
  position:inherit;
}
.videoFinished .scrollHint{
  display: block;
  width: 100px;
  height: 100px;
  z-index: 2;
  position: absolute;
  cursor:pointer;
  bottom: 0;
  left: 50%;
  right: 0;
  transform: translate(-50%,-4%);
}


.arrows {
	width: 60px;
	height: 75px;
	position: absolute;
	left: 50%;
	margin-left: -30px;
	bottom: 20px;
}

.arrows path {
	stroke: #a1e9e8;
	fill: transparent;
	stroke-width: 2px;
	animation: arrow 3s infinite;
	-webkit-animation: arrow 3s infinite;
}

@keyframes arrow
{
0% {opacity:0}
40% {opacity:1}
80% {opacity:0}
100% {opacity:0}
}

@-webkit-keyframes arrow /*Safari and Chrome*/
{
0% {opacity:0}
40% {opacity:1}
80% {opacity:0}
100% {opacity:0}
}

.arrows path.a1 {
	animation-delay:-1s;
	-webkit-animation-delay:-1s; /* Safari 和 Chrome */
}

.arrows path.a2 {
	animation-delay:-0.5s;
	-webkit-animation-delay:-0.5s; /* Safari 和 Chrome */
}

.arrows path.a3 {
	animation-delay:0s;
	-webkit-animation-delay:0s; /* Safari 和 Chrome */
}




   .header-video iframe,
   .header-video video,
   .header-video img,
   .header-video #logo{
     position: absolute;
     top: 50%;
     bottom: 0;
     left: 50%;
     right: 0;
     transform: translate(-50%,-50%);
   }

   .header-video iframe {
     height: 100%;
     width: 100%;
   }

   .header-video video {
     width: 100%;
     /*visibility:hidden;*/
     opacity:0;
     pointer-events: none;
   }

   .header-video__teaser-video {
     width: 100%;
     height: auto;
   }

   .header-video__media {
     width: 100%;
     height: auto;
   }

   /* ==========================================================================
      system styles
      ========================================================================== */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border:none;
}
body {
  font-family: Helvetica, Arial, sans-serif;
  font-weight:400;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;

}
h1,
h2,
h3,
h4,button,input,select {
  font-family: Helvetica, Arial, sans-serif;
}
a:hover, a:active, a:focus, object, embed {
  outline: 0;
}
a{
	color: #00a9ff;
	text-decoration: none;
}
a:hover{
	color: #888;
}
html,
body {
   margin:0;
   padding:0;
   height:100%;
}
body.freeze{
	 overflow: hidden;
}
.contentWidth{
	width:100%;
	max-width:1440px;
	padding:1em;
	margin:0 auto;
}
dd{
	margin:0 0 1em;
}
.hide{
	display:none;
}




.allow-cookie-message{
  max-width: 400px;
  position:fixed;
  top:50%;
  left:50%;
  background:#ccc;
  padding:2em;
  z-index:6;
  line-height: 1.4;
  -moz-transform: translateX(-50%) translateY(-50%);
-webkit-transform: translateX(-50%) translateY(-50%);
-o-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
.allow-cookie-message h4{
  margin-top:.2em;
}
.allow-cookie-message button{
  width:100%;
  margin:0 0 .5em;
}
.view-datenschutz ul{
margin:0 0 1em;
padding: 0 0 0 1em;
}
.view-datenschutz ul li{
  margin:.3em 0 0 ;
}
.view-datenschutz h3{
  margin: 3em 0 0 0;
}
.view-datenschutz #maincontainer p{
  margin:1em 0 0em;
}

#modalbox{
	display:block;
	width:90%;
	max-width:1200px;
	height:90vh;
	position:fixed;
	top:5vh;
	left:50%;
	background: #444;
	overflow: hidden;
	z-index: 10;
	-moz-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-o-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translateX(-50%);
}
#modalbox.hide{
	display:none;
}
#modalbox.small{
	max-width:400px;
  max-height:400px;
  top:50%;
  left:50%;
  -moz-transform: translateX(-50%) translateY(-50%);
-webkit-transform: translateX(-50%) translateY(-50%);
-o-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
#modalbox #imgBox,
#modalbox #imgBoxSimple{
	position:absolute;
	top:130px;
	bottom:70px;
	left:10px;
	right:10px;
	overflow-y:auto;
	text-align: center;
}
#modalbox h2{
	background: #fff;
text-align: center;
padding: 1em 0 0.4em;
margin: 0;

}
#modalbox p.info{
	background: #fff;
text-align: center;
padding: 0 0 1em 0;
margin: 0;
border:none;
}
#modalbox li{
	display:inline-block;
}
.view-admin #modalbox .singleImg{
	display: block;
width: 100%;
height: 100%;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
position: relative;
overflow: hidden;
}
#modalbox .modalButtons button,
.view-confirm input[type="submit"],
.view-confirm input[type="reset"],
.view-login input[type="submit"]{
	padding: .6em 2em;
border-radius: 2em;
background-color: #00a9ff;
border: none;
margin: 0 .2em .3em;
}
#modalbox .modalButtons button.cancel,
.view-confirm input[type="reset"]{
background-color: #b7b7b7;
padding: .6em 1em;
}
#modalbox .modalButtons .count{
	margin-right:1em;
}
#modalbox #imgBox img,
#modalbox #imgBoxSimple img{
	width:220px;
	height:auto;
	cursor:pointer;
}
#modalbox #imgBox img.use{
	opacity:0.5;
	background:#c25;
}
#modalbox .modalButtons{
	position: absolute;
bottom: 10px;
right: 10px;
background: #444;
width: 100%;
text-align: right;
padding: 14px 0 0;
color: #fff;
}
#modalbox #chooseLayout{
	text-align:center;
}
#modalbox #chooseLayout img{
	width:220px;
	height:auto;
}

#modalbox #imgBoxMulti table img{
	width:200px;
	height:auto;
}
#modalbox #linkBox{
  position:absolute;
  top:10px;
  bottom:50px;
  left:10px;
  right:10px;
  overflow-y:auto;
  text-align: center;
}

/* ANIMATION */
a,
.header-video #logo,
.pulsating-circle:before,
.pulsating-circle:after,
.header-video,
.header-video video
{
-webkit-transition: all .3s ease;
-moz-transition: all .3s ease;
-ms-transition: all .3s ease;
-o-transition: all .3s ease;
transition: all .3s ease;
}





/* ==========================================================================
   Media Queries
   ========================================================================== */

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

}

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

}

@media only screen and (min-width: 600px) and (max-width: 1035px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {

}

@media only screen and (max-width: 600px) and (-ms-high-contrast: none), (-ms-high-contrast: active) {

}




/*@media only print and (-o-min-device-pixel-ratio: 5/4),
       only print and (-webkit-min-device-pixel-ratio: 1.25),
       only print and (min-resolution: 120dpi) {*/
@media print {
    body{
    	font-size:14px;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

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

@media print {
    * {

        color: #222 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }
    *:not(.videoPlaceholder){
    	background: transparent !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

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

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

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

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

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

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

    @page {
        margin: 1.7cm 0.8cm;
    }

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

    h2,
    h3 {
        page-break-after: avoid;
    }
}
