/*! $Id: zpgrid.less 80329 2019-09-30 14:57:07Z devops_admin $ */

/* Sanitize and default Values in case #val() Values from ZPp are empty or not plain numbers */
/* BEGIN ZP 12 Grid Style */

div.zpRow {
  margin-bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
div.zpRow div.zpColumn img.singleImage {
  max-width: 100% !important;
  height: auto !important;
  display: inline-block;
}
div.zpRow div.zpColumn .zpImageGallery img.singleImage {
  display: block;
}
div.zpRow div.zpColumn .zpImageGallery a.fancybox {
  max-width: 100%;
  /* Bugfix to keep image responsive in IE11 */

}
div.zpRow div.zpColumn div.zpColumnItem {
  display: block;
  float: left;
  padding: 0;
}
/* END ZP 12 Grid Style */

/* *** Global Rules applying to all Layouts ***/

/* break long words in headlines by default, so they don't destroy the layout, in case a layout doesn't activate hyphenation */

h1,
h2,
h3,
h4,
h5,
h6,
a,
.zphyphenate {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.zphyphenate {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-limit-lines: 2;
  -moz-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-lines: 2;
  hyphenate-limit-lines: 2;
  -webkit-hyphenate-limit-chars: auto 3;
  -moz-hyphenate-limit-chars: auto 3;
  -ms-hyphenate-limit-chars: auto 3;
  hyphenate-limit-chars: auto 3;
}
/* flex-slider general overrides */

.flex-direction-nav .flex-disabled {
  opacity: 0 !important;
  filter: alpha(opacity=0);
  cursor: default;
  z-index: -1;
}
/* more responsive iFrames and iFrame Containers */

iframe,
object,
embed,
.zpwIFrame,
.zpwFacebook_Like-Button,
.zpwFacebook_Like-Box,
div.fb-like {
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
iframe {
  border: 0;
}
/* Remove eventual borders from 1px images and images in special parents with classes */

img[width="1px"],
img[width="1"],
.plain > img,
.noborder > img,
img.plain,
img.noborder,
.zpwBild.plain a,
.zpwBild.noborder a,
.zpwBild.plain a > img,
.zpwBild.noborder a > img {
  border: none !important;
  box-shadow: none !important;
}
ol.zpBreadcrumbs,
#breadcrumb ol.zpBreadcrumbs,
.breadcrumb ol.zpBreadcrumbs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline;
}
ol.zpBreadcrumbs li,
#breadcrumb ol.zpBreadcrumbs li,
.breadcrumb ol.zpBreadcrumbs li {
  list-style: none;
  display: inline;
}
ol.zpBreadcrumbs span:not(.divider),
#breadcrumb ol.zpBreadcrumbs span:not(.divider),
.breadcrumb ol.zpBreadcrumbs span:not(.divider) {
  color: inherit;
}
/* *** End Global Rules applying to all Layouts ***/

/* ADDED StS ZP 13 Grid */

div.zpRow .zpColumn,
.zpColumnItem {
  box-sizing: border-box;
  /* IE Bugfix */
  max-width: 100%;
  /* IE Bugfix */

}
.zpColumnItem {
  width: 100%;
  /* fill enclosing zpColumn, so inline editing resizing refletcs the column and not the columnItem */

}
div.zpRow .zpColumn {
  padding: 0 15px;
}
div.zpRow .zpFakeColumn.flexbreak {
  visibility: hidden;
  width: 100% !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* ***** 12-column grid ***** */

.c1,
.c2,
.c4,
.c5,
.c6,
.c7,
.c8,
.c9,
.c10,
.c11,
.c12 {
  box-sizing: border-box;
}
div.zpRow .zpColumn.c12,
.zpColumnItem.c12,
.zp-form .c12,
.zpgrid .c12 {
  float: left;
  width: 100%;
}
div.zpRow .zpColumn.c11,
.zpColumnItem.c11,
.zp-form .c11,
.zpgrid .c11 {
  float: left;
  width: 91.666666667%;
}
div.zpRow .zpColumn.c10,
.zpColumnItem.c10,
.zp-form .c10,
.zpgrid .c10 {
  float: left;
  width: 83.333333333%;
}
div.zpRow .zpColumn.c9,
.zpColumnItem.c9,
.zp-form .c9,
.zpgrid .c9 {
  float: left;
  width: 75%;
}
div.zpRow .zpColumn.c8,
.zpColumnItem.c8,
.zp-form .c8,
.zpgrid .c8 {
  float: left;
  width: 66.666666667%;
}
div.zpRow .zpColumn.c7,
.zpColumnItem.c7,
.zp-form .c7,
.zpgrid .c7 {
  float: left;
  width: 58.333333333%;
}
div.zpRow .zpColumn.c6,
.zpColumnItem.c6,
.zp-form .c6,
.zpgrid .c6 {
  float: left;
  width: 50%;
}
div.zpRow .zpColumn.c5,
.zpColumnItem.c5,
.zp-form .c5,
.zpgrid .c5 {
  float: left;
  width: 41.666666667%;
}
div.zpRow .zpColumn.c4,
.zpColumnItem.c4,
.zp-form .c4,
.zpgrid .c4 {
  float: left;
  width: 33.333333333%;
}
div.zpRow .zpColumn.c3,
.zpColumnItem.c3,
.zp-form .c3,
.zpgrid .c3 {
  float: left;
  width: 25%;
}
div.zpRow .zpColumn.c2,
.zpColumnItem.c2,
.zp-form .c2,
.zpgrid .c2 {
  float: left;
  width: 16.666666667%;
}
div.zpRow .zpColumn.c1,
.zpColumnItem.c1,
.zp-form .c1,
.zpgrid .c1 {
  float: left;
  width: 8.333333333%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c1,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c1,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c1,
.zparea[data-numcolumns="8"] .zpColumnItem.c1,
.zpgrid[data-numcolumns="8"] .zp-form .c1,
.zparea[data-numcolumns="8"] .zp-form .c1,
.zpgrid[data-numcolumns="8"] .zpgrid .c1,
.zparea[data-numcolumns="8"] .zpgrid .c1,
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c2,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c2,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c2,
.zparea[data-numcolumns="8"] .zpColumnItem.c2,
.zpgrid[data-numcolumns="8"] .zp-form .c2,
.zparea[data-numcolumns="8"] .zp-form .c2,
.zpgrid[data-numcolumns="8"] .zpgrid .c2,
.zparea[data-numcolumns="8"] .zpgrid .c2 {
  float: left;
  width: 12.5%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c3,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c3,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c3,
.zparea[data-numcolumns="8"] .zpColumnItem.c3,
.zpgrid[data-numcolumns="8"] .zp-form .c3,
.zparea[data-numcolumns="8"] .zp-form .c3,
.zpgrid[data-numcolumns="8"] .zpgrid .c3,
.zparea[data-numcolumns="8"] .zpgrid .c3 {
  float: left;
  width: 25%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c4,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c4,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c4,
.zparea[data-numcolumns="8"] .zpColumnItem.c4,
.zpgrid[data-numcolumns="8"] .zp-form .c4,
.zparea[data-numcolumns="8"] .zp-form .c4,
.zpgrid[data-numcolumns="8"] .zpgrid .c4,
.zparea[data-numcolumns="8"] .zpgrid .c4,
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c5,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c5,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c5,
.zparea[data-numcolumns="8"] .zpColumnItem.c5,
.zpgrid[data-numcolumns="8"] .zp-form .c5,
.zparea[data-numcolumns="8"] .zp-form .c5,
.zpgrid[data-numcolumns="8"] .zpgrid .c5,
.zparea[data-numcolumns="8"] .zpgrid .c5 {
  float: left;
  width: 37.5%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c6,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c6,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c6,
.zparea[data-numcolumns="8"] .zpColumnItem.c6,
.zpgrid[data-numcolumns="8"] .zp-form .c6,
.zparea[data-numcolumns="8"] .zp-form .c6,
.zpgrid[data-numcolumns="8"] .zpgrid .c6,
.zparea[data-numcolumns="8"] .zpgrid .c6 {
  float: left;
  width: 50%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c7,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c7,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c7,
.zparea[data-numcolumns="8"] .zpColumnItem.c7,
.zpgrid[data-numcolumns="8"] .zp-form .c7,
.zparea[data-numcolumns="8"] .zp-form .c7,
.zpgrid[data-numcolumns="8"] .zpgrid .c7,
.zparea[data-numcolumns="8"] .zpgrid .c7,
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c8,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c8,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c8,
.zparea[data-numcolumns="8"] .zpColumnItem.c8,
.zpgrid[data-numcolumns="8"] .zp-form .c8,
.zparea[data-numcolumns="8"] .zp-form .c8,
.zpgrid[data-numcolumns="8"] .zpgrid .c8,
.zparea[data-numcolumns="8"] .zpgrid .c8 {
  float: left;
  width: 62.5%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c9,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c9,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c9,
.zparea[data-numcolumns="8"] .zpColumnItem.c9,
.zpgrid[data-numcolumns="8"] .zp-form .c9,
.zparea[data-numcolumns="8"] .zp-form .c9,
.zpgrid[data-numcolumns="8"] .zpgrid .c9,
.zparea[data-numcolumns="8"] .zpgrid .c9 {
  float: left;
  width: 75%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c10,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c10,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c10,
.zparea[data-numcolumns="8"] .zpColumnItem.c10,
.zpgrid[data-numcolumns="8"] .zp-form .c10,
.zparea[data-numcolumns="8"] .zp-form .c10,
.zpgrid[data-numcolumns="8"] .zpgrid .c10,
.zparea[data-numcolumns="8"] .zpgrid .c10,
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c11,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c11,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c11,
.zparea[data-numcolumns="8"] .zpColumnItem.c11,
.zpgrid[data-numcolumns="8"] .zp-form .c11,
.zparea[data-numcolumns="8"] .zp-form .c11,
.zpgrid[data-numcolumns="8"] .zpgrid .c11,
.zparea[data-numcolumns="8"] .zpgrid .c11 {
  float: left;
  width: 87.5%;
}
.zpgrid[data-numcolumns="8"] div.zpRow .zpColumn.c12,
.zparea[data-numcolumns="8"] div.zpRow .zpColumn.c12,
.zpgrid[data-numcolumns="8"] .zpColumnItem.c12,
.zparea[data-numcolumns="8"] .zpColumnItem.c12,
.zpgrid[data-numcolumns="8"] .zp-form .c12,
.zparea[data-numcolumns="8"] .zp-form .c12,
.zpgrid[data-numcolumns="8"] .zpgrid .c12,
.zparea[data-numcolumns="8"] .zpgrid .c12 {
  float: left;
  width: 100%;
}
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c1,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c1,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c1,
.zparea[data-numcolumns="6"] .zpColumnItem.c1,
.zpgrid[data-numcolumns="6"] .zp-form .c1,
.zparea[data-numcolumns="6"] .zp-form .c1,
.zpgrid[data-numcolumns="6"] .zpgrid .c1,
.zparea[data-numcolumns="6"] .zpgrid .c1,
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c2,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c2,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c2,
.zparea[data-numcolumns="6"] .zpColumnItem.c2,
.zpgrid[data-numcolumns="6"] .zp-form .c2,
.zparea[data-numcolumns="6"] .zp-form .c2,
.zpgrid[data-numcolumns="6"] .zpgrid .c2,
.zparea[data-numcolumns="6"] .zpgrid .c2 {
  float: left;
  width: 16.666666667%;
}
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c3,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c3,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c3,
.zparea[data-numcolumns="6"] .zpColumnItem.c3,
.zpgrid[data-numcolumns="6"] .zp-form .c3,
.zparea[data-numcolumns="6"] .zp-form .c3,
.zpgrid[data-numcolumns="6"] .zpgrid .c3,
.zparea[data-numcolumns="6"] .zpgrid .c3,
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c4,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c4,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c4,
.zparea[data-numcolumns="6"] .zpColumnItem.c4,
.zpgrid[data-numcolumns="6"] .zp-form .c4,
.zparea[data-numcolumns="6"] .zp-form .c4,
.zpgrid[data-numcolumns="6"] .zpgrid .c4,
.zparea[data-numcolumns="6"] .zpgrid .c4 {
  float: left;
  width: 33.333333333%;
}
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c5,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c5,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c5,
.zparea[data-numcolumns="6"] .zpColumnItem.c5,
.zpgrid[data-numcolumns="6"] .zp-form .c5,
.zparea[data-numcolumns="6"] .zp-form .c5,
.zpgrid[data-numcolumns="6"] .zpgrid .c5,
.zparea[data-numcolumns="6"] .zpgrid .c5,
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c6,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c6,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c6,
.zparea[data-numcolumns="6"] .zpColumnItem.c6,
.zpgrid[data-numcolumns="6"] .zp-form .c6,
.zparea[data-numcolumns="6"] .zp-form .c6,
.zpgrid[data-numcolumns="6"] .zpgrid .c6,
.zparea[data-numcolumns="6"] .zpgrid .c6 {
  float: left;
  width: 50%;
}
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c7,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c7,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c7,
.zparea[data-numcolumns="6"] .zpColumnItem.c7,
.zpgrid[data-numcolumns="6"] .zp-form .c7,
.zparea[data-numcolumns="6"] .zp-form .c7,
.zpgrid[data-numcolumns="6"] .zpgrid .c7,
.zparea[data-numcolumns="6"] .zpgrid .c7,
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c8,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c8,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c8,
.zparea[data-numcolumns="6"] .zpColumnItem.c8,
.zpgrid[data-numcolumns="6"] .zp-form .c8,
.zparea[data-numcolumns="6"] .zp-form .c8,
.zpgrid[data-numcolumns="6"] .zpgrid .c8,
.zparea[data-numcolumns="6"] .zpgrid .c8 {
  float: left;
  width: 66.666666667%;
}
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c9,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c9,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c9,
.zparea[data-numcolumns="6"] .zpColumnItem.c9,
.zpgrid[data-numcolumns="6"] .zp-form .c9,
.zparea[data-numcolumns="6"] .zp-form .c9,
.zpgrid[data-numcolumns="6"] .zpgrid .c9,
.zparea[data-numcolumns="6"] .zpgrid .c9,
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c10,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c10,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c10,
.zparea[data-numcolumns="6"] .zpColumnItem.c10,
.zpgrid[data-numcolumns="6"] .zp-form .c10,
.zparea[data-numcolumns="6"] .zp-form .c10,
.zpgrid[data-numcolumns="6"] .zpgrid .c10,
.zparea[data-numcolumns="6"] .zpgrid .c10 {
  float: left;
  width: 83.333333333%;
}
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c11,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c11,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c11,
.zparea[data-numcolumns="6"] .zpColumnItem.c11,
.zpgrid[data-numcolumns="6"] .zp-form .c11,
.zparea[data-numcolumns="6"] .zp-form .c11,
.zpgrid[data-numcolumns="6"] .zpgrid .c11,
.zparea[data-numcolumns="6"] .zpgrid .c11,
.zpgrid[data-numcolumns="6"] div.zpRow .zpColumn.c12,
.zparea[data-numcolumns="6"] div.zpRow .zpColumn.c12,
.zpgrid[data-numcolumns="6"] .zpColumnItem.c12,
.zparea[data-numcolumns="6"] .zpColumnItem.c12,
.zpgrid[data-numcolumns="6"] .zp-form .c12,
.zparea[data-numcolumns="6"] .zp-form .c12,
.zpgrid[data-numcolumns="6"] .zpgrid .c12,
.zparea[data-numcolumns="6"] .zpgrid .c12 {
  float: left;
  width: 100%;
}
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c1,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c1,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c1,
.zparea[data-numcolumns="4"] .zpColumnItem.c1,
.zpgrid[data-numcolumns="4"] .zp-form .c1,
.zparea[data-numcolumns="4"] .zp-form .c1,
.zpgrid[data-numcolumns="4"] .zpgrid .c1,
.zparea[data-numcolumns="4"] .zpgrid .c1,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c2,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c2,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c2,
.zparea[data-numcolumns="4"] .zpColumnItem.c2,
.zpgrid[data-numcolumns="4"] .zp-form .c2,
.zparea[data-numcolumns="4"] .zp-form .c2,
.zpgrid[data-numcolumns="4"] .zpgrid .c2,
.zparea[data-numcolumns="4"] .zpgrid .c2,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c3,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c3,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c3,
.zparea[data-numcolumns="4"] .zpColumnItem.c3,
.zpgrid[data-numcolumns="4"] .zp-form .c3,
.zparea[data-numcolumns="4"] .zp-form .c3,
.zpgrid[data-numcolumns="4"] .zpgrid .c3,
.zparea[data-numcolumns="4"] .zpgrid .c3 {
  float: left;
  width: 25%;
}
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c4,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c4,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c4,
.zparea[data-numcolumns="4"] .zpColumnItem.c4,
.zpgrid[data-numcolumns="4"] .zp-form .c4,
.zparea[data-numcolumns="4"] .zp-form .c4,
.zpgrid[data-numcolumns="4"] .zpgrid .c4,
.zparea[data-numcolumns="4"] .zpgrid .c4,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c5,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c5,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c5,
.zparea[data-numcolumns="4"] .zpColumnItem.c5,
.zpgrid[data-numcolumns="4"] .zp-form .c5,
.zparea[data-numcolumns="4"] .zp-form .c5,
.zpgrid[data-numcolumns="4"] .zpgrid .c5,
.zparea[data-numcolumns="4"] .zpgrid .c5,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c6,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c6,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c6,
.zparea[data-numcolumns="4"] .zpColumnItem.c6,
.zpgrid[data-numcolumns="4"] .zp-form .c6,
.zparea[data-numcolumns="4"] .zp-form .c6,
.zpgrid[data-numcolumns="4"] .zpgrid .c6,
.zparea[data-numcolumns="4"] .zpgrid .c6 {
  float: left;
  width: 50%;
}
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c7,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c7,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c7,
.zparea[data-numcolumns="4"] .zpColumnItem.c7,
.zpgrid[data-numcolumns="4"] .zp-form .c7,
.zparea[data-numcolumns="4"] .zp-form .c7,
.zpgrid[data-numcolumns="4"] .zpgrid .c7,
.zparea[data-numcolumns="4"] .zpgrid .c7,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c8,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c8,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c8,
.zparea[data-numcolumns="4"] .zpColumnItem.c8,
.zpgrid[data-numcolumns="4"] .zp-form .c8,
.zparea[data-numcolumns="4"] .zp-form .c8,
.zpgrid[data-numcolumns="4"] .zpgrid .c8,
.zparea[data-numcolumns="4"] .zpgrid .c8,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c9,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c9,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c9,
.zparea[data-numcolumns="4"] .zpColumnItem.c9,
.zpgrid[data-numcolumns="4"] .zp-form .c9,
.zparea[data-numcolumns="4"] .zp-form .c9,
.zpgrid[data-numcolumns="4"] .zpgrid .c9,
.zparea[data-numcolumns="4"] .zpgrid .c9 {
  float: left;
  width: 75%;
}
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c10,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c10,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c10,
.zparea[data-numcolumns="4"] .zpColumnItem.c10,
.zpgrid[data-numcolumns="4"] .zp-form .c10,
.zparea[data-numcolumns="4"] .zp-form .c10,
.zpgrid[data-numcolumns="4"] .zpgrid .c10,
.zparea[data-numcolumns="4"] .zpgrid .c10,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c11,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c11,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c11,
.zparea[data-numcolumns="4"] .zpColumnItem.c11,
.zpgrid[data-numcolumns="4"] .zp-form .c11,
.zparea[data-numcolumns="4"] .zp-form .c11,
.zpgrid[data-numcolumns="4"] .zpgrid .c11,
.zparea[data-numcolumns="4"] .zpgrid .c11,
.zpgrid[data-numcolumns="4"] div.zpRow .zpColumn.c12,
.zparea[data-numcolumns="4"] div.zpRow .zpColumn.c12,
.zpgrid[data-numcolumns="4"] .zpColumnItem.c12,
.zparea[data-numcolumns="4"] .zpColumnItem.c12,
.zpgrid[data-numcolumns="4"] .zp-form .c12,
.zparea[data-numcolumns="4"] .zp-form .c12,
.zpgrid[data-numcolumns="4"] .zpgrid .c12,
.zparea[data-numcolumns="4"] .zpgrid .c12 {
  float: left;
  width: 100%;
}
.zpColumn.c5 .zp-form .c1,
.zpColumn.c4 .zp-form .c1,
.zpColumn.c3 .zp-form .c1,
.zpColumn.c2 .zp-form .c1,
.zpColumn.c1 .zp-form .c1,
.zpColumn.c5 .zp-form .c2,
.zpColumn.c4 .zp-form .c2,
.zpColumn.c3 .zp-form .c2,
.zpColumn.c2 .zp-form .c2,
.zpColumn.c1 .zp-form .c2,
.zpColumn.c5 .zp-form .c3,
.zpColumn.c4 .zp-form .c3,
.zpColumn.c3 .zp-form .c3,
.zpColumn.c2 .zp-form .c3,
.zpColumn.c1 .zp-form .c3,
.zpColumn.c5 .zp-form .c4,
.zpColumn.c4 .zp-form .c4,
.zpColumn.c3 .zp-form .c4,
.zpColumn.c2 .zp-form .c4,
.zpColumn.c1 .zp-form .c4,
.zpColumn.c5 .zp-form .c5,
.zpColumn.c4 .zp-form .c5,
.zpColumn.c3 .zp-form .c5,
.zpColumn.c2 .zp-form .c5,
.zpColumn.c1 .zp-form .c5,
.zpColumn.c5 .zp-form .c6,
.zpColumn.c4 .zp-form .c6,
.zpColumn.c3 .zp-form .c6,
.zpColumn.c2 .zp-form .c6,
.zpColumn.c1 .zp-form .c6,
.zpColumn.c5 .zp-form .c7,
.zpColumn.c4 .zp-form .c7,
.zpColumn.c3 .zp-form .c7,
.zpColumn.c2 .zp-form .c7,
.zpColumn.c1 .zp-form .c7,
.zpColumn.c5 .zp-form .c8,
.zpColumn.c4 .zp-form .c8,
.zpColumn.c3 .zp-form .c8,
.zpColumn.c2 .zp-form .c8,
.zpColumn.c1 .zp-form .c8,
.zpColumn.c5 .zp-form .c9,
.zpColumn.c4 .zp-form .c9,
.zpColumn.c3 .zp-form .c9,
.zpColumn.c2 .zp-form .c9,
.zpColumn.c1 .zp-form .c9,
.zpColumn.c5 .zp-form .c10,
.zpColumn.c4 .zp-form .c10,
.zpColumn.c3 .zp-form .c10,
.zpColumn.c2 .zp-form .c10,
.zpColumn.c1 .zp-form .c10,
.zpColumn.c5 .zp-form .c11,
.zpColumn.c4 .zp-form .c11,
.zpColumn.c3 .zp-form .c11,
.zpColumn.c2 .zp-form .c11,
.zpColumn.c1 .zp-form .c11,
.zpColumn.c5 .zp-form .c12,
.zpColumn.c4 .zp-form .c12,
.zpColumn.c3 .zp-form .c12,
.zpColumn.c2 .zp-form .c12,
.zpColumn.c1 .zp-form .c12 {
  width: 100%;
}
.zpColumn.c5 .zp-form.zp-editable .resizablefield input,
.zpColumn.c4 .zp-form.zp-editable .resizablefield input,
.zpColumn.c3 .zp-form.zp-editable .resizablefield input,
.zpColumn.c2 .zp-form.zp-editable .resizablefield input,
.zpColumn.c1 .zp-form.zp-editable .resizablefield input,
.zpColumn.c5 .zp-form.zp-editable .resizablefield textarea,
.zpColumn.c4 .zp-form.zp-editable .resizablefield textarea,
.zpColumn.c3 .zp-form.zp-editable .resizablefield textarea,
.zpColumn.c2 .zp-form.zp-editable .resizablefield textarea,
.zpColumn.c1 .zp-form.zp-editable .resizablefield textarea {
  max-width: none !important;
}
/* *** always scale columns in a .noresize Row (i.e. news columns) *** */

div.zpRow.noresize .zpColumn.c1,
div.zpRow.noresize .zpColumn.c2,
div.zpRow.noresize .zpColumn.c3,
div.zpRow.noresize .zpColumn.c4,
div.zpRow.noresize .zpColumn.c5,
div.zpRow.noresize .zpColumn.c6,
div.zpRow.noresize .zpColumn.c7,
div.zpRow.noresize .zpColumn.c8,
div.zpRow.noresize .zpColumn.c9,
div.zpRow.noresize .zpColumn.c10,
div.zpRow.noresize .zpColumn.c11,
div.zpRow.noresize .zpColumn.c12 {
  width: 100%;
}
div.zpRow.noresize .zpSpacer {
  clear: both;
}
/* *** 2-Column Breakpoint (ipad portrait) *** */

@media (max-width: 768px) {
  .responsivelayout div.zpRow .zpColumn.c1,
  .responsivelayout .zpColumnItem.c1,
  .responsivelayout .zpgrid .c1:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c2,
  .responsivelayout .zpColumnItem.c2,
  .responsivelayout .zpgrid .c2:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c3,
  .responsivelayout .zpColumnItem.c3,
  .responsivelayout .zpgrid .c3:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c4,
  .responsivelayout .zpColumnItem.c4,
  .responsivelayout .zpgrid .c4:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c5,
  .responsivelayout .zpColumnItem.c5,
  .responsivelayout .zpgrid .c5:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c6,
  .responsivelayout .zpColumnItem.c6,
  .responsivelayout .zpgrid .c6:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c7,
  .responsivelayout .zpColumnItem.c7,
  .responsivelayout .zpgrid .c7:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c8,
  .responsivelayout .zpColumnItem.c8,
  .responsivelayout .zpgrid .c8:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c9,
  .responsivelayout .zpColumnItem.c9,
  .responsivelayout .zpgrid .c9:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c10,
  .responsivelayout .zpColumnItem.c10,
  .responsivelayout .zpgrid .c10:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c11,
  .responsivelayout .zpColumnItem.c11,
  .responsivelayout .zpgrid .c11:not(.resizablefield) {
    width: 50% !important;
  }
  .responsivelayout .zpColumn.zpSpacer:first-child + .zpColumn.odd:last-child {
    width: 80% !important;
    margin-left: 10%;
  }
  .responsivelayout .zpColumn.odd {
    clear: left;
  }
  .responsivelayout .zpColumn:not(.styled):nth-last-child(1n+3) {
    margin-bottom: 1em;
  }
  .responsivelayout div.zpRow .zpColumn.c12,
  .responsivelayout .zpColumnItem.c12,
  .responsivelayout .zp-form .c12,
  .responsivelayout .zpgrid .c12 {
    width: 100% !important;
  }
  .responsivelayout .zp-form.zp-editable .resizablefield input,
  .responsivelayout .zp-form.zp-editable .resizablefield textarea {
    max-width: none !important;
  }
  .responsivelayout .zpSpacer.hor,
  .responsivelayout div.zpRow .zpColumn.zpSpacer:not(:only-child) {
    display: none;
  }
}
/* *** 1-Column Breakpoint (iphone 6 landscape) *** */

@media (max-width: 479px) {
  /* *** 1-Column Breakpoint (iphone 6 landscape) *** */
  
  .responsivelayout div.zpRow .zpColumn.c1,
  .responsivelayout .zpColumnItem.c1,
  .responsivelayout .zp-form .c1,
  .responsivelayout .zpgrid .c1:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c2,
  .responsivelayout .zpColumnItem.c2,
  .responsivelayout .zp-form .c2,
  .responsivelayout .zpgrid .c2:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c3,
  .responsivelayout .zpColumnItem.c3,
  .responsivelayout .zp-form .c3,
  .responsivelayout .zpgrid .c3:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c4,
  .responsivelayout .zpColumnItem.c4,
  .responsivelayout .zp-form .c4,
  .responsivelayout .zpgrid .c4:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c5,
  .responsivelayout .zpColumnItem.c5,
  .responsivelayout .zp-form .c5,
  .responsivelayout .zpgrid .c5:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c6,
  .responsivelayout .zpColumnItem.c6,
  .responsivelayout .zp-form .c6,
  .responsivelayout .zpgrid .c6:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c7,
  .responsivelayout .zpColumnItem.c7,
  .responsivelayout .zp-form .c7,
  .responsivelayout .zpgrid .c7:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c8,
  .responsivelayout .zpColumnItem.c8,
  .responsivelayout .zp-form .c8,
  .responsivelayout .zpgrid .c8:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c9,
  .responsivelayout .zpColumnItem.c9,
  .responsivelayout .zp-form .c9,
  .responsivelayout .zpgrid .c9:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c10,
  .responsivelayout .zpColumnItem.c10,
  .responsivelayout .zp-form .c10,
  .responsivelayout .zpgrid .c10:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c11,
  .responsivelayout .zpColumnItem.c11,
  .responsivelayout .zp-form .c11,
  .responsivelayout .zpgrid .c11:not(.resizablefield),
  .responsivelayout div.zpRow .zpColumn.c12,
  .responsivelayout .zpColumnItem.c12,
  .responsivelayout .zp-form .c12,
  .responsivelayout .zpgrid .c12:not(.resizablefield) {
    width: 100% !important;
  }
  .responsivelayout .zp-form.zp-editable .resizablefield input,
  .responsivelayout .zp-form.zp-editable .resizablefield textarea {
    max-width: none !important;
  }
  .responsivelayout .zpSpacer {
    clear: both;
  }
  .responsivelayout div.zpRow .zpColumn:not(.styled) {
    margin-bottom: 1em;
  }
}
@media (max-width: 320px) {
  .responsivelayout .zp-form .c1,
  .responsivelayout .zp-form .c2,
  .responsivelayout .zp-form .c3,
  .responsivelayout .zp-form .c4,
  .responsivelayout .zp-form .c5,
  .responsivelayout .zp-form .c6,
  .responsivelayout .zp-form .c7,
  .responsivelayout .zp-form .c8,
  .responsivelayout .zp-form .c9,
  .responsivelayout .zp-form .c10,
  .responsivelayout .zp-form .c11,
  .responsivelayout .zp-form .c12 {
    width: 100% !important;
  }
  .responsivelayout .zp-form.zp-editable .resizablefield input,
  .responsivelayout .zp-form.zp-editable .resizablefield textarea {
    max-width: none !important;
  }
  .responsivelayout .zpSpacer {
    clear: both;
  }
}
/* Breakout Styles for layouts which don't support them edge to edge */

.zpBreakout > iframe {
  display: block;
}
body:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) {
  padding-top: 30px;
  padding-bottom: 30px;
}
body:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) + .zpContainer:not(.zpBreakout) {
  margin-top: 30px;
}
body:not(.withnews) .zpBreakout:not(.hasNews) .zpRow {
  width: 100%;
  margin: 0 auto;
  float: none;
}
/* Breakout Styles for responsive layouts which support them edge to edge */

.responsivelayout.supportsbreakout body:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) {
  /* we don't use overflow hidden on body to avoid horizontal scrollbar because dropdown menues (e.g. on the far right) might need an overflow */
  width: calc(100vw - 9px);
  /* -9px compensates possible scrollbar Safari: -8, Chrome: -9 */
  margin-left: calc(-50vw + 50%);
  box-sizing: border-box;
  padding: 30px 0 30px 9px;
  /* padding-left is equal to amount to compensate scrollbar */

}
.responsivelayout.supportsbreakout body.touch:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) {
  width: 100vw;
  /* Do not compensate on transparent Scrollbars on touch devices like e.g. the ipad. */

}
.responsivelayout.supportsbreakout body:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) + .zpContainer:not(.zpBreakout) {
  margin-top: 30px;
}
.responsivelayout.supportsbreakout body:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) > .zpRow {
  max-width: 730px;
}
.responsivelayout.supportsbreakout body:not(.withnews) .zpContainer.zpBreakout:not(.hasNews) + .zpRow {
  margin-top: 30px;
}
.responsivelayout.supportsbreakout body:not(.withnews) .span8 .zpContainer.zpBreakout:not(.hasNews) {
  margin-left: calc(-50vw + 77%);
}
.supportsbreakout body:not(.withnews) .zpColumn.c12 .zpBreakout:not(.hasNews) {
  /* we don't use overflow hidden on body to avoid horizontal scrollbar because dropdown menues (e.g. on the far right) might need an overflow */
  width: calc(100vw - 9px);
  /* -9px compensates possible scrollbar Safari: -8, Chrome: -9 */
  margin-left: calc(-50vw + 50%);
  /* Todo: this might break if less compression is used! */
  box-sizing: border-box;
  padding: 0;
  overflow: hidden !important;
}
.zpVerticalCenter,
div.zpRow.zpVerticalCenter,
div.zpRow .zpVerticalCenter,
div.zpRow .zpColumn.zpVerticalCenter,
div svn .zpColumn .zpVerticalCenter {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.zpwSpacer {
  visibility: hidden;
  box-sizing: border-box;
  height: 30px;
  margin: 0 !important;
}
/*
.zpgrid,
.zpgrid #grid {
  max-width: @contentcopy-max-image-width + 30px;
}
*/

.zpgrid.copiedlayout {
  margin-left: -15px;
  margin-right: -15px;
}
/*** ZP 14 Additions *** */

.zparea img:not(.zplogo):not(.limitsvg)[src$=".svg"] {
  width: auto;
  max-width: 100%;
}
/*** Container Scroll Animation ***/

@media screen {
  .js body:not(.zpreducemotion) .zpanimatewrap {
    overflow: hidden !important;
  }
  .js body:not(.zpreducemotion) .zpanimate.slideleft {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    /* used 100vw here, but the IE animated left to right instead of right to left */
    opacity: 0;
  }
  .js body:not(.zpreducemotion) .zpanimate.slideleft.show {
    -webkit-transition: opacity 1000ms ease-out 500ms, transform 500ms ease-out 200ms;
    transition: opacity 1000ms ease-out 500ms, transform 500ms ease-out 200ms;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  .js body:not(.zpreducemotion) .zpanimate.slideright {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    /* used 100vw here, but the IE animated left to right instead of right to left */
    opacity: 0;
  }
  .js body:not(.zpreducemotion) .zpanimate.slideright.show {
    -webkit-transition: opacity 1000ms ease-out 500ms, transform 500ms ease-out 200ms;
    transition: opacity 1000ms ease-out 500ms, transform 500ms ease-out 200ms;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  .js body:not(.zpreducemotion) .zpanimate.fadein {
    opacity: 0;
  }
  .js body:not(.zpreducemotion) .zpanimate.fadein.show {
    -webkit-transition: opacity 1000ms ease-in;
    transition: opacity 1000ms ease-in;
    opacity: 1;
  }
  .js body:not(.zpreducemotion) .zpanimate.floatin {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%);
    opacity: 0;
  }
  .js body:not(.zpreducemotion) .zpanimate.floatin.show {
    -webkit-transition: opacity 2500ms ease-out 500ms, transform 1500ms ease-out 200ms;
    transition: opacity 2500ms ease-out 500ms, transform 1500ms ease-out 200ms;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  .js body:not(.zpreducemotion) .zpanimate.zoomout {
    opacity: 0;
  }
  .js body:not(.zpreducemotion) .zpanimate.zoomout.show {
    opacity: 1;
  }
  .js body:not(.zpreducemotion) .zpanimate.zoomout.show:not(.played) {
    animation-name: zoomout;
    animation-duration: 500ms;
  }
  .js body:not(.zpreducemotion) .zpeffect.zphoverscale {
    -webkit-transition: transform 500ms ease;
    transition: transform 500ms ease;
  }
  .js body:not(.zpreducemotion) .zpeffect.zphoverscale.zplazyloaded {
    -webkit-transition: transform 500ms ease, opacity 600ms;
    transition: transform 500ms ease, opacity 600ms;
  }
  .js body:not(.zpreducemotion) .zpeffect.zphoverscale:hover,
  .js body:not(.zpreducemotion) .zpeffect.zphoverscale.hover,
  .js body:not(.zpreducemotion) a:hover .zpeffect.zphoverscale {
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  @keyframes zoomout {
    0% {
      opacity: 0;
      -webkit-transform: scale(5, 5);-ms-transform: scale(5, 5);transform: scale(5, 5);
    }
    100% {
      opacity: 1;
      -webkit-transform: scale(1, 1);-ms-transform: scale(1, 1);transform: scale(1, 1);
    }
  }
}
@media print {
  .zpanimate.show {
    opacity: 1;
  }
}
/*** Class to make tables more responsive - for general use i.e. in Online-CMS ***/

table.zpresponsive {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 640px) {
  table.zpresponsive {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
#ui-datepicker-div {
  padding: 0;
  z-index: 200 !important;
  background-color: #ffffff !important;
  font-family: inherit !important;
  color: #333333 !important;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.5);
  border-radius: 5px;
  overflow: hidden;
  border: 0;
}
#ui-datepicker-div .ui-datepicker-header {
  border-radius: 0;
  border: 0;
}
#ui-datepicker-div .ui-datepicker-calendar th {
  opacity: 0.8;
  padding-bottom: 1px;
  text-align: center;
}
#ui-datepicker-div .ui-datepicker-calendar td,
#ui-datepicker-div .ui-datepicker-calendar td a,
#ui-datepicker-div .ui-datepicker-calendar td span {
  text-align: center;
}
#ui-datepicker-div .ui-datepicker-calendar a.ui-state-default {
  background: transparent;
  border: 0;
  color: #333333;
}
#ui-datepicker-div .ui-datepicker-calendar a.ui-state-highlight {
  color: #ffffff;
  background-color: red;
  border-radius: 50px;
  font-weight: bolder;
}
#ui-datepicker-div input,
#ui-datepicker-div select,
#ui-datepicker-div textarea,
#ui-datepicker-div button {
  font-family: inherit;
}
#ui-datepicker-div .ui-state-default {
  background: #e6e6e6;
}
.zp-form.zp14 .recaptchatable,
.zp-shopform .recaptchatable,
.zpsajaxmodal .recaptchatable,
.eventCalendar.table .filter .recaptchatable {
  background-color: #ffffff;
}
.zp-form.zp14 .resizablefield.fieldinnewline,
.zp-shopform .resizablefield.fieldinnewline,
.zpsajaxmodal .resizablefield.fieldinnewline,
.eventCalendar.table .filter .resizablefield.fieldinnewline {
  clear: both;
}
.zp-form.zp14 label#recaptchalabel,
.zp-shopform label#recaptchalabel,
.zpsajaxmodal label#recaptchalabel,
.eventCalendar.table .filter label#recaptchalabel,
.zp-form.zp14 label#recaptchalabel.multiline.field,
.zp-shopform label#recaptchalabel.multiline.field,
.zpsajaxmodal label#recaptchalabel.multiline.field,
.eventCalendar.table .filter label#recaptchalabel.multiline.field,
.zp-form.zp14 #recaptcha_widget_div,
.zp-shopform #recaptcha_widget_div,
.zpsajaxmodal #recaptcha_widget_div,
.eventCalendar.table .filter #recaptcha_widget_div,
.zp-form.zp14 div.g-recaptcha,
.zp-shopform div.g-recaptcha,
.zpsajaxmodal div.g-recaptcha,
.eventCalendar.table .filter div.g-recaptcha {
  padding-left: 15px;
  padding-right: 15px;
}
.zp-form.zp14 input.typetext,
.zp-shopform input.typetext,
.zpsajaxmodal input.typetext,
.eventCalendar.table .filter input.typetext {
  vertical-align: middle;
  box-sizing: border-box;
  height: 2.5rem;
  line-height: 2.5rem;
  padding: 0 15px;
  color: #333333;
  background: #ffffff;
  border: 1px solid #9A9A9A;
  border: 1px solid rgba(0, 0, 0, 0.4);
}
.zp-form.zp14 input,
.zp-shopform input,
.zpsajaxmodal input,
.eventCalendar.table .filter input,
.zp-form.zp14 textarea,
.zp-shopform textarea,
.zpsajaxmodal textarea,
.eventCalendar.table .filter textarea,
.zp-form.zp14 select,
.zp-shopform select,
.zpsajaxmodal select,
.eventCalendar.table .filter select {
  font-family: inherit;
  font-size: inherit;
}
.zp-form.zp14 input.typetext,
.zp-shopform input.typetext,
.zpsajaxmodal input.typetext,
.eventCalendar.table .filter input.typetext,
.zp-form.zp14 textarea,
.zp-shopform textarea,
.zpsajaxmodal textarea,
.eventCalendar.table .filter textarea,
.zp-form.zp14 select,
.zp-shopform select,
.zpsajaxmodal select,
.eventCalendar.table .filter select {
  color: #333333;
  background: #ffffff;
  border: 1px solid #9A9A9A;
  border: 1px solid rgba(0, 0, 0, 0.4);
}
.zp-form.zp14 select,
.zp-shopform select,
.zpsajaxmodal select,
.eventCalendar.table .filter select {
  max-width: 100%;
  font-family: inherit;
  font-size: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  min-height: 2.5rem;
  padding: 0 15px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='12px' height='7px' viewBox='0 0 12 7' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E     %3Cpolygon class='chevron' stroke='none' fill='%23333333' fill-rule='evenodd' points='6.05023193 6.71226044 6.02769279 6.73479958 5.6741394 6.38124619 1.14644661 1.85355339 0.792893219 1.5 1.5 0.792893219 1.85355339 1.14644661 6.02825928 5.3211525 10.2249378 1.12447395 10.5784912 0.770920563 11.285598 1.47802734 10.9320446 1.83158073 6.40435181 6.35927353 6.05079842 6.71282692'%3E%3C/polygon%3E %3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
}
.zp-form.zp14 select.zpmultilineselect,
.zp-shopform select.zpmultilineselect,
.zpsajaxmodal select.zpmultilineselect,
.eventCalendar.table .filter select.zpmultilineselect {
  background-image: none;
}
.zp-form.zp14 select::-ms-expand,
.zp-shopform select::-ms-expand,
.zpsajaxmodal select::-ms-expand,
.eventCalendar.table .filter select::-ms-expand {
  display: none;
}
.zp-form.zp14 input.typetext.error,
.zp-shopform input.typetext.error,
.zpsajaxmodal input.typetext.error,
.eventCalendar.table .filter input.typetext.error,
.zp-form.zp14 textarea.typetext.error,
.zp-shopform textarea.typetext.error,
.zpsajaxmodal textarea.typetext.error,
.eventCalendar.table .filter textarea.typetext.error,
.zp-form.zp14 select.error,
.zp-shopform select.error,
.zpsajaxmodal select.error,
.eventCalendar.table .filter select.error {
  border: 1px solid red;
}
.zp-form.zp14 .error-text,
.zp-shopform .error-text,
.zpsajaxmodal .error-text,
.eventCalendar.table .filter .error-text {
  clear: both;
  display: block;
  margin-bottom: 1em;
  color: red;
}
.zp-form.zp14.autohidelabels .resizablefield,
.zp-shopform.autohidelabels .resizablefield,
.zpsajaxmodal.autohidelabels .resizablefield,
.eventCalendar.table .filter.autohidelabels .resizablefield {
  position: relative;
}
.zp-form.zp14.autohidelabels .resizablefield.nofloat,
.zp-shopform.autohidelabels .resizablefield.nofloat,
.zpsajaxmodal.autohidelabels .resizablefield.nofloat,
.eventCalendar.table .filter.autohidelabels .resizablefield.nofloat {
  float: none;
}
.zp-form.zp14.autohidelabels .resizablefield input + .error-text,
.zp-shopform.autohidelabels .resizablefield input + .error-text,
.zpsajaxmodal.autohidelabels .resizablefield input + .error-text,
.eventCalendar.table .filter.autohidelabels .resizablefield input + .error-text,
.zp-form.zp14.autohidelabels .resizablefield textarea + .error-text,
.zp-shopform.autohidelabels .resizablefield textarea + .error-text,
.zpsajaxmodal.autohidelabels .resizablefield textarea + .error-text,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea + .error-text,
.zp-form.zp14.autohidelabels .resizablefield select + .error-text,
.zp-shopform.autohidelabels .resizablefield select + .error-text,
.zpsajaxmodal.autohidelabels .resizablefield select + .error-text,
.eventCalendar.table .filter.autohidelabels .resizablefield select + .error-text {
  margin-top: -0.8em;
}
.zp-form.zp14.autohidelabels .resizablefield.zpradio,
.zp-shopform.autohidelabels .resizablefield.zpradio,
.zpsajaxmodal.autohidelabels .resizablefield.zpradio,
.eventCalendar.table .filter.autohidelabels .resizablefield.zpradio,
.zp-form.zp14.autohidelabels .resizablefield.zpcheckbox,
.zp-shopform.autohidelabels .resizablefield.zpcheckbox,
.zpsajaxmodal.autohidelabels .resizablefield.zpcheckbox,
.eventCalendar.table .filter.autohidelabels .resizablefield.zpcheckbox,
.zp-form.zp14.autohidelabels .resizablefield.zpfile,
.zp-shopform.autohidelabels .resizablefield.zpfile,
.zpsajaxmodal.autohidelabels .resizablefield.zpfile,
.eventCalendar.table .filter.autohidelabels .resizablefield.zpfile {
  margin-bottom: 1em;
}
.zp-form.zp14.autohidelabels .resizablefield.zpradio label.field.default,
.zp-shopform.autohidelabels .resizablefield.zpradio label.field.default,
.zpsajaxmodal.autohidelabels .resizablefield.zpradio label.field.default,
.eventCalendar.table .filter.autohidelabels .resizablefield.zpradio label.field.default,
.zp-form.zp14.autohidelabels .resizablefield.zpcheckbox label.field.default,
.zp-shopform.autohidelabels .resizablefield.zpcheckbox label.field.default,
.zpsajaxmodal.autohidelabels .resizablefield.zpcheckbox label.field.default,
.eventCalendar.table .filter.autohidelabels .resizablefield.zpcheckbox label.field.default,
.zp-form.zp14.autohidelabels .resizablefield.zpfile label.field.default,
.zp-shopform.autohidelabels .resizablefield.zpfile label.field.default,
.zpsajaxmodal.autohidelabels .resizablefield.zpfile label.field.default,
.eventCalendar.table .filter.autohidelabels .resizablefield.zpfile label.field.default {
  margin-top: 0;
}
.zp-form.zp14.autohidelabels .resizablefield label:not(.default),
.zp-shopform.autohidelabels .resizablefield label:not(.default),
.zpsajaxmodal.autohidelabels .resizablefield label:not(.default),
.eventCalendar.table .filter.autohidelabels .resizablefield label:not(.default) {
  position: absolute;
  top: 10px;
  left: 30px;
  font-size: 0.8em;
  color: #333333;
  opacity: 0.7;
  margin: 0;
  padding: 0;
  line-height: 1;
  height: 1.2em;
  overflow: hidden;
  z-index: 2;
}
.zp-form.zp14.autohidelabels .resizablefield input.typetext,
.zp-shopform.autohidelabels .resizablefield input.typetext,
.zpsajaxmodal.autohidelabels .resizablefield input.typetext,
.eventCalendar.table .filter.autohidelabels .resizablefield input.typetext,
.zp-form.zp14.autohidelabels .resizablefield select,
.zp-shopform.autohidelabels .resizablefield select,
.zpsajaxmodal.autohidelabels .resizablefield select,
.eventCalendar.table .filter.autohidelabels .resizablefield select,
.zp-form.zp14.autohidelabels .resizablefield textarea,
.zp-shopform.autohidelabels .resizablefield textarea,
.zpsajaxmodal.autohidelabels .resizablefield textarea,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea {
  padding: 20px 15px 0 15px;
  min-height: 3.6em;
  height: auto;
  line-height: 2.1;
  margin-bottom: 1em;
  box-sizing: border-box;
}
.zp-form.zp14.autohidelabels .resizablefield select.zpmultilineselect,
.zp-shopform.autohidelabels .resizablefield select.zpmultilineselect,
.zpsajaxmodal.autohidelabels .resizablefield select.zpmultilineselect,
.eventCalendar.table .filter.autohidelabels .resizablefield select.zpmultilineselect {
  padding: 30px 15px 10px 15px;
}
.zp-form.zp14.autohidelabels .resizablefield label.zpmultilineselect,
.zp-shopform.autohidelabels .resizablefield label.zpmultilineselect,
.zpsajaxmodal.autohidelabels .resizablefield label.zpmultilineselect,
.eventCalendar.table .filter.autohidelabels .resizablefield label.zpmultilineselect {
  background: #ffffff;
  top: 3px;
  padding-top: 10px;
  height: calc(10px + 1.2em);
}
.zp-form.zp14.autohidelabels .resizablefield select.nolabel,
.zp-shopform.autohidelabels .resizablefield select.nolabel,
.zpsajaxmodal.autohidelabels .resizablefield select.nolabel,
.eventCalendar.table .filter.autohidelabels .resizablefield select.nolabel {
  min-height: 0;
  padding: 5px 15px 5px 15px;
}
.zp-form.zp14.autohidelabels .resizablefield textarea,
.zp-shopform.autohidelabels .resizablefield textarea,
.zpsajaxmodal.autohidelabels .resizablefield textarea,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea {
  padding: 27px 15px 0 15px;
  line-height: 1.4;
}
.zp-form.zp14.autohidelabels .resizablefield label.block,
.zp-shopform.autohidelabels .resizablefield label.block,
.zpsajaxmodal.autohidelabels .resizablefield label.block,
.eventCalendar.table .filter.autohidelabels .resizablefield label.block {
  display: block;
  margin: 0;
}
.zp-form.zp14.autohidelabels .resizablefield label.block:not(:only-of-type):last-of-type,
.zp-shopform.autohidelabels .resizablefield label.block:not(:only-of-type):last-of-type,
.zpsajaxmodal.autohidelabels .resizablefield label.block:not(:only-of-type):last-of-type,
.eventCalendar.table .filter.autohidelabels .resizablefield label.block:not(:only-of-type):last-of-type {
  margin: 0 0 1em 0;
}
.zp-form.zp14.autohidelabels .resizablefield.nolabel label,
.zp-shopform.autohidelabels .resizablefield.nolabel label,
.zpsajaxmodal.autohidelabels .resizablefield.nolabel label,
.eventCalendar.table .filter.autohidelabels .resizablefield.nolabel label {
  opacity: 0;
}
.zp-form.zp14.autohidelabels .resizablefield.nolabel input.typetext,
.zp-shopform.autohidelabels .resizablefield.nolabel input.typetext,
.zpsajaxmodal.autohidelabels .resizablefield.nolabel input.typetext,
.eventCalendar.table .filter.autohidelabels .resizablefield.nolabel input.typetext {
  padding: 10px 15px 10px 15px;
}
.zp-form.zp14.autohidelabels .resizablefield.nolabel textarea,
.zp-shopform.autohidelabels .resizablefield.nolabel textarea,
.zpsajaxmodal.autohidelabels .resizablefield.nolabel textarea,
.eventCalendar.table .filter.autohidelabels .resizablefield.nolabel textarea {
  padding: 17px 15px 10px 15px;
}
.zp-form.zp14.autohidelabels .resizablefield input.typetext::-webkit-input-placeholder,
.zp-shopform.autohidelabels .resizablefield input.typetext::-webkit-input-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield input.typetext::-webkit-input-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield input.typetext::-webkit-input-placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield input.typetext:-moz-placeholder,
.zp-shopform.autohidelabels .resizablefield input.typetext:-moz-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield input.typetext:-moz-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield input.typetext:-moz-placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield input.typetext::-moz-placeholder,
.zp-shopform.autohidelabels .resizablefield input.typetext::-moz-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield input.typetext::-moz-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield input.typetext::-moz-placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield input.typetext:-ms-input-placeholder,
.zp-shopform.autohidelabels .resizablefield input.typetext:-ms-input-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield input.typetext:-ms-input-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield input.typetext:-ms-input-placeholder {
  color: rgba(51, 51, 51, 0.7);
  /* opacity: 0.7; IE would apply the opacity to the field, not just the placeholder-text */

}
.zp-form.zp14.autohidelabels .resizablefield input.typetext::placeholder,
.zp-shopform.autohidelabels .resizablefield input.typetext::placeholder,
.zpsajaxmodal.autohidelabels .resizablefield input.typetext::placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield input.typetext::placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield textarea::-webkit-input-placeholder,
.zp-shopform.autohidelabels .resizablefield textarea::-webkit-input-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield textarea::-webkit-input-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea::-webkit-input-placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield textarea:-moz-placeholder,
.zp-shopform.autohidelabels .resizablefield textarea:-moz-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield textarea:-moz-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea:-moz-placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield textarea::-moz-placeholder,
.zp-shopform.autohidelabels .resizablefield textarea::-moz-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield textarea::-moz-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea::-moz-placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels .resizablefield textarea:-ms-input-placeholder,
.zp-shopform.autohidelabels .resizablefield textarea:-ms-input-placeholder,
.zpsajaxmodal.autohidelabels .resizablefield textarea:-ms-input-placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea:-ms-input-placeholder {
  color: rgba(51, 51, 51, 0.7);
  /* opacity: 0.7; IE would apply the opacity to the field, not just the placeholder-text */

}
.zp-form.zp14.autohidelabels .resizablefield textarea::placeholder,
.zp-shopform.autohidelabels .resizablefield textarea::placeholder,
.zpsajaxmodal.autohidelabels .resizablefield textarea::placeholder,
.eventCalendar.table .filter.autohidelabels .resizablefield textarea::placeholder {
  color: #333333;
  opacity: 0.7;
}
.zp-form.zp14.autohidelabels:not(.placeholder) input.typetext::-webkit-input-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) input.typetext::-webkit-input-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) input.typetext::-webkit-input-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) input.typetext::-webkit-input-placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) input.typetext:-moz-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) input.typetext:-moz-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) input.typetext:-moz-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) input.typetext:-moz-placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) input.typetext::-moz-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) input.typetext::-moz-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) input.typetext::-moz-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) input.typetext::-moz-placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) input.typetext:-ms-input-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) input.typetext:-ms-input-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) input.typetext:-ms-input-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) input.typetext:-ms-input-placeholder {
  color: rgba(51, 51, 51, 0);
  /* opacity: 0; IE would apply the opacity to the field, not just the placeholder-text */

}
.zp-form.zp14.autohidelabels:not(.placeholder) input.typetext::placeholder,
.zp-shopform.autohidelabels:not(.placeholder) input.typetext::placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) input.typetext::placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) input.typetext::placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) textarea::-webkit-input-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) textarea::-webkit-input-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) textarea::-webkit-input-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) textarea::-webkit-input-placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) textarea:-moz-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) textarea:-moz-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) textarea:-moz-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) textarea:-moz-placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) textarea::-moz-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) textarea::-moz-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) textarea::-moz-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) textarea::-moz-placeholder {
  opacity: 0;
}
.zp-form.zp14.autohidelabels:not(.placeholder) textarea:-ms-input-placeholder,
.zp-shopform.autohidelabels:not(.placeholder) textarea:-ms-input-placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) textarea:-ms-input-placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) textarea:-ms-input-placeholder {
  color: rgba(51, 51, 51, 0);
  /* opacity: 0; IE would apply the opacity to the field, not just the placeholder-text */

}
.zp-form.zp14.autohidelabels:not(.placeholder) textarea::placeholder,
.zp-shopform.autohidelabels:not(.placeholder) textarea::placeholder,
.zpsajaxmodal.autohidelabels:not(.placeholder) textarea::placeholder,
.eventCalendar.table .filter.autohidelabels:not(.placeholder) textarea::placeholder {
  opacity: 0;
}
/* Global helper classes */

.zpclearfix:after {
  content: "";
  display: table;
  clear: both;
}
.cscroll::-webkit-scrollbar {
  height: 10px !important;
  width: 10px !important;
  background: #C0C0C0;
}
.cscroll::-webkit-scrollbar-thumb {
  background: #888888;
}
.printonly {
  display: none !important;
}
/* Global Print Styles */

@media print {
  @page {
    margin: 1cm 2cm;
  }
  body {
    margin: 1cm 2cm;
    max-width: 21cm !important;
    padding: 0;
    font-size: 12pt;
    line-height: 1.4;
    color: black;
    background-color: #ffffff;
    background-image: none;
  }
  .printonly {
    display: initial !important;
  }
  .printonly.chromeprintwarning {
    display: inline-block !important;
  }
  .screenonly {
    display: none !important;
  }
  img.zplazyloading {
    display: none !important;
  }
  .zpContainer,
  .zpBreakout,
  .zpContainer.zpBreakout {
    width: auto !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
  }
  div.zpRow {
    margin-bottom: 0 !important;
  }
  html,
  body {
    height: auto;
    /* solves a problem with printing to pdf when height is 100% */
  
  }
  body {
    background: #ffffff;
    color: black;
  }
  body:before,
  body:after {
    content: none !important;
  }
  .zp13slider-control-nav zp13slider-control-paging,
  .zp13slider-direction-nav,
  .flex-control-nav,
  .flex-direction-nav {
    display: none !important;
  }
}
#content .zpContainer.styled .zpRow:last-child,
.zpContainer.styled .zpRow:last-child {
  margin-bottom: 0;
}
a.xmenulink {
  display: inline-block;
  vertical-align: top;
}
i.zpextralang {
  color: inherit;
  font-style: inherit;
  line-height: inherit;
  display: inline-block;
  vertical-align: top;
  position: relative;
  margin: 0;
  padding: 0;
  padding-right: 0 !important;
}
i.zpextralang:after {
  pointer-events: none;
  content: '';
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  top: calc(50% - 0.35355em);
  right: 1px;
  height: 0.5em;
  width: 0.5em;
  border-style: solid;
  border-top-color: transparent;
  border-left-color: transparent;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
select#zpextralang {
  width: auto;
  height: auto !important;
  position: relative;
  box-sizing: border-box;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: inherit;
  text-shadow: inherit;
  line-height: inherit;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  padding-right: calc(0.7071em + 5px);
  background: transparent;
  background-color: transparent;
  border: 0;
  border-radius: 0;
}
select#zpextralang option {
  color: initial;
}
select#zpextralang::-ms-expand {
  display: none;
}
video {
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .touch .zpContainer.styled {
    background-attachment: scroll !important;
  }
}
.zp-sronly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.zplazyloading {
  position: relative;
  opacity: 0.1;
}
.zplazyloaded {
  -webkit-transition: opacity 600ms;
  transition: opacity 600ms;
  opacity: 1;
}

.zpRow.quelltext{
	margin-top: 0;
	margin-bottom: 0;
}
/*
 * jQuery FlexSlider v2.0 (global singleHeader Widget)
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */


/* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;} 

/* FlexSlider Necessary Styles
*********************************/ 
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden; list-style-type: none;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides li > img, .flexslider .slides li > a, .flexslider .slides li > a img {width: 100%; display: block; -moz-user-select: none;} /* -moz-user-select works around a firefox bug: https://community.zeta-producer.com/Thread/8066-Slider-Bilder-werden-blau-eingef%C3%A4rbt-beim-anklicken/?postID=43579#post43579 */
.flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .slides element */
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;} 
html[xmlns] .slides {display: block;} 
* html .slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .flexslider .slides > li {display: block;}


/* FlexSlider Default Theme
*********************************/
/*.flexslider {margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,.2); -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1;}*/
.flexslider {position: relative; box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1;}

.flex-viewport {max-height: 2000px; -webkit-transition: all 500ms ease; -moz-transition: all 500ms ease; transition: all 500ms ease;}
.loading .flex-viewport {max-height: 300px;}
.flexslider .slides {zoom: 1;}

.carousel li {margin-right: 5px}


/* Direction Nav */
.flex-direction-nav {*height: 0;}
.flex-direction-nav a {width: 30px; height: 32px; margin: -16px 0 0; display: block; background: url(images/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
.flex-direction-nav .flex-next, .flex-direction-nav .next {background-position: 100% 0; right: -36px; }
.flex-direction-nav .flex-prev, .flex-direction-nav .prev {left: -36px;}

.edge .touch .flexslider:hover .flex-next, .edge .touch .flexslider:hover .next,
.flexslider:hover .flex-next, .flexslider:hover .next {opacity: 0.8; right: 5px;}

.edge .touch .flexslider:hover .flex-prev, .edge .touch .flexslider:hover .prev,
.flexslider:hover .flex-prev, .flexslider:hover .prev {opacity: 0.8; left: 5px;}

.flexslider:hover .flex-next:hover, 
.flexslider:hover .next:hover, 
.flexslider:hover .flex-prev:hover, 
.flexslider:hover .prev:hover {opacity: 1;}
.flex-direction-nav .flex-disabled {
  opacity: 0!important;
  filter: alpha(opacity=0);
  cursor: default;
  z-index: -1;
}

/* Control Nav */
.flex-control-nav {width: 100%; position: absolute; bottom: -40px; text-align: center;}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {width: 11px; height: 11px; display: block; border: 1px solid rgba(255,255,255,0.3);background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: 0 0 2px rgba(255,255,255,0.5);}
.flex-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.flex-control-paging li a.flex-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }

.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .flex-direction-nav .flex-prev, .flex-direction-nav .prev, 
  .flexslider:hover .flex-direction-nav .flex-prev, .flexslider:hover .flex-direction-nav .prev{
  	opacity: 1; left: 4px;
  }
  .flex-direction-nav .flex-next, .flex-direction-nav .next, 
  .flexslider:hover .flex-direction-nav .flex-next, .flexslider:hover .flex-direction-nav .next{
  	opacity: 1; right: 4px;
  }
}

@media print {
	.flex-control-nav,
	.flex-direction-nav
	{
		display: none !important;
	}
}
/*
 * xFancyBox - jQuery Plugin
 * Simple and fancy lightbox alternative
 *
 * Examples and documentation at: http://fancybox.net
 * 
 * Copyright (c) 2008 - 2010 Janis Skarnelis
 * That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
 * 
 * Version: 1.3.4 (11/11/2010)
 * Requires: jQuery v1.3+
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	margin-left: -20px;
	cursor: pointer;
	overflow: hidden;
	z-index: 7104;
	display: none;
}

#fancybox-loading div {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 480px;
	background-image: url('js/fancybox/fancybox.png');
}

#fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 7101;
	display: none;
}

#fancybox-tmp {
	padding: 0;
	margin: 0;
	border: 0;
	overflow: auto;
	display: none;
}

#fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	padding: 20px;
	z-index: 7101;
	outline: none;
	display: none;
	/* added by StS so we can use a general box-sizing rule with border-box in layouts. Otherwise, placing of element here would be based on wrong calculations */
	box-sizing: content-box;
}

#fancybox-outer {
	position: relative;
	width: 100%;
	height: 100%;
	/*background: #fff;*/
	border-radius: 5px;
}

#fancybox-content {
	width: 0;
	height: 0;
	padding: 0;
	outline: none;
	position: relative;
	overflow: hidden;
	z-index: 7102;
	border: 0px solid #fff;
	border-radius: 5px;
}

#fancybox-hide-sel-frame {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	z-index: 6101;
}

#fancybox-close {
	position: absolute;
	top: -15px;
	right: -15px;
	width: 30px;
	height: 30px;
	background: transparent url('js/fancybox/fancybox.png') -40px 0px;
	cursor: pointer;
	z-index: 7103;
	display: none;
}

#fancybox-error {
	color: #444;
	font: normal 12px/20px Arial;
	padding: 14px;
	margin: 0;
}

#fancybox-img {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	border: none;
	outline: none;
	line-height: 0;
	vertical-align: top;
}

#fancybox-frame {
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

#fancybox-left, #fancybox-right {
	position: absolute;
	bottom: 0px;
	height: 100%;
	width: 35%;
	cursor: pointer;
	outline: none;
	background: transparent url('js/fancybox/blank.gif');
	z-index: 7102;
	display: none;
}

#fancybox-left {
	left: 0px;
}

#fancybox-right {
	right: 0px;
}

#fancybox-left-ico, #fancybox-right-ico {
	position: absolute;
	top: 50%;
	left: -9999px;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	cursor: pointer;
	z-index: 7102;
	display: block;
}

#fancybox-left-ico {
	background-image: url('js/fancybox/fancybox.png');
	background-position: -40px -30px;
}

#fancybox-right-ico {
	background-image: url('js/fancybox/fancybox.png');
	background-position: -40px -60px;
}

#fancybox-left:hover, #fancybox-right:hover {
	visibility: visible; /* IE6 */
}

#fancybox-left:hover span {
	left: 20px;
}

#fancybox-right:hover span {
	left: auto;
	right: 20px;
}

.fancybox-bg {
	position: absolute;
	padding: 0;
	margin: 0;
	border: 0;
	width: 20px;
	height: 20px;
	z-index: 7001;
}

#fancybox-bg-n {
	top: -20px;
	left: 0;
	width: 100%;
	/*background-image: url('js/fancybox/fancybox-x.png');*/
}

#fancybox-bg-ne {
	top: -20px;
	right: -20px;
	/*background-image: url('js/fancybox/fancybox.png');*/
	background-position: -40px -162px;
}

#fancybox-bg-e {
	top: 0;
	right: -20px;
	height: 100%;
	/*background-image: url('js/fancybox/fancybox-y.png');*/
	background-position: -20px 0px;
}

#fancybox-bg-se {
	bottom: -20px;
	right: -20px;
	/*background-image: url('js/fancybox/fancybox.png');*/
	background-position: -40px -182px; 
}

#fancybox-bg-s {
	bottom: -20px;
	left: 0;
	width: 100%;
	/*background-image: url('js/fancybox/fancybox-x.png');*/
	background-position: 0px -20px;
}

#fancybox-bg-sw {
	bottom: -20px;
	left: -20px;
	/*background-image: url('js/fancybox/fancybox.png');*/
	background-position: -40px -142px;
}

#fancybox-bg-w {
	top: 0;
	left: -20px;
	height: 100%;
	/*background-image: url('js/fancybox/fancybox-y.png');*/
}

#fancybox-bg-nw {
	top: -20px;
	left: -20px;
	/*background-image: url('js/fancybox/fancybox.png');*/
	background-position: -40px -122px;
}

#fancybox-title {
	/*font-family: Helvetica;
	font-size: 12px;*/
	z-index: 7102;
}

.fancybox-title-inside {
	/*text-align: center;*/
	color: #fff;
	/*background: #fff;*/
	position: relative;
}

.fancybox-title-outside {
	padding-top: 10px;
	color: #fff;
}

.fancybox-title-over {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #FFF;
	text-align: left;
}

#fancybox-title-over {
	padding: 10px;
	background-image: url('js/fancybox/fancy_title_over.png');
	display: block;
}
#fancybox-title-over:empty{
	display: none;
}
#fancybox-title-over p:last-child{
	margin-bottom: 0;
}

.fancybox-title-inside #fancybox-title-over,
.fancybox-title-outside #fancybox-title-over{
	background-image: none;
}

.fancybox-title-float {
	position: absolute;
	left: 0;
	bottom: -20px;
	height: 32px;
}

#fancybox-title-float-wrap {
	border: none;
	border-collapse: collapse;
	width: auto;
}

#fancybox-title-float-wrap td {
	border: none;
	white-space: nowrap;
}

#fancybox-title-float-left {
	padding: 0 0 0 15px;
	background: url('js/fancybox/fancybox.png') -40px -90px no-repeat;
}

#fancybox-title-float-main {
	color: #FFF;
	line-height: 29px;
	font-weight: bold;
	padding: 0 0 3px 0;
	background: url('js/fancybox/fancybox-x.png') 0px -40px;
}

#fancybox-title-float-right {
	padding: 0 0 0 15px;
	background: url('js/fancybox/fancybox.png') -55px -90px no-repeat;
}
/*! $Id: form.css 49494 2017-06-14 07:24:36Z sseiz $ original file from:  Widgets/formular */

/***** FORM ANTI SPAM *****/
.asfield {
	display: none;
}

/***** FORM GLOBAL DEFAULTS *****/
.zp-form input {
	max-width: 100%;
}

.zp-form .separator {
	margin: 10px 0;
	padding: 0;
	line-height: 1px;
	height: 1px;
	border-bottom: 1px solid;
	box-sizing: border-box;
	width: 100%;
}

.zp-form .asfield{display: none;}
.zp-form input.typetext, .zp-form input[type="text"], .zp-form input[type="number"], .zp-form input[type="email"], .zp-form input[type="tel"], .zp-form input[type="url"], .zp-form input[type="date"], .zp-form input[type="time"], .zp-form input[type="color"], .zp-form input[type="search"], .zp-form textarea{
	font-family: inherit;
	font-size: inherit;
	color: #333333;
	background: #ffffff;
	padding: 6px 8px;
	border: 1px solid #9A9A9A;
	border: 1px solid rgba(0,0,0,0.4);
	max-width: 100%;
	
	box-sizing: border-box;
	height: auto;
}
.zp-form select{
	padding: 6px 5px;
	border: 1px solid #9A9A9A;
	border: 1px solid rgba(0,0,0,0.4);
}

.zp-form ::-webkit-input-placeholder{
	opacity:  1;
	color: rgba(0,0,0,0.4);
}
.zp-form :-moz-placeholder{
	opacity:  1;
	color: rgba(0,0,0,0.4);
}
.zp-form ::-moz-placeholder{
	opacity:  1;
	color: rgba(0,0,0,0.4);
}
.zp-form :-ms-input-placeholder{
	opacity:  1;
	color: rgba(0,0,0,0.4);
}
/* fix a specificity issue with IE 11(-) which would otherwise apply the text-color fromthe rule in line 8 */
.zp-form input.typetext:-ms-input-placeholder{ 
	opacity:  1;
	color: rgba(0,0,0,0.4);
}

.zp-form select{
	font-family: inherit;
	font-size: inherit;
	color: #333333;
}
.zp-form label {
	font-family: inherit;
	font-size: inherit;
	padding: 3px 10px 3px 0;
}
.zp-form label.field{
	display: block;
	margin-top: 10px;
	margin-bottom: 4px;
	padding: 0;
}
.zp-form input[type="submit"],
.zp-form input[type="reset"]{
	font-family: inherit;
	font-size: inherit;
	display: inline-block;
	margin-top: 20px;
}
.zp-form input[type="reset"].button,
.zp-form input[type="reset"].button:hover{
	float: right;
	border: 1px solid #666666 !important;
	color: #666666 !important;
	background: transparent !important;
	background-color: #fafafa !important;
}
.zp-form input[type="reset"].button:hover{
	background-color: #ececec;
}
.zp-form:not(.zp14) div.recaptchawrapper{
	float: left; /* gains layout */
	margin-top: 10px;
	margin-left:  15px;
	margin-right: 15px;
}
.zp-form:not(.zp14) .recaptchatable{
	background-color: #fff
}
.zp-form .recaptchatable #recaptcha_image, 
.zp-form #recaptcha_area img{
	border: 0 !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}


/* *** BEGIN Form-Editor *** */
form.zp-form.zp-editable{
	min-width: 100%; 
	max-width: calc(100% + 30px);
	margin-left:  -15px;
	margin-right: -15px;
}
form.zp-form.zp-editable div.formvalidateerror{
	margin-left: 15px;
	margin-right: 15px;
}
form.zp-form.zp-editable .resizablefield{
	padding-left:  15px;
	padding-right: 15px;
	box-sizing: border-box;
	float: left;
	/*clear: left;*/
}
form.zp-form.zp-editable .resizablefield.fieldinnewline{
	clear: both;
}
/* #formQuick is used in ProjectTemplates e.g. Ferienhaus and we don't want 100% width fields there */
form.zp-form.zp-editable input.typetext,
form.zp-form.zp-editable input[type="file"],
form.zp-form.zp-editable textarea,
form.zp-form.zp-editable select,
form.zp-form.zp-editable radio,
form.zp-form.zp-editable checkbox{
	width: 100%;
}

form.zp-form.zp-editable .formbuttons{
	margin-left: 15px;
	margin-right: 15px;
	clear: both;
	overflow: hidden;
	padding-bottom: 6px;
}

/* *** END Form-Editor *** */

/*! $Id: zpsearch.css 68509 2018-11-05 12:12:29Z sseiz $ */

.SO-SiteSearchResult{
	margin-bottom: 1em;
}
.zpwSuche p.restitle{
	opacity: 0.75; 
	margin-bottom: 1em !important;
}
.SO-SiteSearchResult h3{
	margin: 0;
}
.zpwSuche .rescount{
	opacity: 0.75; 
}

.SO-SiteSearchForm.autohidelabels input.button{
	margin-top: 20px;
}
.SO-SiteSearchForm:not(.autohidelabels) label{
	font-family: inherit;
	font-size: inherit;
	padding: 3px 10px 3px 0;
}
.SO-SiteSearchForm.zp-form.zp14.autohidelabels .resizablefield label:not(.default){
	left: 15px;
}

.SO-SiteSearchForm input.typetext{
	font-family: inherit;
	font-size: inherit;
	color: #333333;
	background: #ffffff;
	padding: 6px 8px;
	border: 1px solid #9A9A9A;
	border: 1px solid rgba(0,0,0,0.4);
	max-width: 100%;
	
	box-sizing: border-box;
	height: auto;
}
.SO-SiteSearchForm.autohidelabels .resizablefield.c12 input.typetext{
	width: 560px;
}
/*
* Layout: Swiss Responsive
* $Id: styles.less 77718 2019-07-26 12:37:46Z sseiz $
* Copyright Zeta Software GmbH
*/

/***** TAGS *****/

html {
  overflow-y: scroll;
}
body {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  margin: 0;
  padding: 0 0 30px 0;
  font-size: 80%;
  color: #333333;
  background-color: transparent;
  background-image: url(../assets/zimmer1.jpg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  -o-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-limit-lines: 2;
  -moz-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-lines: 2;
  hyphenate-limit-lines: 2;
  -webkit-hyphenate-limit-chars: auto 3;
  -moz-hyphenate-limit-chars: auto 3;
  -ms-hyphenate-limit-chars: auto 3;
  hyphenate-limit-chars: auto 3;
}
h1 {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  margin: 0px 0 10px 0;
  padding: 0;
  font-size: 2.4em;
  font-weight: bold;
  line-height: normal;
  color: #BA0211;
  position: relative;
}
h2 {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  margin: 10px 0 10px 0;
  padding: 0;
  font-size: 2em;
  font-weight: normal;
  line-height: normal;
  color: #333333;
}
h3,
h4,
h5,
h6 {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  margin: 10px 0 10px 0;
  padding: 0;
  font-size: 1.38em;
  font-weight: normal;
  line-height: normal;
  color: #333333;
}
p {
  margin: 0 0 10px 0;
  padding: 0;
}
ul,
ol {
  margin: 0 0 10px 25px;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
  list-style: square;
}
ol li {
  margin: 0;
  padding: 0;
  list-style: decimal;
}
table {
  margin: 0 0 10px 0;
  padding: 0;
}
td {
  vertical-align: top;
}
img {
  margin: 0;
  padding: 0;
  border-style: none;
  max-width: 100%;
  height: auto;
}
/***** LINKS *****/

a {
  color: #BA0211;
  text-decoration: none;
}
a:hover {
  color: #BA0211;
  text-decoration: underline;
}
/***** TOP *****/

#top {
  margin: 0;
  padding: 0;
}
/***** WRAPPER *****/

#wrapper {
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  max-width: 1000px;
}
/***** FRAMEBOX *****/

#framebox {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background-color: transparent;
  overflow: hidden;
  position: relative;
}
/***** TOPLINE *****/

#topline {
  margin: 0;
  padding: 10px 0;
  background-color: transparent;
  overflow: hidden;
  min-height: 123px;
  position: relative;
  z-index: 1;
}
/***** WEBDESCRIPTION *****/

#webdescription {
  margin: 0;
  padding: 0;
}
#logo {
  padding: 30px 0 10px 0;
  float: left;
}
#webtext {
  margin: 0;
  padding: 30px 0 0 0;
  float: right;
}
#webname {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  margin: 0 0 5px 0;
  padding: 0;
  font-size: 1.8em;
  font-weight: normal;
  font-style: normal;
  text-transform: none;
  text-align: right;
}
#webname a {
  color: #333333;
  text-decoration: none;
}
#slogan {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  margin: 0;
  padding: 0;
  font-size: 1em;
  font-weight: normal;
  font-style: normal;
  color: #333333;
  text-transform: none;
  text-align: right;
  white-space: nowrap;
}
/***** SEARCH *****/

#search {
  margin: -30px -20px 0 -30px;
}
#searchform {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 30px;
  position: relative;
}
#searchform input {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  background-color: transparent;
}
#searchfieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
#searchfield {
  box-sizing: border-box;
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0 33px 0 10px;
  line-height: 30px;
  border: 1px solid #333333;
  border-radius: 2px;
  background-clip: padding-box;
  font-size: 1em;
  color: #333333;
  /* Todo: */
  text-shadow: inherit;
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  outline: 0;
}
#searchbutton {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  width: 28px;
  height: 28px;
  border: 0;
  position: absolute;
  top: 1px;
  right: 1px;
  background: transparent;
}
/***** SUBMEN• *****/

a#mobilenavtoggle {
  color: #333333;
  background-color: transparent;
  border: 1px solid #333333;
  padding: 7px 10px;
  font-weight: bold;
  float: right;
  display: none;
  position: absolute;
  top: 10px;
  right: 15px;
  left: auto;
  bottom: auto;
  z-index: 300;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  border-radius: 2px;
  background-clip: padding-box;
}
a#mobilenavtoggle:hover {
  text-decoration: underline;
}
div#subnavbar {
  margin: 0;
  padding: 0;
}
#subnavbar ul.submenu {
  margin: 0;
  padding: 0;
}
#subnavbar ul.submenu li > ul {
  display: none;
}
#subnavbar ul.submenu li.active > ul {
  display: block;
}
#subnavbar li > a {
  position: relative;
}
#subnavbar li.open > a:before,
#subnavbar li.haschilds > a:before {
  content: '';
  box-sizing: content-box;
  position: absolute;
  top: 47%;
  margin-top: -0.25em;
  right: 2em;
  height: 0.6em;
  width: 0.6em;
  border-bottom-color: transparent;
  /* IE Bugfix: transparent or else a ghost shadow is visible even border-width is 0 */
  border-left-color: transparent;
  /* IE Bugfix or else a ghost shadow is visible */
  border-style: solid;
  border-width: 1px 1px 0 0;
  display: block;
  -webkit-transition: -webkit-transform 200ms ease;
  transition: transform 200ms ease;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#subnavbar li.haschilds.active:not(.closed) > a:before,
#subnavbar li.open > a:before {
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  margin-top: -0.5em;
}
#subnavbar ul.submenu li {
  list-style-type: none;
  display: block;
}
#subnavbar ul.submenu li a {
  text-transform: none;
  color: #333333;
  font-size: 1em;
  display: block;
  padding: 6px 60px 6px 30px;
  width: 100%;
  width: calc(100% - 30px);
  margin: 0 0 0 -30px;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
  background-color: transparent;
  text-overflow: ellipsis;
  overflow: hidden;
}
#subnavbar ul.submenu li a.active {
  font-weight: bold;
}
#subnavbar ul.submenu ul {
  margin-bottom: 0;
}
#subnavbar ul.submenu ul li a {
  padding: 6px 30px 6px 55px;
  width: 100%;
  margin: 0 0 0 -55px;
}
#subnavbar ul.submenu ul ul li a {
  padding: 6px 30px 6px 80px;
  width: 100%;
  margin: 0 0 0 -80px;
}
#subnavbar ul.submenu ul ul ul li a {
  padding: 6px 30px 6px 105px;
  width: 100%;
  margin: 0 0 0 -105px;
}
#subnavbar ul.submenu ul ul ul ul li a {
  padding: 6px 30px 6px 130px;
  width: 100%;
  margin: 0 0 0 -130px;
}
#subnavbar ul.submenu ul ul ul ul ul {
  margin: 0;
}
#subnavbar ul.submenu li a:hover {
  color: #ffffff;
  text-decoration: none;
  background-color: #BA0211;
}
#subnavbar li a.active,
#subnavbar li a.subnav1active,
#subnavbar li a.subnav1active:hover,
#subnavbar li a.subnav2active,
#subnavbar li a.subnav2active:hover,
#subnavbar li a.subnav3active,
#subnavbar li a.subnav3active:hover {
  color: #333333 !important;
  text-decoration: none !important;
  background-color: transparent !important;
}
/***** SLIDES *****/

#headerslider {
  overflow: hidden;
  margin: 0 0 30px 0;
  padding: 0;
  line-height: 0;
  background-color: #ffffff;
  position: relative;
  z-index: 98;
}
.flexslider {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.flexslider .slides > li {
  position: relative;
}
.flex-caption {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 20px 30px;
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  font-size: 1em;
  line-height: 1.38em;
  text-align: left;
  color: #333333;
  background-color: rgba(0, 0, 0, 0.7);
  position: absolute;
  left: 0;
  bottom: 0;
  right: auto;
  top: auto;
}
.flex-caption > h1:last-child,
.flex-caption > h2:last-child,
.flex-caption > h3:last-child,
.flex-caption > p:last-child {
  margin-bottom: 0;
}
.flex-caption span,
.flex-caption h1,
.flex-caption h2,
.flex-caption h3 {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  display: block;
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 1.5em;
  font-weight: bold;
  color: #4d4d4d;
  line-height: normal;
}
.flex-caption p {
  margin: 0 0 10px 0;
  padding: 0;
}
.flex-caption a {
  color: #BA0211;
  text-decoration: none;
}
.flex-caption a:hover {
  color: #BA0211;
  text-decoration: underline;
}
.flex-control-paging {
  box-sizing: border-box;
  margin: 0;
  padding: 10px 0 0 30px;
  height: 14px;
  text-align: left;
  position: absolute;
  top: 10px;
  z-index: 99;
}
.flex-control-paging li {
  margin: 0 6px 0 0;
}
.flex-control-paging li a {
  float: left;
  margin: 0;
  padding: 0;
  width: 13px;
  height: 13px;
  text-decoration: none;
  text-indent: -999999px;
  background: transparent;
  background-color: transparent;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-image: url(stock-images/bg_control_nav.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  overflow: hidden;
}
.flex-control-paging li a.flex-active {
  background: transparent;
  background-color: transparent;
  background-position: 0 -26px;
  background-image: url(stock-images/bg_control_nav.png);
  background-repeat: no-repeat;
}
.flex-control-paging li a:hover {
  background-position: 0 -13px;
}
.flex-direction-nav a {
  top: 50%;
}
.flex-direction-nav .flex-prev,
.flex-direction-nav .prev,
.flexslider:hover .flex-prev,
.flexslider:hover .prev {
  opacity: 1;
  left: 5px !important;
}
.flex-direction-nav .flex-next,
.flex-direction-nav .next,
.flexslider:hover .flex-next,
.flexslider:hover .next {
  opacity: 1;
  right: 5px !important;
}
/***** BREADCRUMB *****/

#breadcrumb {
  margin: 0 0 30px 0;
  padding: 0 15px;
  font-size: 1em;
  color: #FAFAFA;
}
#breadcrumb a {
  padding: 0 5px;
  color: #BA0211;
  text-decoration: none;
}
#breadcrumb a:hover {
  color: #BA0211;
  text-decoration: underline;
}
#breadcrumb span.divider {
  color: #FAFAFA;
}
/***** MAINBAR *****/

#mainbar {
  float: left;
  width: 73%;
}
/***** CONTENT *****/

#content,
#pageheader {
  margin: 0;
  line-height: 1.38em;
  background-color: rgba(255, 255, 255, 0.9);
  color: #333333;
}
#content {
  float: left;
  width: 66%;
  box-sizing: border-box;
  font-size: 1em;
  padding: 0 0 30px 0;
}
#content .zpContainer {
  padding-left: 15px;
  padding-right: 15px;
}
#pageheader {
  overflow: hidden;
  padding: 0;
  box-sizing: border-box;
}
#pageheader.empty {
  margin-bottom: 30px;
}
#content.fullwidth {
  padding: 0 0 30px 0;
  width: auto;
  box-sizing: border-box;
  float: none;
}
#content input,
#content textarea {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  font-size: 1em;
  color: #333333;
}
#sidebarright {
  background-color: rgba(255, 255, 255, 0.9);
  font-size: 1em;
  width: 34%;
  box-sizing: border-box;
  padding: 0 15px;
  float: right;
}
/***** BUTTON *****/

#content a.button,
#sidebar a.button,
#sidebarright a.button,
input.button {
  display: inline-block;
  margin: 0 10px 30px 0;
  padding: 0;
  font-size: 1em;
  font-weight: normal;
  text-decoration: none;
  text-transform: uppercase;
  line-height: normal;
  color: #FFFFFF !important;
  background-color: #BA0211;
  border: 1px solid rgba(204, 204, 204, 0.9);
  background: #BA0211;
  text-align: center;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
#content .zp-form input.button {
  color: #FFFFFF !important;
}
#content a.button:hover,
#sidebar a.button:hover,
#sidebarright a.button:hover,
input.button:hover,
#content .zp-form input.button:hover {
  background: #81010C;
  color: #ffffff !important;
}
#content a.button span,
#sidebar a.button span,
#sidebarright a.button span,
input.button {
  display: block;
  margin: 0;
  padding: 8px 15px;
}
/***** SIDEBAR *****/

#sidebar {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  font-size: 1em;
  float: left;
  color: #333333;
  padding: 0;
  width: 27%;
  box-sizing: border-box;
  overflow: hidden;
}
#sidebar:before {
  content: "";
  position: absolute;
  width: 27%;
  left: 0;
  top: 143px;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
}
#sidebarinner {
  padding: 0 30px 0 30px;
}
.sidebarmodule {
  margin: 0 -20px 0 -30px;
  padding: 30px 30px;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
.sidebargradient {
  background-color: transparent;
  /*rgba(255, 255, 255, 0.9);*/

}
#styleswitcher {
  padding: 15px 30px !important;
  text-align: center;
  font-size: 18px;
}
#styleswitcher .button {
  font-family: Arial, sans-serif;
  width: 34px !important;
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 !important;
  margin: 6px 0 0 0 !important;
  font-size: 24px !important;
}
/***** NEWS *****/

.newsbox {
  margin: 0;
  line-height: 1.38em;
}
.newsbox.submenu {
  margin-bottom: 30px;
}
.newsbox h2 {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 2em;
  margin: 10px 0 10px 0;
  color: #BA0211;
  font-weight: normal;
}
.newstext {
  margin: 0;
  padding: 0;
  line-height: 1.38em;
  color: #333333;
}
.newstext p {
  margin: 0 0 10px 0;
}
.newstext a {
  color: #BA0211;
  text-decoration: none;
}
.newstext a:hover {
  color: #BA0211;
  text-decoration: underline;
}
/***** ARTICLES *****/

.articlearea {
  margin: 0;
  padding: 0;
}
.articleimage {
  margin: 0;
  padding: 4px 0 0 0;
}
.articletext {
  margin: 0;
  padding: 0;
}
.twocolumnleft {
  float: left;
  margin: 0;
  padding: 0;
}
.twocolumnleft > div {
  margin: 0;
  padding: 0 12px 0 0;
}
.twocolumnright {
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.twocolumnright > div {
  margin: 0;
  padding: 0 0 0 12px;
}
.bildunterschrift {
  display: block;
  color: #333333;
}
.floatarticle {
  float: left;
  margin: 0 0 30px 0;
  padding: 0;
  overflow: hidden;
}
.floatarticle > div {
  margin: 0;
  padding: 0 30px 0 0;
}
/***** FORM *****/

.zp-form {
  display: inline-block;
  margin: 0;
  padding: 0 0 10px 0;
}
.zp-form p {
  margin: 0;
  padding: 0;
}
.zp-form table {
  margin: 0;
  padding: 0;
}
.zp-form td {
  margin: 0;
  padding: 0;
  white-space: nowrap;
  vertical-align: middle;
}
.zp-form input {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  font-size: 1em;
  color: #333333 !important;
}
.zp-form textarea {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  font-size: 1em;
  color: #333333;
}
.zp-form .label,
.zp-form .field {
  padding: 3px 10px 3px 0;
}
.zp-form .desc {
  padding: 10px 10px 10px 0;
}
.zp-form .multiline {
  padding: 4px 10px 0 0;
  vertical-align: top;
}
.zp-form .submit {
  padding: 0;
}
.zp-form .separator {
  margin: 10px 10px 10px 0;
  padding: 0;
  line-height: 1px;
  height: 1px;
  border-bottom: 1px solid #333333;
}
/***** TEASER *****/

#banner,
#afterlogo,
#aftermenu,
#afterfooter {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  font-size: 1em;
  color: #333333;
  line-height: 1.38em;
}
#banner,
#afterfooter {
  clear: both;
  box-sizing: border-box;
  max-width: 100%;
  margin: 0;
  padding: 20px 0;
  border: 1px solid transparent;
  background-color: transparent;
}
#afterfooter {
  border-top: 0;
}
#banner h2,
#afterfooter h2,
#banner h1,
#afterfooter h1 {
  font-family: 'Helvetica Neue', Helvetica, Arial, Sans-Serif;
  display: block;
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 2em;
  font-weight: normal;
  color: #BA0211;
  line-height: normal;
}
#banner p,
#afterfooter p {
  margin: 0 0 10px 0;
  padding: 0;
}
#banner a:not(.button),
#afterfooter a:not(.button) {
  color: #BA0211;
  text-decoration: none;
}
#banner a:not(.button):hover,
#afterfooter a:not(.button):hover {
  color: #BA0211;
  text-decoration: underline;
}
/***** FOOTER *****/

#footer {
  overflow: hidden;
  display: block;
  clear: both;
  box-sizing: border-box;
  max-width: 100%;
  margin: 0;
  padding: 20px 30px;
  font-size: 0.92em;
  color: #333333;
  border: 1px solid transparent;
  border-top: 1px solid white;
  background-color: rgba(255, 255, 255, 0.9);
}
#footerinfo {
  float: left;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
#footerinfo .zp {
  color: #333333 !important;
}
/***** EXTRAMENU *****/

#xmenu {
  float: right;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
#xmenu a {
  margin: 0;
  padding: 0 0 0 10px;
  font-size: 1em;
  color: #333333;
  text-decoration: none;
}
#xmenu a:hover {
  color: #333333;
  text-decoration: underline;
}
/***** ARTICLE Styles *****/

.zpSO-Sitemap {
  clear: both;
}
/***** SITESEARCH *****/

.SO-SiteSearchList li span {
  font-size: inherit !important;
}
/***** ONLINESHOP *****/

.zpSO-OnlineShop-table {
  width: 100%;
}
.zpSO-OnlineShop-table th {
  margin: 0;
  padding: 8px 10px;
  font-weight: bold;
  text-align: left;
  color: #333333;
  background-color: rgba(255, 255, 255, 0.9);
}
.zpSO-OnlineShop-table td {
  margin: 0;
  padding: 8px 10px;
  text-align: left;
}
.zpSO-OnlineShop-row1 td,
.zpSO-OnlineShop-row2 td {
  margin: 0;
  padding: 8px 10px;
  text-align: left;
}
.zpSO-OnlineShop-row2 td {
  background-color: rgba(0, 0, 0, 0.05);
}
/***** ZP *****/

.zp {
  color: #333333 !important;
  text-decoration: none !important;
}
/***** CLEAR *****/

.clear {
  clear: both;
}
.clearx:after,
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
/***** FORM ANTI SPAM *****/

.asfield {
  display: none;
}
div.zpRow.news {
  margin-bottom: 30px;
}
/*** Responsive Breakpoints ***/

@media (min-width: 1000px) {
  #headerslider {
    min-height: 300px;
  }
}
@media (max-width: 1020px) {
  #banner,
  #topline,
  #sidebarright,
  #footer {
    padding-right: 15px;
  }
  #banner,
  #topline,
  #footer {
    padding-left: 15px;
  }
}
@media (max-width: 767px) {
  .flex-caption {
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  }
}
@media (max-width: 959px) {
  #content {
    box-sizing: border-box;
    float: none;
    width: auto;
  }
  #sidebarright {
    box-sizing: border-box;
    float: none;
    width: auto;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media (max-width: 700px) {
  #banner,
  #mainbar,
  #pageheader,
  #sidebar,
  #sidebarinner,
  #content,
  #content.fullwidth,
  #sidebarright,
  #footer,
  #afterfooter {
    box-sizing: border-box;
    float: none;
    width: 100%;
  }
  #banner,
  #sidebarinner,
  #sidebarright,
  #footer,
  #afterfooter,
  .flex-caption,
  #breadcrumb,
  #page_title {
    padding-left: 15px;
    padding-right: 15px;
  }
  #content,
  #content.fullwidth {
    margin: 0;
    padding: 0;
  }
  a#mobilenavtoggle {
    display: block;
  }
  a#mobilenavtoggle.on {
    position: fixed;
  }
  #topline {
    padding-top: 52px;
    padding-left: 15px;
    padding-right: 15px;
    height: auto;
  }
  #logo,
  #webtext {
    max-width: 47%;
  }
  #sidebar {
    position: static;
    /* sidebar doesn't need to stretch to full height anymore */
    height: auto !important;
  }
  #sidebar:before {
    content: none;
  }
  #sidebarinner {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    display: none;
    background-color: rgba(255, 255, 255, 0.9);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  }
  #sidebarinner.on {
    display: block;
  }
  div#subnavbar {
    padding-top: 52px;
  }
  div#subnavbar ul.submenu li a,
  div#subnavbar ul.submenu ul li a,
  div#subnavbar ul.submenu ul ul li a,
  div#subnavbar ul.submenu ul ul ul li a,
  div#subnavbar ul.submenu ul ul ul ul li a {
    width: auto;
    margin-right: -20px;
  }
  .newsbox.submenu {
    margin-bottom: 0;
  }
  .sidebarmodule {
    margin: 0 -30px;
    width: auto;
    border-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
    padding: 10px 30px;
  }
  .sidebargradient {
    background: transparent;
  }
  #search {
    margin: 0 -30px;
  }
  #search #searchform {
    width: auto;
    height: auto;
  }
  #search #searchfield {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    font-size: 16px;
    padding: 4px 33px 4px 10px;
  }
  #search #searchbutton {
    box-sizing: content-box;
    padding: 4px 0 4px 4px;
  }
  #pageheader,
  #content,
  #sidebarright {
    margin-left: 0;
  }
}
/* ZP 13 additions */

#banner .zpgrid,
#afterfooter .zpgrid {
  margin-left: -15px;
  margin-right: -15px;
}
#sidebarright .zpColumn {
  padding: 0;
}
body.plain .zpgrid,
body.plain .zpgrid #grid {
  max-width: none;
}
body.plain #mainbar {
  width: 100%;
}
/* remove 300ms touch delay on interactive elements */

a#mobilenavtoggle,
#subnavbar a {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
.zpColumn .zpBreakout {
  margin-left: -15px;
  margin-right: -15px;
}

html:not(.zppreview) {
  position: relative;
}
.zpconsentinfo {
  background-color: #e80000;
  padding: 10px 20px;
  color: #ffffff;
}
.zpconsentinfo h1,
.zpconsentinfo h2,
.zpconsentinfo h3,
.zpconsentinfo h5,
.zpconsentinfo h6 {
  color: inherit;
}
.zpconsentinfo p.butt {
  text-align: center;
  margin-top: 1em;
}
.zpconsentinfo p.description {
  display: inline;
}
.zpconsentinfo a {
  color: #ffffff !important;
  text-decoration: underline !important;
}
.zpconsentinfo a:hover {
  color: #ffffff !important;
  text-decoration: none !important;
}
.zpconsentinfo button {
  padding: 10px 16px;
  color: #ffffff;
  background-color: #ebebeb;
  border: 0;
  font-size: 1rem;
}
.zpconsentinfo button.default {
  color: #ffffff;
  background-color: #0371DF;
}
#consenttoggle {
  -webkit-transition: opacity 600ms;
  transition: opacity 600ms;
  pointer-events: none;
  opacity: 1;
  position: absolute;
  z-index: 7000;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 90vw;
  color: #333333;
  line-height: 0;
  text-align: center;
  -webkit-transform-origin: 0 bottom;
  -ms-transform-origin: 0 bottom;
  transform-origin: 0 bottom;
}
#consenttoggle > a.toggleconsent {
  pointer-events: auto;
  display: inline-block;
  color: inherit !important;
  text-decoration: none !important;
  box-sizing: border-box;
  width: 42px;
  height: 42px;
  margin: auto;
  padding: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border: 1px solid #333333;
  border-bottom-width: 0;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
#consenttoggle > a.toggleconsent:hover {
  color: inherit !important;
}
#consenttoggle.dark {
  color: #ffffff;
}
#consenttoggle.dark > a.toggleconsent {
  background-color: rgba(0, 0, 0, 0.7);
  box-shadow: 0 0 3px rgba(255, 255, 255, 0.8);
}
#consenttoggle.textonly > a.toggleconsent {
  display: inline-block;
  width: auto;
  max-width: 90vw;
  height: auto;
  padding: 8px 8px 5px;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#consenttoggle.left_top {
  position: fixed;
  left: 0;
  right: auto;
  top: 0;
  bottom: auto;
  max-width: calc(100vh - 3em - 13px);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  text-align: left;
}
#consenttoggle.left_middle {
  position: fixed;
  left: 0;
  right: auto;
  top: 0;
  bottom: auto;
  max-width: calc(100vh - 3em - 13px);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
#consenttoggle.left_bottom {
  position: fixed;
  left: 0;
  right: auto;
  top: 0;
  bottom: auto;
  max-width: calc(100vh - 3em - 13px);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  text-align: right;
}
#consenttoggle.right_top {
  position: fixed;
  left: auto;
  right: 0;
  top: 0;
  bottom: auto;
  max-width: calc(100vh - 3em - 13px);
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transform-origin: 100% bottom;
  -ms-transform-origin: 100% bottom;
  transform-origin: 100% bottom;
  text-align: right;
}
#consenttoggle.right_middle {
  position: fixed;
  left: auto;
  right: 0;
  top: 0;
  bottom: auto;
  max-width: calc(100vh - 3em - 13px);
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transform-origin: 100% bottom;
  -ms-transform-origin: 100% bottom;
  transform-origin: 100% bottom;
}
#consenttoggle.right_bottom {
  position: fixed;
  left: auto;
  right: 0;
  top: 0;
  bottom: auto;
  max-width: calc(100vh - 3em - 13px);
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transform-origin: 100% bottom;
  -ms-transform-origin: 100% bottom;
  transform-origin: 100% bottom;
  text-align: left;
}
#consenttoggle.bottom_left_fix {
  position: fixed;
  left: 40px;
  right: auto;
  text-align: left;
}
#consenttoggle.bottom_middle_fix {
  position: fixed;
  left: 0;
  right: 0;
  margin: auto;
}
#consenttoggle.bottom_right_fix {
  position: fixed;
  left: auto;
  right: 40px;
  text-align: right;
}
#consenttoggle.bottom_left {
  left: 40px;
  right: auto;
  text-align: left;
}
#consenttoggle.bottom_middle {
  left: 0;
  right: 0;
  margin: auto;
}
#consenttoggle.bottom_right {
  left: auto;
  right: 40px;
  text-align: right;
}
#consenttoggle svg {
  max-width: 100%;
  height: auto;
}
#consenttoggle.hidden {
  opacity: 0;
}
#consenttoggle.hidden > a.toggleconsent {
  pointer-events: none;
}
#consent * {
  box-sizing: border-box;
}
#consent.hidden {
  display: none;
  pointer-events: none;
}
#consent {
  box-sizing: border-box;
  position: fixed;
  z-index: 7001;
  bottom: 0px;
  left: 0;
  right: 0;
  margin: auto;
  color: #333333;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  padding: 10px 20px;
  border-left: 1px solid #333333;
  border-right: 1px solid #333333;
  border-top: 1px solid #333333;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  max-height: 90vh;
  max-width: 640px;
  width: 99%;
  overflow-y: auto;
}
#consent.backdrop {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
#consent #zpconsentlinks {
  text-align: center;
  font-size: smaller;
}
#consent h1,
#consent h2,
#consent h3,
#consent h4,
#consent h5,
#consent h6,
#consent p {
  color: inherit;
}
#consent a,
#consent a:not(.button):not(.close) {
  color: #0371DF;
}
#consent a.close {
  border: 1px solid #333333;
  color: #333333;
  text-decoration: none;
  position: absolute;
  z-index: 10;
  top: 12px;
  right: 12px;
  line-height: 1;
  padding: 1px 2px;
}
#consent a.close:hover {
  color: #ffffff;
  background-color: #0371DF;
}
#consent h3,
#consent h4 {
  font-size: 1.5rem;
  margin: 0;
}
#consent h3 {
  font-size: 2rem;
  margin-bottom: 0.5em;
}
#consent p.center {
  text-align: center;
}
#consent .consentcategory {
  font-weight: bolder;
}
#consent div.buttons {
  text-align: center;
  margin: 1.5em 0;
}
#consent button {
  padding: 10px 16px;
  color: #333333;
  background-color: #ebebeb;
  border: 1px solid #333333;
  font-size: 1rem;
}
#consent button:active {
  opacity: 0.8;
}
#consent button.default {
  color: #ffffff;
  background-color: #0371DF;
  border: 1px solid #0371DF;
}
#consent button:hover {
  border: 1px solid #9e9e9e;
}
#consent form {
  max-width: 100%;
  overflow: hidden;
}
#consent .consent:not(.consentcategory),
#consent div.cat {
  background-color: #E0E0E0;
  border-radius: 3px;
  padding: 0.5em 8px;
  min-width: 300px;
  max-width: 100%;
  margin-bottom: 0.5em;
}
#consent .consent:not(.consentcategory) > p,
#consent div.cat > p {
  margin: 0;
  margin-bottom: 0.5em;
}
#consent .consent:not(.consentcategory) div,
#consent div.cat div {
  display: none;
  background-color: #ffffff;
  border-radius: 3px;
  color: #333333;
  padding: 4px 8px 0.5em 8px;
}
#consent .consent:not(.consentcategory) div p,
#consent div.cat div p {
  margin: 0;
}
#consent .consent:not(.consentcategory) p.description,
#consent div.cat p.description {
  font-style: italic;
}
#consent a.collapse {
  color: inherit;
  text-decoration: none;
  position: relative;
  display: inline-block;
  height: 0.5em;
  width: 0.5em;
  margin-right: 6px;
}
#consent a.collapse:after {
  pointer-events: none;
  content: '';
  display: block;
  box-sizing: border-box;
  position: absolute;
  top: calc(49.64645%);
  left: 1px;
  height: 0.5em;
  width: 0.5em;
  border-style: solid;
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-width: 1px 1px 0 0;
  -webkit-transition: transform 200ms ease;
  transition: transform 200ms ease;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#consent .switch {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 26px;
  margin-left: 2em;
  margin-bottom: 0.5em;
  float: right;
  clear: both;
  /* Rounded sliders */

}
#consent .switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: relative;
}
#consent .switch .slider {
  position: absolute;
  cursor: pointer;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 26px;
  background-color: #e80000;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
#consent .switch .slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
#consent .switch .slider:after {
  content: "Aus";
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 4px;
  width: 30px;
  color: #ffffff;
  font-weight: normal;
  font-family: sans-serif;
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
}
#consent .switch input:checked + .slider {
  background-color: green;
}
#consent .switch input.partial:checked + .slider {
  background-color: #ccc;
}
#consent .switch input.partial:checked + .slider:after {
  color: #333333;
  font-style: italic;
}
#consent .switch input:focus + .slider {
  box-shadow: 0 0 1px green;
}
#consent .switch input:checked + .slider:before {
  left: auto;
  right: 4px;
}
#consent .switch input:checked + .slider:after {
  content: "An";
  color: #ffffff;
  left: 4px;
  right: auto;
}
#consent .switch .slider.round {
  border-radius: 26px;
}
#consent .switch .slider.round:before {
  border-radius: 50%;
}
#consent.dark {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.85);
}
#consent.dark a,
#consent.dark a:not(.button):not(.close) {
  color: #4CA6FF;
}
#consent.dark a.close {
  border: 1px solid #ffffff;
  color: #ffffff;
}
#consent.dark div.cat {
  background-color: #333333;
}
#consent.dark div.cat div {
  color: inherit;
  background-color: #000000;
}
#consent.dark button:hover {
  border: 1px solid #ffffff;
}
html:not([lang^="de"]) #consent .switch .slider:after {
  content: "Off";
}
html:not([lang^="de"]) #consent .switch input:checked + .slider:after {
  content: "On";
}