/* compiled by scssphp v0.8.0 on Mon, 02 Dec 2024 12:37:45 +0000 (0.0642s) */

@charset "utf-8";
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4999;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5000;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #ccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #ccc; }

.mfp-preloader a:hover {
  color: #fff; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px; }

.mfp-close:hover, .mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before, .mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #fff;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #fff;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3f3f3f; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }
/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }
/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
    .mfp-img-mobile .mfp-image-holder {
      padding-left: 0;
      padding-right: 0; }
    .mfp-img-mobile img.mfp-img {
      padding: 0; }
    .mfp-img-mobile .mfp-figure:after {
      top: 0;
      bottom: 0; }
    .mfp-img-mobile .mfp-figure small {
      display: inline;
      margin-left: 5px; }
    .mfp-img-mobile .mfp-bottom-bar {
      background: rgba(0, 0, 0, 0.6);
      bottom: 0;
      margin: 0;
      top: auto;
      padding: 3px 5px;
      position: fixed;
      box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
    .mfp-img-mobile .mfp-counter {
      right: 5px;
      top: 3px; }
    .mfp-img-mobile .mfp-close {
      top: 0;
      right: 0;
      width: 35px;
      height: 35px;
      line-height: 35px;
      background: rgba(0, 0, 0, 0.6);
      position: fixed;
      text-align: center;
      padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }

  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }

  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
 Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
 */
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
 Contents:
 1. Buttons
 2. Share modal and links
 3. Index indicator ("1 of X" counter)
 4. Caption
 5. Loading indicator
 6. Additional styles (root element, top bar, idle state, hidden state, etc.)
 */
/*
 1. Buttons
 */
/* <button> css reset */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none; }
  .pswp__button:focus, .pswp__button:hover {
    opacity: 1; }
  .pswp__button:active {
    outline: none;
    opacity: 0.9; }
  .pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0; }
/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }

.pswp__button, .pswp__button--arrow--left:before, .pswp__button--arrow--right:before {
  background: url(/site/templates/sass/vendors/photoswipe/default-skin/default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }

@media (-webkit-min-device-pixel-ratio: 1.1), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
    .pswp--svg .pswp__button, .pswp--svg .pswp__button--arrow--left:before, .pswp--svg .pswp__button--arrow--right:before {
      background-image: url(/site/templates/sass/vendors/photoswipe/default-skin/default-skin.svg); }
    .pswp--svg .pswp__button--arrow--left, .pswp--svg .pswp__button--arrow--right {
      background: none; } }

.pswp__button--close {
  background-position: 0 -44px; }

.pswp__button--share {
  background-position: -44px -44px; }

.pswp__button--fs {
  display: none; }

.pswp--supports-fs .pswp__button--fs {
  display: block; }

.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }

.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }

.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }

.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }
/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left, .pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }
/*
 Arrow buttons hit area
 (icon is added to :before pseudo-element)
 */
.pswp__button--arrow--left, .pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }

.pswp__button--arrow--left {
  left: 0; }

.pswp__button--arrow--right {
  right: 0; }

.pswp__button--arrow--left:before, .pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute; }

.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }

.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }
/*
 2. Share modal/popup and links
 */
.pswp__counter, .pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__share-modal--hidden {
  display: none; }

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #fff;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  transform: translateY(6px);
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }
  .pswp__share-tooltip a {
    display: block;
    padding: 8px 12px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    line-height: 18px; }
    .pswp__share-tooltip a:hover {
      text-decoration: none;
      color: #000; }
    .pswp__share-tooltip a:first-child {
      /* round corners on the first/last list item */
      border-radius: 2px 2px 0 0; }
    .pswp__share-tooltip a:last-child {
      border-radius: 0 0 2px 2px; }

.pswp__share-modal--fade-in {
  opacity: 1; }
  .pswp__share-modal--fade-in .pswp__share-tooltip {
    transform: translateY(0); }
/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid rgba(0, 0, 0, 0);
  border-bottom-color: #fff;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }
  a.pswp__share--facebook:hover {
    background: #3e5c9a;
    color: #fff; }
    a.pswp__share--facebook:hover:before {
      border-bottom-color: #3e5c9a; }

a.pswp__share--twitter:hover {
  background: #55acee;
  color: #fff; }

a.pswp__share--pinterest:hover {
  background: #ccc;
  color: #ce272d; }

a.pswp__share--download:hover {
  background: #ddd; }
/*
 3. Index indicator ("1 of X" counter)
 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #fff;
  opacity: 0.75;
  padding: 0 10px; }
/*
 4. Caption
 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }
  .pswp__caption small {
    font-size: 11px;
    color: #bbb; }

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #ccc; }

.pswp__caption--empty {
  display: none; }
/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden; }
/*
 5. Loading indicator (preloader)
 You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR
 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }

.pswp__preloader--active {
  opacity: 1; }
  .pswp__preloader--active .pswp__preloader__icn {
    /* We use .gif in browsers that don't support CSS animation */
    background: url(/site/templates/sass/vendors/photoswipe/default-skin/preloader.gif) 0 0 no-repeat; }

.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    animation: clockwise 500ms linear infinite; }
  .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }
  .pswp--css_animation .pswp__preloader__icn {
    background: none;
    opacity: 0.75;
    width: 14px;
    height: 14px;
    position: absolute;
    left: 15px;
    top: 15px;
    margin: 0; }
  .pswp--css_animation .pswp__preloader__cut {
    /* 
     The idea of animating inner circle is based on Polymer ("material") loading indicator 
     by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
     */
    position: relative;
    width: 7px;
    height: 14px;
    overflow: hidden; }
  .pswp--css_animation .pswp__preloader__donut {
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    border: 2px solid #fff;
    border-radius: 50%;
    border-left-color: transparent;
    border-bottom-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    background: none;
    margin: 0; }

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }

@keyframes clockwise {
  0% {
    transform: rotate(0deg); }

  100% {
    transform: rotate(360deg); } }

@keyframes donut-rotate {
  0% {
    transform: rotate(0); }

  50% {
    transform: rotate(-140deg); }

  100% {
    transform: rotate(0); } }
/*
 6. Additional styles
 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
  height: 100vh; }
/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }

.pswp__caption, .pswp__top-bar, .pswp--has_mouse .pswp__button--arrow--left, .pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left, .pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }

.pswp__top-bar, .pswp__caption {
  background-color: rgba(0, 0, 0, 0.5); }
/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar, .pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3); }
/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }
  .pswp__ui--idle .pswp__button--arrow--left, .pswp__ui--idle .pswp__button--arrow--right {
    opacity: 0; }
/*
 pswp__ui--hidden class is added when controls are hidden
 e.g. when user taps to toggle visibility of controls
 */
.pswp__ui--hidden {
  /* Force paint & create composition layer for controls. */ }
  .pswp__ui--hidden .pswp__top-bar, .pswp__ui--hidden .pswp__caption, .pswp__ui--hidden .pswp__button--arrow--left, .pswp__ui--hidden .pswp__button--arrow--right {
    opacity: 0.001; }
/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left, .pswp__ui--one-slide .pswp__button--arrow--right, .pswp__ui--one-slide .pswp__counter {
  display: none; }

.pswp__element--disabled {
  display: none !important; }

.pswp--minimal--dark .pswp__top-bar {
  background: none; }
/* pswp = photoswipe */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }
  .pswp * {
    box-sizing: border-box; }
  .pswp img {
    max-width: none; }
/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  /* for open/close transition */ }

.pswp--open {
  display: block; }

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }
/*
 Background is added as a separate element.
 As animating opacity is much faster than animating rgba() background-color.
 */
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.pswp__container, .pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }
/* Prevent selection and tap highlights */
.pswp__container, .pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none; }

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -moz-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }

.pswp--animated-in .pswp__bg, .pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none; }

.pswp__container, .pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }
/*
 stretched thumbnail or div placeholder element (see below)
 style is added to avoid flickering in webkit/blink when layers overlap
 */
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }
/*
 div element that matches size of large image
 large image loads on top of it
 */
.pswp__img--placeholder--blank {
  background: #222; }

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }
/*
 Error message appears when image is not loaded
 (JS option errorMsg controls markup)
 */
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #ccc; }

.pswp__error-msg a {
  color: #ccc;
  text-decoration: underline; }
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font-size: 100%;
  font: inherit;
  position: relative; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

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

@font-face {
  font-family: "DIN W01 Light";

  src: url("/site/templates/fonts/5590868/25df6f92-ec41-4f60-91af-bddc19a3adc2.eot?#iefix");

  src: url("/site/templates/fonts/5590868/25df6f92-ec41-4f60-91af-bddc19a3adc2.eot?#iefix") format("eot"), url("/site/templates/fonts/5590868/e39ef3e7-91b2-45d0-8c2f-cfdcd0c0ab94.woff2") format("woff2"), url("/site/templates/fonts/5590868/83ff78fa-6d76-4fb5-8bff-8af8eec8e368.woff") format("woff"), url("/site/templates/fonts/5590868/9be9615e-18d6-4bf7-bb05-068341c85df3.ttf") format("truetype"); }

@font-face {
  font-family: "DIN W01 Regular";

  src: url("/site/templates/fonts/5591097/9b63158c-0e74-4751-966c-d749c5d31cce.eot?#iefix");

  src: url("/site/templates/fonts/5591097/9b63158c-0e74-4751-966c-d749c5d31cce.eot?#iefix") format("eot"), url("/site/templates/fonts/5591097/6ceed230-b2b3-4422-b048-4aa11687430a.woff2") format("woff2"), url("/site/templates/fonts/5591097/80b0143f-6f0d-4dce-aafd-f3c81b85d177.woff") format("woff"), url("/site/templates/fonts/5591097/247437df-66d2-4605-ac03-1be0e07c31a7.ttf") format("truetype"); }

@font-face {
  font-family: "DIN W01 Bold";

  src: url("/site/templates/fonts/5591154/9cab3d10-a1a9-4145-ab8a-cde6265a011d.eot?#iefix");

  src: url("/site/templates/fonts/5591154/9cab3d10-a1a9-4145-ab8a-cde6265a011d.eot?#iefix") format("eot"), url("/site/templates/fonts/5591154/55fa1cf8-baf8-4bf8-9718-b096b1dd231f.woff2") format("woff2"), url("/site/templates/fonts/5591154/4cadc2f9-fb32-4b99-b1f2-9ce6d68afbd5.woff") format("woff"), url("/site/templates/fonts/5591154/24018d68-3235-4323-9ec0-4a86537b0f30.ttf") format("truetype"); }

@font-face {
  font-family: 'Material Icons';

  src: url('/site/templates/fonts/MaterialIcons-Regular') format('woff');

  font-weight: normal;

  font-style: normal; }

@font-face {
  font-family: 'icomoon';

  src: url('/site/templates/fonts/icomoon.woff2') format('woff2'), url('/site/templates/fonts/icomoon.woff') format('woff');

  font-weight: normal;

  font-style: normal; }

.regular, .fs_headline_1, div#content article#productDetail div.detail > div h3, form.InputfieldForm h2, div#content section.contentpart h2, section.contentpart h2, .fs_headline_2, div#content article h3, div#content section.contentpart h4, section.contentpart h3, section.contentpart h4, div#content article#productDetail div.detail > div table th, form.InputfieldForm label, form.InputfieldForm button, table.cart th, table.cart input, .referenceLabel h3, ul#mainNavi > li > a > span, ul#mainNavi ul a span, ul#mainNavi ul button span, ul.headerNavi li.anfrageliste a::after {
  font-family: "DIN W01 Regular", sans-serif; }

.light, form.InputfieldForm input, form.InputfieldForm textarea, * {
  font-family: "DIN W01 Light", sans-serif; }

.bold {
  font-family: "DIN W01 Bold", sans-serif; }

.fs_text {
  font-size: 0.9rem; }

.fs_teaser {
  font-size: 1.2rem;
  margin-bottom: 1.2rem; }
  @media only screen and (max-width: 63.75rem) {
  .fs_teaser {
    font-size: 1rem;
    margin-bottom: 1rem; } }

.fs_text_big, ul.LoginRegisterLinks li a {
  font-size: 1.2rem;
  margin-bottom: 1.2rem; }
  @media only screen and (max-width: 63.75rem) {
  .fs_text_big, ul.LoginRegisterLinks li a {
    font-size: 1rem;
    margin-bottom: 1rem; } }

.fs_text_small {
  font-size: 0.9rem; }

.fs_text_tiny, ul.headerNavi li a span {
  font-size: 0.8rem; }

.fs_headline_1, div#content article#productDetail div.detail > div h3, form.InputfieldForm h2, div#content section.contentpart h2, section.contentpart h2 {
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: 1.2rem; }
  @media only screen and (max-width: 63.75rem) {
  .fs_headline_1, div#content article#productDetail div.detail > div h3, form.InputfieldForm h2, div#content section.contentpart h2, section.contentpart h2 {
    font-size: 1.6rem;
    margin-bottom: 1rem; } }

.fs_headline_2, div#content article h3, div#content section.contentpart h4, section.contentpart h3, section.contentpart h4 {
  font-size: 1.2rem;
  margin-bottom: 0.5rem; }
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
div#content article#productDetail {
  padding: 0; }
  div#content article#productDetail * {
    font-size: 1rem; }
  div#content article#productDetail div.detail {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 3rem;
    padding-bottom: 3rem; }
  div#content article#productDetail div.detail:a:after {
    content: "";
    display: block; }
  div#content article#productDetail div.detail > figure {
    padding: 3rem 0 0 3rem;
    display: block;
    width: 40%; }
    div#content article#productDetail div.detail > figure a::before {
      font-family: icomoon;
      content: "\e902";
      position: absolute;
      right: 1rem;
      top: 1rem;
      color: white;
      z-index: 10;
      font-size: 1.5rem;
      opacity: 0.7; }
    div#content article#productDetail div.detail > figure a:hover::before {
      opacity: 1; }
    div#content article#productDetail div.detail > figure::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      width: 1px;
      background-color: #e9e9e9; }
    @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.detail > figure {
      width: 100%;
      padding: 0;
      margin-bottom: 2rem; } }
    div#content article#productDetail div.detail > figure img {
      width: 100%;
      display: block;
      background-image: url(/site/templates/images/loading.gif);
      background-color: white;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      cursor: pointer; }
    div#content article#productDetail div.detail > figure ul.slick-dots {
      margin: 10px 0 0 0; }
      div#content article#productDetail div.detail > figure ul.slick-dots li {
        display: inline-block; }
        div#content article#productDetail div.detail > figure ul.slick-dots li.slick-active button {
          background-color: #ef7d00; }
        div#content article#productDetail div.detail > figure ul.slick-dots li button {
          background-color: transparent;
          padding: 0;
          width: 20px;
          height: 20px;
          margin: 0 5px 5px 0;
          cursor: pointer;
          border: 1px solid #5f5e5e; }
  div#content article#productDetail div.detail > div {
    width: 60%;
    padding: 3rem 3rem 0 5rem; }
    @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.detail > div {
      width: 100%;
      padding: 0 1rem 0 1rem; } }
    div#content article#productDetail div.detail > div h3 {
      color: #ef7d00; }
    div#content article#productDetail div.detail > div p {
      margin-bottom: 1rem; }
    div#content article#productDetail div.detail > div hr {
      height: 1px;
      border: none;
      background-color: #000;
      margin-bottom: 1rem; }
    div#content article#productDetail div.detail > div table {
      margin-bottom: 0.5rem;
      border: none;
      border-collapse: collapse;
      width: 100%;
      overflow: auto; }
      div#content article#productDetail div.detail > div table th, div#content article#productDetail div.detail > div table td {
        text-align: left;
        padding: 0 1rem 0.5rem 0;
        vertical-align: top; }
        @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.detail > div table th, div#content article#productDetail div.detail > div table td {
      display: block; } }
      div#content article#productDetail div.detail > div table th {
        white-space: nowrap; }
        @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.detail > div table th {
      padding-bottom: 0; } }
      @media only screen and (max-width: 63.75rem) {
      div#content article#productDetail div.detail > div table td {
        padding-bottom: 1rem; } }
      div#content article#productDetail div.detail > div table td.separator {
        padding: 0.5rem 0 0 0; }
  div#content article#productDetail div.detail a.button.backToList {
    position: absolute;
    top: 0;
    right: -0.5rem; }
  div#content article#productDetail a.video::after {
    font-family: icomoon;
    content: "\e90f";
    color: #fff;
    font-size: 5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  div#content article#productDetail div.gallery {
    padding: 0 3rem;
    margin-bottom: 2rem;
    overflow: auto; }
  @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.gallery {
      padding: 0 1rem;
      display: none; } }
  div#content article#productDetail div.gallery ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0 !important;
    list-style: none !important; }
    div#content article#productDetail div.gallery ul li {
      padding: 0 1% 0 0;
      margin-bottom: 1%;
      width: 13.66%; }
      div#content article#productDetail div.gallery ul li a {
        display: inline-block; }
      div#content article#productDetail div.gallery ul li a.video::after {
        font-family: icomoon;
        content: "\e90f";
        color: #fff;
        font-size: 5rem;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
      @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.gallery ul li {
      width: 33.33%; } }
      div#content article#productDetail div.gallery ul li.active picture {
        border-color: #ef7d00; }
      div#content article#productDetail div.gallery ul li picture {
        border: 2px solid transparent;
        display: block;
        transition: all 0.2s; }
        div#content article#productDetail div.gallery ul li picture img {
          display: block;
          width: 100%; }
  div#content article#productDetail div.matches {
    padding: 0 3rem 1rem;
    margin-bottom: 2rem; }
  @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.matches {
      padding: 0 1rem; } }
  div#content article#productDetail div.matches h4 {
    text-transform: uppercase;
    margin-bottom: 0.5rem; }
  div#content article#productDetail div.matches ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: 0 !important;
    list-style: none !important; }
    div#content article#productDetail div.matches ul li {
      padding: 0 1% 0 0;
      width: 13.66%;
      margin-bottom: 1%; }
      @media only screen and (max-width: 63.75rem) {
    div#content article#productDetail div.matches ul li {
      width: 33.33%; } }
      div#content article#productDetail div.matches ul li.active picture {
        border-color: #ef7d00; }
      div#content article#productDetail div.matches ul li picture {
        border: 2px solid transparent;
        display: block;
        transition: all 0.2s; }
        div#content article#productDetail div.matches ul li picture img {
          display: block;
          width: 100%; }

div#content article.news {
  display: flex;
  flex-wrap: wrap;
  padding: 2rem;
  margin-bottom: 1px; }
  div#content article.news:last-child {
    margin-bottom: 0; }
  div#content article.news > figure {
    width: 25%; }
  div#content article.news > figure img {
    width: 100%;
    height: auto;
    display: block; }
  div#content article.news > div {
    width: 75%;
    padding: 0 0 0 2rem; }
  @media only screen and (max-width: 63.75rem) {
  div#content article.news {
    padding: 0 2rem; }
    div#content article.news > figure, div#content article.news > div {
      width: 100%;
      padding: 0; }

    div#content article.news > figure img {
      margin-bottom: 1rem; } }

section#anfrage_archiv div.item {
  padding: 1rem;
  background-color: #fff;
  margin: 0 0 0.5rem 0; }
  section#anfrage_archiv div.item.interactive form.details {
    display: none; }
    section#anfrage_archiv div.item.interactive h3 {
      cursor: pointer; }
  section#anfrage_archiv div.item h3 {
    margin: 0;
    padding: 0 2rem 0 0; }
    section#anfrage_archiv div.item h3::after {
      font-family: "icomoon";
      content: "\e900";
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%); }
  section#anfrage_archiv div.item form.details {
    padding-top: 1rem; }
    section#anfrage_archiv div.item form.details table {
      width: 100%;
      margin: 0 0 1rem 0; }
      section#anfrage_archiv div.item form.details table td, section#anfrage_archiv div.item form.details table th {
        vertical-align: top;
        text-align: left;
        padding: 0.2rem 1rem 0.2rem 0;
        border-bottom: 1px solid #ef7d00; }
      section#anfrage_archiv div.item form.details table th {
        font-weight: bold; }
        section#anfrage_archiv div.item form.details table th:nth-child(1) {
          width: 70%; }
        section#anfrage_archiv div.item form.details table th:nth-child(2) {
          width: 20%; }
        section#anfrage_archiv div.item form.details table th:nth-child(3) {
          width: 10%; }
    section#anfrage_archiv div.item form.details p {
      margin: 0; }

.button {
  background-color: #5f5e5e;
  color: #fff !important;
  text-decoration: none;
  padding: 0.5rem 1rem;
  text-transform: uppercase;
  font-size: 0.9rem;
  display: inline-block; }
  .button.highlight, .button:hover {
    background-color: #ef7d00; }
  .button.icon {
    margin-right: 0.5rem;
    width: 48px;
    height: 48px;
    padding: 12px 10px 5px 10px; }
  .button.icon span {
    display: none; }
  .button.icon::before {
    font-family: icomoon;
    font-size: 2rem; }
  .button.cartAdd, .button.continue, .button.send, .button.downloadPDF {
    display: inline-block;
    padding: 0;
    height: auto;
    width: auto;
    background: none;
    margin: 0;
    line-height: normal !important; }
  .button.cartAdd::before, .button.continue::before, .button.send::before, .button.downloadPDF::before {
    padding: 0;
    color: #ef7d00;
    font-size: 5rem; }
  .button.cartAdd.cartAdd::before, .button.continue.cartAdd::before, .button.send.cartAdd::before, .button.downloadPDF.cartAdd::before {
    content: "\e90e"; }
  .button.cartAdd.downloadPDF::before, .button.continue.downloadPDF::before, .button.send.downloadPDF::before, .button.downloadPDF.downloadPDF::before {
    content: "\e913"; }
  .button.cartAdd.continue, .button.continue.continue, .button.send.continue, .button.downloadPDF.continue {
    float: left; }
    .button.cartAdd.continue::before, .button.continue.continue::before, .button.send.continue::before, .button.downloadPDF.continue::before {
      content: "\e911"; }
  .button.cartAdd.send, .button.continue.send, .button.send.send, .button.downloadPDF.send {
    float: right; }
    .button.cartAdd.send::before, .button.continue.send::before, .button.send.send::before, .button.downloadPDF.send::before {
      content: "\e912"; }
  .button.cartAdd:hover, .button.continue:hover, .button.send:hover, .button.downloadPDF:hover {
    background: none; }
    .button.cartAdd:hover::before, .button.continue:hover::before, .button.send:hover::before, .button.downloadPDF:hover::before {
      color: #000; }
  .button.prevItem::before {
    content: "\e908"; }
  .button.nextItem::before {
    content: "\e909"; }
  .button.backToList::before {
    content: "\e907"; }

button.mfp-close {
  position: fixed !important;
  top: 2rem !important;
  right: 2rem !important;
  left: auto !important;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 3rem !important; }
  button.mfp-close span {
    display: none; }

button#toTop {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 1000;
  background-color: #ef7d00;
  padding: 0.8rem;
  display: none; }
  button#toTop::after {
    font-family: icomoon;
    content: "\e906";
    color: white;
    font-size: 2rem; }
  body.scrolled button#toTop {
    display: block; }

form#searchFormHeader, form.searchFormHeader {
  margin: 0 1rem 2rem 0;
  display: block; }
  form#searchFormHeader input, form.searchFormHeader input {
    border: 1px solid #ef7d00;
    padding: 10px;
    text-transform: uppercase;
    width: 100%; }
  form#searchFormHeader button, form.searchFormHeader button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0.5rem;
    background: none;
    border-bottom: 15px solid transparent;
    border-top: 15px solid transparent;
    border-left: 20px solid #ef7d00; }
  form#searchFormHeader button span, form.searchFormHeader button span {
    display: none; }

form.InputfieldForm input, form.InputfieldForm textarea {
  padding: 0.5rem;
  font-size: 16px !important; }
  form.InputfieldForm input[type="email"]:-internal-autofill-selected, form.InputfieldForm input[type="password"]:-internal-autofill-selected {
    background-color: white !important; }
  form.InputfieldForm div.InputfieldStateRequired label::after {
    content: " *";
    color: red; }
  form.InputfieldForm label {
    display: block;
    font-weight: bold;
    padding-bottom: 0.25em; }
  form.InputfieldForm button {
    background-color: #ef7d00;
    color: white;
    text-transform: uppercase;
    padding: 0.5rem 1rem;
    margin-right: 1rem; }
  form.InputfieldForm button:hover {
    background-color: #5f5e5e; }
  form.InputfieldForm div.form__item {
    margin-bottom: 1rem; }

ul.productList {
  display: flex;
  flex-wrap: wrap;
  padding: 0 1rem 1rem 1rem;
  list-style: none !important;
  margin-left: 0 !important; }
  ul.productList li {
    width: 20%;
    padding: 0 1rem 0 1rem;
    margin-bottom: 2rem; }
  ul.productList li.neu-im-sortiment picture::after {
    content: url(/site/templates/images/neu.svg);
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    display: block; }
  @media only screen and (min-width: 81.26rem) {
    ul.productList li {
      width: 25%; } }
  @media only screen and (max-width: 81.25rem) {
    ul.productList li {
      width: 33.33%; } }
  @media only screen and (max-width: 63.75rem) {
    ul.productList li {
      width: 50%; } }
  @media only screen and (max-width: 32rem) {
    ul.productList li {
      width: 100%; } }
  ul.productList li picture {
    display: block;
    width: 100%;
    margin-bottom: 0.25rem; }
    ul.productList li picture img {
      width: 100%; }
  ul.productList li * {
    font-size: 0.9rem !important; }
  ul.productList li h4 {
    color: #ef7d00;
    text-transform: uppercase;
    font-size: 1rem;
    margin-bottom: 0 !important; }
  ul.productList li p {
    margin-bottom: 0 !important; }

ul.personList {
  list-style: none !important;
  margin-left: 0 !important;
  display: flex;
  flex-wrap: wrap; }
  ul.personList > li {
    width: 49%;
    margin: 0 0.5% 1% 0;
    background-color: white; }
  ul.personList > li:nth-child(even) {
    margin: 0 0 1% 0.5%; }
  @media only screen and (max-width: 63.75rem) {
    ul.personList > li {
      width: 100%;
      margin: 0 0 1rem 0 !important; } }
  ul.personList > li > div {
    display: flex;
    flex-wrap: wrap; }
    ul.personList > li > div picture {
      width: 50%;
      overflow: hidden; }
      ul.personList > li > div picture img {
        width: 100%;
        display: block;
        border-right: 1px solid #e9e9e9; }
      ul.personList > li > div picture img.overlay {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: all 0.4s; }
        ul.personList > li > div picture img.overlay:hover {
          opacity: 1;
          transform: scale(1.1); }
    ul.personList > li > div article {
      padding: 1rem 1rem 0 !important;
      width: 50%; }
      ul.personList > li > div article h4 {
        font-size: 1.1rem !important;
        margin-bottom: 0.2rem !important;
        text-transform: uppercase; }
      ul.personList > li > div article p {
        margin-bottom: 1rem; }
    @media only screen and (max-width: 63.75rem) {
    ul.personList > li > div picture, ul.personList > li > div article {
      width: 100%; } }
    ul.personList > li > div span {
      display: none; }
  ul.personList > li ul.communication {
    list-style: none !important;
    margin-left: 0 !important; }
    ul.personList > li ul.communication li {
      margin-bottom: 0 !important;
      padding-left: 25px; }
      ul.personList > li ul.communication li::before {
        content: "";
        font-family: "icomoon";
        margin-right: 10px;
        display: inline-block;
        position: absolute;
        left: 0;
        top: 2px;
        font-size: 1.2rem; }
      ul.personList > li ul.communication li.phone::before {
        content: "\e90c"; }
      ul.personList > li ul.communication li.email::before {
        content: "\e901"; }

ul.showroom {
  list-style: none !important;
  margin-left: 0 !important;
  display: flex;
  flex-wrap: wrap; }
  ul.showroom li {
    width: 49.5%;
    margin: 0 0.5% 2% 0; }
  ul.showroom li:nth-child(1) {
    width: 100%;
    margin: 0 0 1% 0 !important; }
  ul.showroom li:nth-child(odd) {
    margin: 0 0 2% 0.5%; }
  @media only screen and (max-width: 63.75rem) {
    ul.showroom li {
      width: 100%;
      margin: 0 0 1rem 0 !important; } }
  ul.showroom li figure img {
    width: 100%;
    display: block; }
    ul.showroom li figure:hover figcaption {
      opacity: 1; }
    @media only screen and (max-width: 63.75rem) {
      ul.showroom li figure figcaption {
        position: static !important;
        opacity: 1 !important; } }
  ul.showroom.slider li {
    width: 100%;
    margin: 0 !important; }
  ul.showroom.slider li figure figcaption {
    display: none; }
  ul.showroom button.arrow {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 500;
    background: none; }
  ul.showroom button.arrow::after {
    font-family: icomoon;
    content: "\e908";
    color: white;
    font-size: 3rem; }
  ul.showroom button.arrow.nextSlide {
    left: auto;
    right: 0; }
    ul.showroom button.arrow.nextSlide::after {
      content: "\e909"; }
  ul.showroom button.arrow span {
    display: none; }

ul.linkList a strong {
  color: black; }
  ul.linkList a span {
    display: block;
    font-size: 0.9rem;
    color: #ef7d00; }

ul.iconsList {
  list-style: none;
  margin-left: 0 !important;
  display: inline-block; }
  ul.iconsList li {
    display: inline-block;
    margin: 0 0.5rem 0.5rem 0;
    vertical-align: top; }
  ul.iconsList li figure {
    width: 50px; }
    ul.iconsList li figure img {
      width: 100%; }
    ul.iconsList li figure figcaption {
      display: none;
      font-size: 10px !important;
      width: 100%;
      text-align: center; }

ul#suggest {
  position: absolute;
  overflow: auto;
  top: 40px;
  bottom: 0;
  left: 0;
  width: 19%;
  list-style: none;
  background-color: #333; }
  ul#suggest li {
    padding: 0.5rem 1rem; }
  ul#suggest li a {
    color: white;
    text-decoration: none; }
    ul#suggest li a:hover {
      color: #ef7d00; }

ul.subPagesMosaic {
  display: flex;
  flex-wrap: wrap;
  margin: 0 !important;
  list-style: none !important; }
  ul.subPagesMosaic li {
    display: flex;
    width: 32.33%;
    margin: 0 1% 1% 0;
    padding: 1rem;
    align-items: center;
    justify-content: center;
    background-color: white;
    /*
     &::before {
     content:'';
     float:left;
     padding-top:100%;
     }
     */ }
  ul.subPagesMosaic li img {
    width: 100%;
    display: block; }

ul.LoginRegisterLinks {
  margin: 2rem 0; }
  ul.socialChannels {
    text-align: center;
    margin-bottom: 5rem; }
  ul.socialChannels li {
    display: inline-block;
    margin: 0 1rem; }
  ul.socialChannels a {
    text-decoration: none;
    padding-left: 2.5rem; }
  ul.socialChannels a * {
    color: white;
    fill: white;
    font-size: 1rem;
    transition: all 0.2s; }
  ul.socialChannels a svg {
    width: 2rem;
    height: auto;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); }
  @media only screen and (max-width: 81.25rem) {
    ul.socialChannels a span {
      display: none; } }

table.cart {
  width: 100%;
  margin-bottom: 1.5rem; }
  table.cart th, table.cart td {
    text-align: left;
    padding: 0.5rem 1rem 0.5rem 0;
    border-bottom: 1px solid #ef7d00; }
  table.cart th.count, table.cart td.count {
    width: 70px; }
  table.cart th.actions, table.cart td.actions {
    width: 24px;
    padding-right: 0; }
  table.cart th {
    text-transform: uppercase; }
  table.cart input {
    width: 100%;
    text-align: right;
    padding: 2px 5px; }
  table.cart button.removeFromCart {
    background: none;
    padding: 0;
    margin: 0;
    cursor: pointer; }
  table.cart button.removeFromCart span {
    display: none; }
  table.cart button.removeFromCart::before {
    font-family: "icomoon";
    content: "\e90d";
    color: #ef7d00; }

div.referencePopup {
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center; }
  div.referencePopup > button {
    position: absolute;
    top: 2rem;
    right: 2rem;
    background: none;
    border: none;
    cursor: pointer; }
  div.referencePopup > button span {
    display: none; }
  div.referencePopup > button::before {
    font-family: icomoon;
    content: "\e907";
    color: white;
    font-size: 2rem; }
  div.referencePopup img {
    max-width: 100vw;
    max-height: 100vh; }
  div.referencePopup div.referenceDesc {
    opacity: 1 !important;
    visibility: visible !important; }

.referenceLabel, ul.showroom li figure figcaption, div.referencePopup div.referenceDesc {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  opacity: 0;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.8);
  transition: all 0.2s; }
  .referenceLabel, ul.showroom li figure figcaption, div.referencePopup div.referenceDesc, .referenceLabel *, ul.showroom li figure figcaption *, div.referencePopup div.referenceDesc * {
    font-size: 1rem;
    margin-bottom: 0 !important;
    text-decoration: none; }
  .referenceLabel h3, ul.showroom li figure figcaption h3, div.referencePopup div.referenceDesc h3 {
    color: #ef7d00;
    text-transform: uppercase; }
  .referenceLabel p, ul.showroom li figure figcaption p, div.referencePopup div.referenceDesc p {
    color: white; }
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
ul#mainNavi.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 8.3rem;
  left: 0;
  height: 80vh;
  overflow: auto; }
  @media only screen and (max-width: 81.25rem) {
    ul#mainNavi.sticky {
      position: static; } }
  @media only screen and (max-width: 63.75rem) {
    ul#mainNavi.sticky {
      position: static; } }
  ul#mainNavi > li > a > span {
    font-size: 1.5rem; }
  ul#mainNavi > li span {
    text-transform: uppercase; }
  ul#mainNavi ul {
    margin: 0.8rem 0 1.5rem 1rem; }
  ul#mainNavi ul li {
    margin-bottom: 0.4rem; }
    ul#mainNavi ul li.active > a span, ul#mainNavi ul li.active > button span {
      color: #ef7d00; }
      ul#mainNavi ul li.active > a::before, ul#mainNavi ul li.active > button::before {
        background-color: black; }
    ul#mainNavi ul li.download-katalog {
      margin-top: 2rem; }
      ul#mainNavi ul li.download-katalog::before {
        display: none; }
      ul#mainNavi ul li.download-katalog a span {
        display: none; }
        ul#mainNavi ul li.download-katalog a::before {
          content: "";
          font-family: "icomoon";
          content: "\e910";
          font-size: 6rem;
          color: #ef7d00;
          position: static;
          background: none;
          width: auto;
          height: auto; }
        ul#mainNavi ul li.download-katalog a:hover::before {
          color: #000; }
  ul#mainNavi ul button {
    border: none;
    background: none;
    outline: none; }
    ul#mainNavi ul button + ul {
      margin: 0.4rem 0 0 1.4rem !important; }
  ul#mainNavi ul a, ul#mainNavi ul button {
    padding-left: 20px; }
    ul#mainNavi ul a::before, ul#mainNavi ul button::before {
      content: "";
      display: inline-block;
      position: absolute;
      top: 1px;
      left: 0px;
      background-color: #ef7d00;
      width: 13px;
      height: 13px; }

ul#headerNavi {
  position: absolute;
  bottom: -3px;
  right: 1rem; }
  @media only screen and (max-width: 63.75rem) {
  ul#headerNavi > li:not(.navi-toggle) {
    display: none; } }

ul#headerNaviMobile {
  position: static;
  text-align: center;
  margin: 1rem 0;
  padding: 1rem;
  background-color: #ef7d00;
  display: none; }
  @media only screen and (max-width: 63.75rem) {
  ul#headerNaviMobile {
    display: block; } }
  ul#headerNaviMobile > li a::before {
    color: white !important; }
  ul#headerNaviMobile > li {
    margin: 0 1rem; }
  ul#headerNaviMobile li.navi-toggle {
    display: none !important; }

ul.headerNavi li {
  display: inline-block;
  margin-left: 2rem;
  vertical-align: bottom;
  min-height: 20px; }
  ul.headerNavi li a {
    text-decoration: none;
    text-transform: uppercase;
    padding-top: 30px;
    display: inline-block; }
    ul.headerNavi li a span {
      color: black; }
  ul.headerNavi li.kontakt a::before, ul.headerNavi li.login a::before, ul.headerNavi li.anfrageliste a::before, ul.headerNavi li.suche-mobil a::before, ul.headerNavi li.phone a::before {
    font-family: icomoon;
    color: black;
    font-size: 2rem;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%); }
  ul.headerNavi li.anfrageliste a::after {
    position: absolute;
    top: -3px;
    right: 15px;
    background-color: #ef7d00;
    color: white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center;
    font-size: 10px;
    padding-top: 3px;
    box-sizing: border-box; }
  ul.headerNavi li.kontakt a::before {
    content: "\e924"; }
  ul.headerNavi li.login a::before {
    content: "\e905"; }
  ul.headerNavi li.anfrageliste a::before {
    content: "\e923"; }
  ul.headerNavi li.suche-mobil a::before {
    content: "\e902"; }
  ul.headerNavi li.phone a::before {
    content: "\e925"; }
  ul.headerNavi li.navi-toggle {
    margin-left: 1rem; }
    ul.headerNavi li.navi-toggle a {
      padding-top: 0;
      display: inline-block; }
      ul.headerNavi li.navi-toggle a span {
        display: none; }
      ul.headerNavi li.navi-toggle a::before {
        font-family: icomoon;
        font-size: 2rem;
        content: "\e920";
        background-color: #ef7d00;
        color: #fff;
        padding: 5px; }
  ul.headerNavi li.navi-toggle a.active::before {
    content: "\e920"; }
  ul.headerNavi li.suche-mobil, ul.headerNavi li.navi-toggle {
    display: none; }
  @media only screen and (max-width: 81.25rem) {
  ul.headerNavi li.suche {
    display: none; }
    ul.headerNavi li.navi-toggle {
      display: inline-block; } }
  @media only screen and (max-width: 63.75rem) {
  ul.headerNavi {
    bottom: auto;
    top: 0; }
    ul.headerNavi li {
      display: none;
      margin-left: 0.5rem; }
      ul.headerNavi li.kontakt, ul.headerNavi li.login, ul.headerNavi li.anfrageliste, ul.headerNavi li.suche-mobil, ul.headerNavi li.navi-toggle, ul.headerNavi li.phone {
        display: inline-block;
        vertical-align: bottom; }
        ul.headerNavi li.kontakt a, ul.headerNavi li.login a, ul.headerNavi li.anfrageliste a, ul.headerNavi li.suche-mobil a, ul.headerNavi li.navi-toggle a, ul.headerNavi li.phone a {
          width: 40px; }
          ul.headerNavi li.kontakt a span, ul.headerNavi li.login a span, ul.headerNavi li.anfrageliste a span, ul.headerNavi li.suche-mobil a span, ul.headerNavi li.navi-toggle a span, ul.headerNavi li.phone a span {
            display: none; }
      ul.headerNavi li.anfrageliste a::after {
        right: 0; } }

body > header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background-color: #fff;
  padding: 1.5rem 0 1rem;
  min-height: 55px; }
  @media only screen and (max-width: 81.25rem) {
  body > header {
    padding: 2rem 0 0.5rem; } }
  @media only screen and (max-width: 63.75rem) {
  body > header {
    position: fixed;
    padding: 1rem 0 0.5rem;
    box-shadow: 0px 0px 14px -1px rgba(0, 0, 0, 0.67); } }
  body > header.scrolled {
    position: fixed; }


  @media only screen and (max-width: 63.75rem) {
    body > header.scrolled {
      top: 0; } }
  body > header > div.wrapper {
    padding: 0 1rem; }


  @media only screen and (max-width: 63.75rem) {
    body > header > div.wrapper {
      padding-bottom: 0; } }
  body > header h1 img {
    width: 600px;
    height: auto;
    max-width: 90vw; }
    @media only screen and (max-width: 81.25rem) {
    body > header h1 img {
      width: 60%;
      max-width: 300px; } }
    @media only screen and (max-width: 63.75rem) {
    body > header h1 img {
      width: 40%; } }
    @media only screen and (max-width: 32rem) {
    body > header h1 img {
      max-width: 150px; } }

footer {
  background-color: #5f5e5e;
  padding: 5rem 0; }
  footer * {
    color: white;
    line-height: 150%; }
  footer div.wrapper > div {
    padding: 0 2rem;
    columns: 5; }
    footer div.wrapper > div p {
      break-inside: avoid; }
    @media only screen and (min-width: 87.5rem) {
    footer div.wrapper > div {
      margin-left: 20%; } }
    @media only screen and (max-width: 81.25rem) {
    footer div.wrapper > div {
      columns: 3; }
      footer div.wrapper > div p {
        margin-bottom: 2rem; } }
    @media only screen and (max-width: 63.75rem) {
    footer div.wrapper > div {
      columns: 1; } }

div#socket {
  padding: 1rem;
  background-color: #000;
  color: #ccc;
  text-align: center; }

div#content {
  display: flex; }
  div#content nav {
    width: 20%; }
  div#content nav * {
    color: #000;
    text-decoration: none; }
  div#content nav button#closeNavi {
    display: none;
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    padding: 5px;
    z-index: 10; }
    div#content nav button#closeNavi span {
      display: none; }
    div#content nav button#closeNavi::after {
      font-family: icomoon;
      content: "\e907";
      font-size: 2rem; }
  @media only screen and (max-width: 81.25rem) {
      div#content nav form.searchFormHeader {
        width: 140px;
        display: block;
        margin: 0.5rem 0 2rem; } }
    @media only screen and (max-width: 63.75rem) {
    div#content nav form.searchFormHeader {
      display: block;
      margin: 0.5rem 0 2rem; } }
  div#content > div {
    width: 80%; }
  @media only screen and (min-width: 81.26rem) {
  div#content nav {
    display: block !important;
    position: static; } }
  @media only screen and (min-width: 87.5rem) {
  div#content nav {
    display: block !important;
    position: static; } }
  @media only screen and (max-width: 81.25rem) {
  div#content nav {
    display: none;
    position: fixed;
    left: 0px;
    bottom: 0px;
    top: 80px;
    top: 0;
    overflow: auto;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 1);
    width: 50vw;
    padding: 1rem; }
    div#content nav button#closeNavi {
      display: block; }

    div#content > div {
      width: 100%; } }
  @media only screen and (max-width: 63.75rem) {
  div#content nav {
    width: 100vw; }
    div#content nav button#closeNavi {
      display: block; } }
  div#content strong {
    font-weight: bold; }
  div#content p {
    line-height: 150%; }
  div#content article {
    padding: 1rem 2rem; }
  div#content article, div#content article * {
    line-height: 150%; }
  div#content article a {
    color: #ef7d00; }
  div#content section.contentpart ul, div#content section.contentpart ol {
    margin-left: 2rem; }
  div#content section.contentpart ul {
    list-style: disc; }
  div#content section.contentpart p, div#content section.contentpart ul, div#content section.contentpart ol {
    margin-bottom: 1.2rem; }
  div#content section.contentpart ul {
    list-style: square; }
    div#content section.contentpart ul > li {
      margin-bottom: 0.5rem; }

section.contentpart {
  margin-bottom: 1rem; }

section.contentpart.location {
  padding: 0; }

section.contentpart.showroom {
  padding: 0; }

section.contentpart.vermietung {
  padding: 0; }

section.contentpart.gallery figure picture img {
  max-width: 100%; }
  section.contentpart.gallery ul.gallery {
    display: flex;
    flex-wrap: wrap;
    margin: 0 !important; }
  section.contentpart.gallery ul.gallery li {
    width: 20%;
    padding: 0 0.5rem 0.5rem 0.5rem;
    overflow: hidden; }
    @media only screen and (max-width: 81.25rem) {
    section.contentpart.gallery ul.gallery li {
      width: 33.33%; } }
    @media only screen and (max-width: 63.75rem) {
    section.contentpart.gallery ul.gallery li {
      width: 50%; } }
    section.contentpart.gallery ul.gallery li img {
      width: 100%;
      display: block; }

section.contentpart.single_image, section.contentpart.slideshow {
  background-color: #ef7d00;
  padding: 0; }
  section.contentpart.single_image figure, section.contentpart.slideshow figure {
    display: block; }
  section.contentpart.single_image figure picture, section.contentpart.slideshow figure picture {
    width: 100%; }
    section.contentpart.single_image figure picture img, section.contentpart.slideshow figure picture img {
      width: 100%;
      display: block; }
  section.contentpart.single_image figure figcaption, section.contentpart.slideshow figure figcaption {
    padding: 1rem 4rem;
    display: block; }
    section.contentpart.single_image figure figcaption *, section.contentpart.slideshow figure figcaption * {
      color: #fff; }
    section.contentpart.single_image figure figcaption h3, section.contentpart.slideshow figure figcaption h3 {
      text-transform: uppercase;
      font-size: 2.4rem !important;
      margin-bottom: 0.5rem !important; }
    section.contentpart.single_image figure figcaption p, section.contentpart.slideshow figure figcaption p {
      margin-left: 30%; }
      section.contentpart.single_image figure figcaption p, section.contentpart.slideshow figure figcaption p, section.contentpart.single_image figure figcaption p *, section.contentpart.slideshow figure figcaption p * {
        font-size: 1rem; }
    @media only screen and (max-width: 63.75rem) {
    section.contentpart.single_image figure figcaption, section.contentpart.slideshow figure figcaption {
      position: static;
      padding: 1rem; }
      section.contentpart.single_image figure figcaption h3, section.contentpart.slideshow figure figcaption h3 {
        text-transform: uppercase;
        font-size: 1.5rem !important; }

      section.contentpart.single_image figure figcaption h4, section.contentpart.slideshow figure figcaption h4 {
        font-size: 1.6rem; }

      section.contentpart.single_image figure figcaption p, section.contentpart.slideshow figure figcaption p {
        margin-left: 0; } }

section.contentpart.widget {
  padding: 0; }
  section.contentpart.widget div.headline {
    padding: 2rem;
    background-color: #e9e9e9;
    text-align: right;
    padding-right: 50%;
    background-repeat: no-repeat;
    background-position: 75% 0px;
    background-size: auto 100%; }
  @media only screen and (min-width: 81.26rem) {
    section.contentpart.widget div.headline {
      padding-right: 45%;
      background-position: 85% 0px; } }
  @media only screen and (max-width: 81.25rem) {
    section.contentpart.widget div.headline {
      padding-right: 40%;
      background-position: 90% 0px; } }
  section.contentpart.widget div.headline h3 {
    font-size: 2.4rem !important; }
  section.contentpart.widget div.headline p {
    font-size: 1.8rem;
    color: #5f5e5e; }
  @media only screen and (max-width: 63.75rem) {
    section.contentpart.widget div.headline {
      background-image: none !important;
      padding: 1rem;
      text-align: center; }
      section.contentpart.widget div.headline > h3 {
        margin-bottom: 1rem;
        font-size: 1.5rem !important; }
      section.contentpart.widget div.headline > p {
        font-size: 1.1rem !important; } }
  section.contentpart.widget div.text > div {
    padding: 2rem;
    background-color: #fff; }
  section.contentpart.widget div.text > div p {
    margin-bottom: 1rem; }
    section.contentpart.widget div.text > div p:last-child {
      margin-bottom: 0; }
  section.contentpart.widget.interactive div.headline h3 {
    cursor: pointer; }
    section.contentpart.widget.interactive div.headline h3::after {
      font-family: icomoon;
      content: "\e900";
      color: #fff;
      background-color: #ef7d00;
      font-size: 1.4rem;
      font-weight: bold;
      position: absolute;
      top: 7px;
      right: -50px;
      padding: 5px; }
      @media only screen and (max-width: 63.75rem) {
    section.contentpart.widget.interactive div.headline h3::after {
      display: none; } }
  section.contentpart.widget.interactive.open div.headline h3::after {
    content: "\e906"; }
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
/*
 /// Gets font
 @function _font($keys...) {
 @return val($fonts, $keys...);
 }
 */
body {
  font-size: 16px;
  background-image: url(/site/templates/images/body_bg_120.png);
  padding-top: 89px; }
  @media only screen and (min-width: 81.26rem) {
  body {
    padding-top: 120px; } }
  @media only screen and (max-width: 81.25rem) {
  body {
    padding-top: 120px; } }
  @media only screen and (max-width: 63.75rem) {
  body {
    padding-top: 55px; } }
  body.noscroll {
    overflow: hidden; }

* {
  font-size: 0.9rem; }

.noPadding {
  padding: 0 !important; }

.align_right {
  text-align: right; }

div.wrapper {
  max-width: 110rem;
  margin: 0 auto;
  padding: 0 1rem; }
  @media only screen and (max-width: 81.25rem) {
  div.wrapper {
    padding: 0 0; } }

div#mobileCheck {
  display: none; }
  @media only screen and (max-width: 63.75rem) {
  div#mobileCheck {
    display: block; } }

section.contentpart {
  background-color: #e9e9e9;
  padding: 2rem 3rem; }
  section.contentpart > div.wrapper {
    padding: 0; }
  section.contentpart, section.contentpart * {
    font-size: 1rem; }
  section.contentpart h2 {
    color: #ef7d00;
    margin-bottom: 2rem; }
  section.contentpart h3 {
    color: #ef7d00;
    margin-bottom: 2rem; }
  section.contentpart h4 {
    color: #ef7d00;
    margin-bottom: 2rem; }
  section.contentpart a {
    text-decoration: none;
    color: #ef7d00; }
  section.contentpart hr {
    margin-bottom: 1rem;
    height: 1px;
    border: none;
    background-color: #ef7d00; }

div.mapParent {
  padding-top: 50%; }

div.posts {
  display: flex;
  flex-wrap: wrap; }
  div.posts article {
    width: 33.33%;
    padding: 1rem; }
  div.posts article img {
    width: 100%; }

div.desc {
  padding: 1.5rem 2rem 0; }
  div.desc h2 {
    margin-bottom: 0; }
