:root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, 0.1);--f-spinner-color-2: rgba(17, 24, 28, 0.8);--f-spinner-stroke: 2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-throwOutUp{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutUp}.f-throwOutDown{animation:var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0, var(--f-throw-out-distance, 150px), 0);opacity:0}}.f-zoomInUp{animation:var(--f-transition-duration, 0.2s) ease .1s both f-zoomInUp}.f-zoomOutDown{animation:var(--f-transition-duration, 0.2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}to{transform:scale(1) translate3d(0, 0, 0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(0.975) translate3d(0, 16px, 0);opacity:0}}.f-fadeIn{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;z-index:2}.f-fadeOut{animation:var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeFastIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:var(--f-transition-duration, 0.1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-fadeSlowIn{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-crossfadeIn{animation:var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:calc(var(--f-transition-duration, 0.2s)*.5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext}.f-slideIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev}.f-slideOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext}.f-slideOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0, 0, 0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0, 0, 0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}.f-carousel{--f-carousel-theme-color: #706f6c;--f-carousel-spacing: 0px;--f-carousel-slide-width: 100%;--f-carousel-slide-height: auto;--f-carousel-slide-padding: 0;--f-button-width: 42px;--f-button-height: 42px;--f-button-color: var(--f-carousel-theme-color, currentColor);--f-button-hover-color: var(--f-carousel-theme-color, currentColor);--f-button-bg: transparent;--f-button-hover-bg: var(--f-button-bg);--f-button-active-bg: var(--f-button-bg);--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-next-pos: 10px;--f-button-prev-pos: 10px;--f-spinner-color-1: rgba(0, 0, 0, 0.1);--f-spinner-color-2: rgba(17, 24, 28, 0.8);--f-spinner-stroke: 2.75;position:relative;box-sizing:border-box}.f-carousel *,.f-carousel *:before,.f-carousel *:after{box-sizing:inherit}.f-carousel.is-ltr{direction:ltr}.f-carousel.is-rtl{direction:rtl}.f-carousel__viewport{overflow:hidden;transform:translate3d(0, 0, 0);backface-visibility:hidden;width:100%;height:100%}.f-carousel__viewport.is-draggable{cursor:move;cursor:grab}.f-carousel__viewport.is-dragging{cursor:move;cursor:grabbing}.f-carousel__track{display:flex;margin:0 auto;padding:0;height:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}.f-carousel__slide{position:relative;flex:0 0 auto;width:var(--f-carousel-slide-width);max-width:100%;height:var(--f-carousel-slide-height);margin:0 var(--f-carousel-spacing) 0 0;padding:var(--f-carousel-slide-padding);outline:0;transform-origin:center center}.f-carousel__slide img.is-preloading{visibility:hidden}.f-carousel__slide>.f-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.f-carousel.is-vertical{--f-carousel-slide-height: 100%}.f-carousel.is-vertical .f-carousel__track{flex-wrap:wrap}.f-carousel.is-vertical .f-carousel__slide{margin:0 0 var(--f-carousel-spacing) 0}:root{--f-carousel-dots-width: 24px;--f-carousel-dots-height: 30px;--f-carousel-dot-width: 8px;--f-carousel-dot-height: 8px;--f-carousel-dot-radius: 50%;--f-carousel-dot-color: var(--f-carousel-theme-color, currentColor);--f-carousel-dot-opacity: 0.2;--f-carousel-dot-hover-opacity: 0.4}.f-carousel.has-dots{margin-bottom:var(--f-carousel-dots-height)}.f-carousel__dots{position:absolute;bottom:calc(var(--f-carousel-dots-height)*-1);left:0;right:0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin:0 auto !important;padding:0;list-style:none !important;user-select:none}.f-carousel__dots li{margin:0;padding:0;border:0;display:flex;align-items:center;justify-content:center;opacity:var(--f-carousel-dot-opacity);transition:opacity .15s ease-in-out}.f-carousel__dots li+li{margin:0}.f-carousel__dots li:hover{opacity:var(--f-carousel-dot-hover-opacity)}.f-carousel__dots li.is-current{opacity:1}.f-carousel__dots li button{appearance:none;display:flex;align-items:center;justify-content:center;margin:0;padding:0;width:var(--f-carousel-dots-width);height:var(--f-carousel-dots-height);border:0;background:rgba(0,0,0,0);cursor:pointer;transition:all .2s linear}.f-carousel__dot{display:block;margin:0;padding:0;border:0;width:var(--f-carousel-dot-width);height:var(--f-carousel-dot-height);border-radius:var(--f-carousel-dot-radius);background-color:var(--f-carousel-dot-color);line-height:0;font-size:0;cursor:pointer;pointer-events:none}.f-carousel__dots.is-dynamic li:not(.is-prev,.is-next,.is-current,.is-after-next,.is-before-prev) button{transform:scale(0);width:0}.f-carousel__dots.is-dynamic li.is-before-prev button,.f-carousel__dots.is-dynamic li.is-after-next button{transform:scale(0.22)}.f-carousel__dots.is-dynamic li.is-prev button,.f-carousel__dots.is-dynamic li.is-next button{transform:scale(0.66)}.f-carousel__dots.is-dynamic li.is-current button{transform:scale(1)}.f-carousel__dots.is-dynamic li.is-before-prev button,.f-carousel__dots.is-dynamic li.is-after-next button{transform:scale(0.33)}.f-carousel__dots.is-dynamic li.is-current:first-child{margin-left:calc(var(--f-carousel-dots-width)*2)}.f-carousel__dots.is-dynamic li.is-prev:first-child{margin-left:var(--f-carousel-dots-width)}.f-carousel__dots.is-dynamic li.is-next:last-child{margin-right:var(--f-carousel-dots-width)}.f-carousel__dots.is-dynamic li.is-current:last-child{margin-right:calc(var(--f-carousel-dots-width)*2)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-current:first-child{margin-left:0;margin-right:var(--f-carousel-dots-width)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-prev:first-child{margin-left:0;margin-right:var(--f-carousel-dots-width)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-current:last-child{margin-left:0;margin-right:var(--f-carousel-dots-width)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-next:last-child{margin-right:0;margin-left:var(--f-carousel-dots-width)}:root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all 0.15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: 0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media(hover: hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:none}.f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-prev,.f-carousel__nav .f-button.is-next,.fancybox__nav .f-button.is-prev,.fancybox__nav .f-button.is-next{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}.f-carousel__nav .f-button:disabled,.fancybox__nav .f-button:disabled{pointer-events:none}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}

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

/* Base */
/* Sections */
body:not(.edit-mode).header-with-1, body:not(.edit-mode).header-with-2 {
  padding-top: 75px;
}
@media screen and (min-width: 1025px) {
  body:not(.edit-mode).header-with-1, body:not(.edit-mode).header-with-2 {
    padding-top: 238px;
  }
}
body:not(.edit-mode).header-with-3 {
  padding-top: 100px;
}
@media screen and (min-width: 1025px) {
  body:not(.edit-mode).header-with-3 {
    padding-top: 238px;
  }
}
body:not(.edit-mode) header {
  position: fixed;
  z-index: 100;
  width: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (max-width: 749px) {
  body:not(.edit-mode) header {
    max-width: 100vw;
  }
}
@media screen and (min-width: 1025px) {
  body:not(.edit-mode):not(.open-nav) header #header_logos,
body:not(.edit-mode):not(.open-nav) header #header_logos svg,
body:not(.edit-mode):not(.open-nav) header #header_first_row {
    max-height: 170px;
    transition: max-height 0.5s;
  }
  body:not(.edit-mode):not(.open-nav) header.header-with-3 #header_navigation {
    transition: bottom 0.5s;
  }
  body:not(.edit-mode):not(.open-nav) header.header-with-3 #header_logos.with-3 > .column:nth-child(3) {
    transition: transform 0.5s;
    transform: translateY(0%);
  }
  body:not(.edit-mode):not(.open-nav) header.header-with-3 #header_logos.with-3 > .column:nth-child(3) svg {
    transition: margin-right 0.5s;
  }
  body:not(.edit-mode):not(.open-nav) header #header_second_row {
    transition: transform 0.5s;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant {
    max-height: 80px;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant.header-with-3 #header_navigation {
    top: 50%;
    transform: translateY(-50%);
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant #header_logos,
body:not(.edit-mode):not(.open-nav) header.small-variant #header_logos svg,
body:not(.edit-mode):not(.open-nav) header.small-variant #header_first_row {
    max-height: 80px;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant #header_logos .column {
    align-self: center !important;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant #header_logos .column svg {
    max-height: 60px;
    width: auto !important;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant #header_logos.with-3 > .column:nth-child(1), body:not(.edit-mode):not(.open-nav) header.small-variant #header_logos.with-3 > .column:nth-child(3) {
    visibility: hidden;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant .hamburger {
    height: 32px;
    width: 64px;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant .hamburger span {
    top: 12px;
    left: 0px;
    right: 0px;
    height: 8px;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant .hamburger span::before,
body:not(.edit-mode):not(.open-nav) header.small-variant .hamburger span::after {
    height: 8px;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant .hamburger span::before {
    top: -18px;
  }
  body:not(.edit-mode):not(.open-nav) header.small-variant .hamburger span::after {
    bottom: -18px;
  }
}
body:not(.open-nav):not(.init-nav) #fullscreen_nav_wrap {
  animation-name: closeFullscreenNav;
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}
body.init-nav #fullscreen_nav_wrap {
  display: none;
}
body.open-nav {
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
body.open-nav #fullscreen_nav_wrap {
  animation-name: openFullscreenNav;
  animation-duration: 0.3s;
}
@media screen and (max-width: 749px) {
  body.open-nav #fullscreen_nav_wrap #mobile_nav_lang_contact > div {
    display: inline-block;
    width: 49%;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_additional_nav,
body.open-nav #fullscreen_nav_wrap #nav-lang-wrapper {
    display: inline-block;
    width: 100%;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_lang_contact {
    display: inline-block;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_lang_contact ul {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    padding: 10px;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_lang_contact ul li {
    height: 40px;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_lang_contact ul li:not(:first-child) {
    border-left: 1px solid black;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_lang_contact ul li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_footer_info {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_footer_info .column:first-child {
    margin-top: calc(37px / 2);
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_footer_info .footer_first_row_wrap .social-links li svg {
    width: 45px;
    height: 45px;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_footer_info .impressum {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin-top: 25px;
    border-top-width: 1px;
    border-top-style: solid;
    padding-top: 25px;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_footer_info .impressum > div {
    margin: 0 auto;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos {
    display: block;
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(1), body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(3) {
    width: 50%;
    height: 60px;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(1) a, body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(3) a {
    height: 100%;
    display: flex;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(1) a svg, body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(3) a svg {
    width: 100%;
    height: auto;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos .column:nth-child(2) {
    display: none;
  }
  body.open-nav #fullscreen_nav_wrap #mobile_nav_header_logos.with-1 {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  body.open-nav #fullscreen_nav_wrap #fullscreen_nav {
    overflow-y: auto;
  }
}

#header_first_row,
#header_second_row,
#fullscreen_nav,
#mab_univers_nav {
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
  #header_first_row,
#header_second_row,
#fullscreen_nav,
#mab_univers_nav {
    margin-left: 7.03vw;
    margin-right: 7.03vw;
  }
}
@media screen and (min-width: 1993px) {
  #header_first_row,
#header_second_row,
#fullscreen_nav,
#mab_univers_nav {
    max-width: 1720px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
}

#header_first_row {
  z-index: 100002;
  position: relative;
}
#header_first_row > .column {
  width: 33.33%;
}
#header_first_row > .column img {
  max-width: 90%;
  display: block;
}
#header_first_row #header_logos {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  width: 224px;
  height: 60px;
}
#header_first_row #header_logos > .column {
  width: 100%;
}
#header_first_row #header_logos > .column img, #header_first_row #header_logos > .column svg {
  width: 100%;
  max-width: 224px;
  display: inline-block;
  height: auto;
}
#header_first_row #header_logos > .column a {
  display: block;
}
@media screen and (min-width: 1025px) {
  #header_first_row #header_logos {
    width: 100%;
    height: 170px;
    padding: 25px 37px;
  }
  #header_first_row #header_logos > .column {
    width: 33.33%;
  }
  #header_first_row #header_logos > .column img, #header_first_row #header_logos > .column svg {
    max-width: 91%;
  }
}
#header_first_row #header_logos.with-1 {
  -webkit-align-items: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  #header_first_row #header_logos.with-1 > .column {
    padding-left: 8px;
  }
}
#header_first_row #header_logos.with-2 > .column:nth-child(1), #header_first_row #header_logos.with-3 > .column:nth-child(1) {
  text-align: left;
  align-self: center;
}
#header_first_row #header_logos.with-2 > .column:nth-child(1) img, #header_first_row #header_logos.with-2 > .column:nth-child(1) svg, #header_first_row #header_logos.with-3 > .column:nth-child(1) img, #header_first_row #header_logos.with-3 > .column:nth-child(1) svg {
  max-width: 75%;
}
#header_first_row #header_logos.with-2 > .column:nth-child(2), #header_first_row #header_logos.with-3 > .column:nth-child(2) {
  text-align: center;
  align-self: center;
}
@media screen and (max-width: 1024px) {
  #header_first_row #header_logos.with-2 > .column:nth-child(2), #header_first_row #header_logos.with-3 > .column:nth-child(2) {
    padding-left: calc(37px / 2);
  }
}
@media screen and (max-width: 1024px) {
  #header_first_row #header_logos.with-2 > .column:nth-child(1) {
    display: none;
  }
}
#header_first_row #header_logos.with-3 > .column:nth-child(1), #header_first_row #header_logos.with-3 > .column:nth-child(3) {
  display: none;
}
@media screen and (min-width: 1025px) {
  #header_first_row #header_logos.with-3 > .column:nth-child(1) {
    display: block;
    align-self: flex-start;
  }
  #header_first_row #header_logos.with-3 > .column:nth-child(1) img, #header_first_row #header_logos.with-3 > .column:nth-child(1) svg {
    width: 14.56vw;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1993px) {
  #header_first_row #header_logos.with-3 > .column:nth-child(1) img, #header_first_row #header_logos.with-3 > .column:nth-child(1) svg {
    width: 290px;
  }
}
@media screen and (min-width: 1025px) {
  #header_first_row #header_logos.with-3 > .column:nth-child(2) {
    display: block;
  }
}
@media screen and (min-width: 1025px) {
  #header_first_row #header_logos.with-3 > .column:nth-child(3) {
    display: block;
    text-align: right;
  }
  #header_first_row #header_logos.with-3 > .column:nth-child(3) img, #header_first_row #header_logos.with-3 > .column:nth-child(3) svg {
    width: 14.56vw;
    height: 53px;
  }
}
@media screen and (min-width: 1025px) and (min-width: 1993px) {
  #header_first_row #header_logos.with-3 > .column:nth-child(3) img, #header_first_row #header_logos.with-3 > .column:nth-child(3) svg {
    width: 290px;
  }
}
#header_first_row #header_navigation {
  position: absolute;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  right: 18px;
}
@media screen and (min-width: 1025px) {
  #header_first_row #header_navigation {
    right: 37px;
  }
}
#header_first_row #header_navigation #header_additional_nav {
  display: none;
  margin-right: calc(37px / 2);
}
@media screen and (min-width: 750px) {
  #header_first_row #header_navigation #header_additional_nav {
    display: block;
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
}
#header_first_row #header_navigation #header_additional_nav a {
  padding: calc(37px / 2);
  font-size: 21px;
  line-height: 34px;
  text-decoration: none;
}

@media screen and (min-width: 1025px) {
  #header_second_row {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
#header_second_row #sub_nav {
  display: none;
}
@media screen and (min-width: 1025px) {
  #header_second_row #sub_nav {
    display: block;
  }
}
#header_second_row #sub_nav ul {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
#header_second_row a, #header_second_row p {
  text-decoration: none;
  display: block;
  padding: 10px calc(37px / 2);
  font-size: 18px;
  line-height: 1.3;
}
@media screen and (min-width: 1993px) {
  #header_second_row a, #header_second_row p {
    font-size: 21px;
  }
}
#header_second_row #opening_hours {
  display: block;
}
@media screen and (max-width: 1024px) {
  #header_second_row #opening_hours {
    position: absolute;
    right: 0;
    top: 60px;
    transition: top 1s;
  }
  #header_second_row #opening_hours a {
    color: white;
    font-size: 16px;
  }
}
@media screen and (max-width: 749px) {
  #header_second_row #opening_hours a {
    font-size: 14px;
  }
}

.small-variant #header_second_row #opening_hours {
  top: 0;
}

.nav-lvl3-icon {
  display: none;
}

#fullscreen_nav_wrap {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100000;
  flex-grow: 1;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
  height: 100vh;
  max-width: none;
}
#fullscreen_nav_wrap #fullscreen_nav,
#fullscreen_nav_wrap #mab_univers_nav {
  padding: 0 calc(37px / 2);
}
@media screen and (min-width: 1993px) {
  #fullscreen_nav_wrap #fullscreen_nav,
#fullscreen_nav_wrap #mab_univers_nav {
    width: 100%;
  }
}
#fullscreen_nav_wrap #fullscreen_nav > ul,
#fullscreen_nav_wrap #mab_univers_nav > ul {
  margin-right: -6px;
  margin-left: -6px;
}
@media screen and (min-width: 750px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul,
#fullscreen_nav_wrap #mab_univers_nav > ul {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li,
#fullscreen_nav_wrap #mab_univers_nav > ul > li {
  position: relative;
  width: 100%;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li > a,
#fullscreen_nav_wrap #mab_univers_nav > ul > li > a {
  width: 100%;
  display: block;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li > ul,
#fullscreen_nav_wrap #mab_univers_nav > ul > li > ul {
  margin-bottom: 63px;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li > ul > li > ul,
#fullscreen_nav_wrap #mab_univers_nav > ul > li > ul > li > ul {
  margin-left: 18px;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li a,
#fullscreen_nav_wrap #mab_univers_nav > ul > li a {
  text-decoration: none;
  font-size: 18px;
  line-height: 1.3;
}
@media screen and (min-width: 1993px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li a,
#fullscreen_nav_wrap #mab_univers_nav > ul > li a {
    font-size: 21px;
  }
}
@media screen and (max-width: 749px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
  }
}
@media screen and (min-width: 750px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li {
    margin-bottom: 12px;
  }
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li.has-subpages,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li.has-subpages {
  position: relative;
  padding-right: 32px;
  border-top-width: 1px;
  border-top-style: solid;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li.has-subpages .nav-link,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li.has-subpages .nav-link {
  padding: 7px 0;
  display: inline-block;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li.has-subpages .subnav,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li.has-subpages .subnav {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
  margin-top: 12px;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li.has-subpages .subnav ul,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li.has-subpages .subnav ul {
  margin: 10px 0 20px 25px;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li.has-subpages.subnav-open .subnav,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li.has-subpages.subnav-open .subnav {
  max-height: 500px;
  transition: max-height 1s ease-in-out;
}
@media screen and (max-width: 749px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li .subnav ul li a,
#fullscreen_nav_wrap #mab_univers_nav > ul > li .subnav ul li a {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: center;
    justify-content: center;
    min-height: 40px;
    font-size: 18px;
  }
}
@media screen and (max-width: 749px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li.subnav-open > .subnav,
#fullscreen_nav_wrap #mab_univers_nav > ul > li.subnav-open > .subnav {
    max-height: 500px;
  }
  #fullscreen_nav_wrap #fullscreen_nav > ul > li.subnav-open.subnav-lvl2-open > .subnav,
#fullscreen_nav_wrap #mab_univers_nav > ul > li.subnav-open.subnav-lvl2-open > .subnav {
    max-height: 0;
  }
  #fullscreen_nav_wrap #fullscreen_nav > ul > li.subnav-lvl2-open > .subnav,
#fullscreen_nav_wrap #mab_univers_nav > ul > li.subnav-lvl2-open > .subnav {
    max-height: 500px;
  }
}
#fullscreen_nav_wrap #fullscreen_nav .nav-open-icon,
#fullscreen_nav_wrap #mab_univers_nav .nav-open-icon {
  cursor: pointer;
  position: absolute;
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */
}
#fullscreen_nav_wrap #fullscreen_nav .nav-open-icon svg,
#fullscreen_nav_wrap #mab_univers_nav .nav-open-icon svg {
  pointer-events: none;
}
#fullscreen_nav_wrap #fullscreen_nav .nav-open-icon svg path,
#fullscreen_nav_wrap #mab_univers_nav .nav-open-icon svg path {
  pointer-events: none;
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl2-icon,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl2-icon {
  display: inline-block;
  top: 4px;
  right: 7px;
  height: 45px;
  width: 45px;
  padding: 9px;
  animation: spinArrowCW 0.3s ease forwards;
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl2-icon svg,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl2-icon svg {
  height: auto;
  width: 100%;
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl2-icon svg .svg-stroke-change,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl2-icon svg .svg-stroke-change {
  stroke-width: 2px;
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl2-icon.lvl2-open,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl2-icon.lvl2-open {
  animation: spinArrowCCW 0.3s ease forwards;
}
@media screen and (min-width: 750px) {
  #fullscreen_nav_wrap #fullscreen_nav .nav-lvl2-icon,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl2-icon {
    display: none;
  }
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl3-icon,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl3-icon {
  top: 2px;
  right: 0;
  height: 32px;
  width: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: spinArrowCW 0.3s ease forwards;
}
@media screen and (max-width: 749px) {
  #fullscreen_nav_wrap #fullscreen_nav .nav-lvl3-icon,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl3-icon {
    display: flex;
    justify-content: center;
    top: 0;
    min-height: 40px;
    min-width: 45px;
    padding: 9px;
  }
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl3-icon svg,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl3-icon svg {
  stroke-width: 3px;
  position: absolute;
  padding: 2px;
  width: 20px;
  height: auto;
}
#fullscreen_nav_wrap #fullscreen_nav .nav-lvl3-icon.lvl3-open,
#fullscreen_nav_wrap #mab_univers_nav .nav-lvl3-icon.lvl3-open {
  animation: spinArrowCCW 0.3s ease forwards;
}
#fullscreen_nav_wrap #fullscreen_nav .subnav-lvl2-open > .subnav,
#fullscreen_nav_wrap #mab_univers_nav .subnav-lvl2-open > .subnav {
  max-height: 500px;
  transition: max-height 1s ease-in-out;
}
#fullscreen_nav_wrap #fullscreen_nav {
  margin-top: 60px;
  overflow-y: auto;
}
@media screen and (min-width: 750px) {
  #fullscreen_nav_wrap #fullscreen_nav {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-grow: 1;
  }
}
@media screen and (min-width: 1025px) {
  #fullscreen_nav_wrap #fullscreen_nav {
    margin-top: 170px;
  }
}
#fullscreen_nav_wrap #fullscreen_nav > ul {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li {
  padding: 0 6px;
}
#fullscreen_nav_wrap #fullscreen_nav > ul > li > a {
  border-top-width: 1px;
  border-top-style: solid;
  padding: 12px 0;
}
@media screen and (min-width: 750px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li > a {
    padding: 12px 6px 12px 0;
    margin-bottom: 2vw;
  }
}
@media screen and (max-width: 749px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li:last-child a {
    border-bottom-width: 1px;
    border-bottom-style: solid;
  }
}
@media screen and (min-width: 750px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li {
    width: 33%;
    margin-bottom: 24px;
  }
}
@media screen and (min-width: 1025px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li {
    width: 25%;
  }
}
@media screen and (min-width: 1993px) {
  #fullscreen_nav_wrap #fullscreen_nav > ul > li {
    width: 20%;
  }
}
#fullscreen_nav_wrap #mobile_nav_additional_nav,
#fullscreen_nav_wrap #mobile_nav_footer_info,
#fullscreen_nav_wrap #mobile_nav_header_logos,
#fullscreen_nav_wrap #mobile_nav_lang_contact,
#fullscreen_nav_wrap #nav-lang-wrapper {
  display: none;
}
@media screen and (max-width: 749px) {
  #fullscreen_nav_wrap #mab_univers_nav {
    display: none;
  }
}
#fullscreen_nav_wrap #mab_univers_nav > ul {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: stretch;
  justify-content: stretch;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding-bottom: 12px;
  min-height: 70px;
  bottom: -10px;
  transition: transform 0.2s ease-in-out;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li:hover {
  transform: translateY(-10px);
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 4px 2px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  #fullscreen_nav_wrap #mab_univers_nav > ul > li a {
    font-size: 16px;
  }
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li a:hover, #fullscreen_nav_wrap #mab_univers_nav > ul > li a:focus, #fullscreen_nav_wrap #mab_univers_nav > ul > li a:active {
  color: black !important;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li a .svg-icon {
  display: inline-flex;
  align-self: center;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li a .svg-icon svg {
  top: 0.125em;
  position: relative;
  width: 1.05em;
  height: auto;
  display: block;
  margin-bottom: -3px;
}
@media screen and (min-width: 1993px) {
  #fullscreen_nav_wrap #mab_univers_nav > ul > li a {
    padding: 12px 6px;
  }
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li:not(.active) > span {
  position: absolute;
  width: 0;
  height: 0;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li:not(.active):hover > span {
  width: 100%;
  height: 100%;
  bottom: 0;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li:not(.active):hover a {
  z-index: 6;
}
#fullscreen_nav_wrap #mab_univers_nav > ul > li.active a, #fullscreen_nav_wrap #mab_univers_nav > ul > li:hover a, #fullscreen_nav_wrap #mab_univers_nav > ul > li:focus a, #fullscreen_nav_wrap #mab_univers_nav > ul > li:active a {
  color: black !important;
}

header.header-with-1 #header_navigation, header.header-with-2 #header_navigation {
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  header.header-with-3 #header_navigation {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 1025px) {
  header.header-with-3 #header_navigation {
    bottom: 25px;
  }
}

.hamburger {
  background-color: transparent !important;
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 32px;
  height: 18px;
  font-size: 0;
  text-indent: -9999px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
  border-radius: 0;
  border: none;
  cursor: pointer;
  -webkit-transition: background 0.1s;
  transition: background 0.1s;
}
@media screen and (min-width: 1025px) {
  .hamburger {
    width: 86px;
    height: 62px;
  }
}

.hamburger span {
  display: block;
  position: absolute;
  top: 8px;
  left: 0px;
  right: 0px;
  height: 2px;
}
@media screen and (min-width: 1025px) {
  .hamburger span {
    top: 26px;
    height: 10px;
  }
}

.hamburger span::before,
.hamburger span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
}
@media screen and (min-width: 1025px) {
  .hamburger span::before,
.hamburger span::after {
    height: 10px;
  }
}

.hamburger span::before {
  top: -11px;
}
@media screen and (min-width: 1025px) {
  .hamburger span::before {
    top: -24px;
  }
}

.hamburger span::after {
  bottom: -11px;
}
@media screen and (min-width: 1025px) {
  .hamburger span::after {
    bottom: -24px;
  }
}

/**
 * Style 2
 * Hamburger to "x" (htx). Takes on a hamburger shape, bars slide
 * down to center and transform into an "x".
 */
.ham-ctx span {
  -webkit-transition: background 0s 0.1s;
  transition: background 0s 0.1s;
}

.ham-ctx span::before,
.ham-ctx span::after {
  -webkit-transition-duration: 0.1s, 0.1s;
  transition-duration: 0.1s, 0.1s;
  -webkit-transition-delay: 0s, 0.1s;
  transition-delay: 0.1s, 0s;
}

.ham-ctx span::before {
  -webkit-transition-property: top, -webkit-transform;
  transition-property: top, transform;
}

.ham-ctx span::after {
  -webkit-transition-property: bottom, -webkit-transform;
  transition-property: bottom, transform;
}

/* active state, i.e. menu open */
body.open-nav .ham-ctx span {
  background: none;
}
body.open-nav .ham-ctx span::before {
  top: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
body.open-nav .ham-ctx span::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
body.open-nav .ham-ctx span::before,
body.open-nav .ham-ctx span::after {
  -webkit-transition-delay: 0s, 0.1s;
  transition-delay: 0s, 0.1s;
}

footer {
  margin-top: 25px;
}
footer #scroll-top {
  margin-bottom: 25px;
  text-align: center;
  display: block;
  cursor: pointer;
}
@media screen and (min-width: 1025px) {
  footer #scroll-top {
    display: none;
  }
}
footer #scroll-top svg {
  transform: rotate(-90deg);
  border-radius: 50%;
  border: 1px solid;
  padding: 8px;
  height: 28px;
  width: 28px;
}
footer #footer_second_row {
  text-align: center;
  min-height: 55px;
}
footer #footer_second_row a {
  margin: 0 5px;
}

#footer_first_row,
#footer_second_row,
#mobile_nav_footer_info {
  padding: 15px;
}
@media screen and (min-width: 750px) {
  #footer_first_row,
#footer_second_row,
#mobile_nav_footer_info {
    padding: calc(37px / 2) 37px;
  }
}
#footer_first_row, #footer_first_row p, #footer_first_row a,
#footer_second_row,
#footer_second_row p,
#footer_second_row a,
#mobile_nav_footer_info,
#mobile_nav_footer_info p,
#mobile_nav_footer_info a {
  font-size: 16px;
}
#footer_first_row p,
#footer_second_row p,
#mobile_nav_footer_info p {
  margin-bottom: 12px;
}
#footer_first_row a,
#footer_second_row a,
#mobile_nav_footer_info a {
  text-underline-offset: 0.29em;
}

#footer_first_row,
#mobile_nav_footer_info {
  margin-bottom: 25px;
}
#footer_first_row, #footer_first_row p, #footer_first_row a,
#mobile_nav_footer_info,
#mobile_nav_footer_info p,
#mobile_nav_footer_info a {
  line-height: 32px;
}
@media screen and (min-width: 750px) {
  #footer_first_row .footer_first_row_wrap,
#mobile_nav_footer_info .footer_first_row_wrap {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin-top: 6px;
  }
  #footer_first_row .footer_first_row_wrap, #footer_first_row .footer_first_row_wrap p, #footer_first_row .footer_first_row_wrap a,
#mobile_nav_footer_info .footer_first_row_wrap,
#mobile_nav_footer_info .footer_first_row_wrap p,
#mobile_nav_footer_info .footer_first_row_wrap a {
    line-height: 1.5 !important;
  }
  #footer_first_row .footer_first_row_wrap br, #footer_first_row .footer_first_row_wrap p br, #footer_first_row .footer_first_row_wrap a br,
#mobile_nav_footer_info .footer_first_row_wrap br,
#mobile_nav_footer_info .footer_first_row_wrap p br,
#mobile_nav_footer_info .footer_first_row_wrap a br {
    content: "" !important;
    display: block !important;
    margin-bottom: 8px !important;
  }
  #footer_first_row .footer_first_row_wrap > .column:nth-child(1),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(1) {
    width: 33.33%;
  }
  #footer_first_row .footer_first_row_wrap > .column:nth-child(2),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(2) {
    flex-grow: 1;
  }
  #footer_first_row .footer_first_row_wrap > .column:nth-child(3), #footer_first_row .footer_first_row_wrap > .column:nth-child(4),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(3),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(4) {
    width: 25%;
  }
}
@media screen and (max-width: 1024px) {
  #footer_first_row .footer_first_row_wrap .hide-med,
#mobile_nav_footer_info .footer_first_row_wrap .hide-med {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  #footer_first_row .footer_first_row_wrap > .column:nth-child(1),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(1) {
    width: 33.33%;
  }
  #footer_first_row .footer_first_row_wrap > .column:nth-child(3), #footer_first_row .footer_first_row_wrap > .column:nth-child(4),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(3),
#mobile_nav_footer_info .footer_first_row_wrap > .column:nth-child(4) {
    width: 12.55vw;
    max-width: 250px;
  }
}
#footer_first_row .footer_first_row_wrap .social-links,
#mobile_nav_footer_info .footer_first_row_wrap .social-links {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: calc(25px / 2);
}
#footer_first_row .footer_first_row_wrap .social-links li svg,
#mobile_nav_footer_info .footer_first_row_wrap .social-links li svg {
  width: 45px;
  height: 45px;
  display: block;
  margin-right: 12px;
}
@media screen and (min-width: 750px) {
  #footer_first_row .footer_first_row_wrap .social-links li svg,
#mobile_nav_footer_info .footer_first_row_wrap .social-links li svg {
    width: 34px;
    height: 34px;
  }
}
#footer_first_row .footer_first_row_wrap .social-links li svg path.svg-stroke-change,
#mobile_nav_footer_info .footer_first_row_wrap .social-links li svg path.svg-stroke-change {
  stroke-width: 2px;
}

@media screen and (max-width: 749px) {
  #footer_first_row {
    margin-bottom: 0;
    border-bottom: 1px solid black;
  }
}

body .detail-wrap {
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 18px;
}
@media screen and (min-width: 750px) {
  body .detail-wrap {
    padding-right: 9.34vw;
    padding-left: 9.34vw;
  }
}
@media screen and (min-width: 1993px) {
  body .detail-wrap {
    padding-right: 373px;
    padding-left: 373px;
    margin-bottom: 44.4px;
  }
}
body .detail-wrap h1 {
  background-color: transparent !important;
  padding: 0 !important;
}
body .detail-wrap .image-wrap, body .detail-wrap .title-wrap, body .detail-wrap .video-wrap {
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 18px;
}
@media screen and (min-width: 750px) {
  body .detail-wrap .image-wrap, body .detail-wrap .title-wrap, body .detail-wrap .video-wrap {
    margin-right: -3.87vw;
    margin-left: -3.87vw;
    margin-bottom: 37px;
  }
}
@media screen and (min-width: 1993px) {
  body .detail-wrap .image-wrap, body .detail-wrap .title-wrap, body .detail-wrap .video-wrap {
    margin-right: -153px;
    margin-left: -153px;
  }
}
body .detail-wrap .title-wrap,
body .bg-wrap .title-wrap {
  margin-bottom: 37px;
}
body .detail-wrap .title-wrap h2,
body .bg-wrap .title-wrap h2 {
  max-width: 70%;
}
@media screen and (min-width: 750px) {
  body .detail-wrap .detail-wrap-title-top,
body .detail-wrap .detail-wrap-subtitle,
body .bg-wrap .detail-wrap-title-top,
body .bg-wrap .detail-wrap-subtitle {
    max-width: 80%;
  }
}
@media screen and (min-width: 1025px) {
  body .detail-wrap .detail-wrap-title-top,
body .detail-wrap .detail-wrap-subtitle,
body .bg-wrap .detail-wrap-title-top,
body .bg-wrap .detail-wrap-subtitle {
    max-width: 75%;
  }
}
@media screen and (min-width: 1993px) {
  body .detail-wrap .detail-wrap-title-top,
body .detail-wrap .detail-wrap-subtitle,
body .bg-wrap .detail-wrap-title-top,
body .bg-wrap .detail-wrap-subtitle {
    max-width: 70%;
  }
}
body.event-dtl .links-wrap {
  margin-top: 55.5px;
  margin-bottom: 37px;
}
body.event-dtl .double-padding p {
  margin-bottom: calc(37px / 2);
}
body.event-dtl .eventOrganizer {
  margin-top: 37px;
}
body.news-dtl .detail-links {
  max-width: 980px;
  margin: auto;
  font-size: 28px;
  line-height: 36px;
}
body.news-dtl .detail-links {
  margin-top: 4px;
  margin-bottom: 4px;
}
body.news-dtl .detail-links a {
  text-decoration: none;
}
body.news-dtl .detail-links .file-icon {
  display: inline-block;
  margin-bottom: -10px;
}
body.news-dtl .detail-links .file-icon svg {
  display: block;
}
body.news-dtl #header_second_row, body.news-dtl #footer_first_row {
  position: relative;
}
body.news-dtl #header_second_row:before, body.news-dtl #header_second_row:after, body.news-dtl #footer_first_row:before, body.news-dtl #footer_first_row:after {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  max-width: 1720;
  left: 50%;
  transform: translateX(-50%);
}
body.news-dtl #header_second_row:before, body.news-dtl #footer_first_row:before {
  top: 0;
}
body.news-dtl #header_second_row:after, body.news-dtl #footer_first_row:after {
  bottom: 0;
}
body .news-teaser {
  margin-top: 37px;
  padding: 18px 15px 15px 15px;
  position: relative;
}
@media screen and (min-width: 750px) {
  body .news-teaser {
    padding: 37px;
  }
}
body .news-teaser:before {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  max-width: 1720;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

/* Components */
input[type=text],
input[type=password],
input[type=email],
input[type=submit],
select,
label,
textarea,
.custom-upload-btn-content {
  font-family: inherit;
  -webkit-appearance: none;
  font-size: 18px;
}
@media screen and (min-width: 750px) {
  input[type=text],
input[type=password],
input[type=email],
input[type=submit],
select,
label,
textarea,
.custom-upload-btn-content {
    font-size: 22px;
  }
}
@media screen and (min-width: 1025px) {
  input[type=text],
input[type=password],
input[type=email],
input[type=submit],
select,
label,
textarea,
.custom-upload-btn-content {
    font-size: 1.4vw;
  }
}
@media screen and (min-width: 1993px) {
  input[type=text],
input[type=password],
input[type=email],
input[type=submit],
select,
label,
textarea,
.custom-upload-btn-content {
    font-size: 28px;
  }
}

input[type=text],
input[type=password],
input[type=email],
input[type=submit],
input[type=checkbox],
select,
textarea {
  text-align: left;
  border-width: 1px;
  border-style: solid;
  display: inline-block;
  text-decoration: none;
  padding: 8px 16px;
  line-height: 34px;
}
@media screen and (max-width: 749px) {
  input[type=text],
input[type=password],
input[type=email],
input[type=submit],
input[type=checkbox],
select,
textarea {
    line-height: 32px;
    padding: 6px 10px;
  }
}
input[type=text]:hover,
input[type=password]:hover,
input[type=email]:hover,
input[type=submit]:hover,
input[type=checkbox]:hover,
select:hover,
textarea:hover {
  outline: none !important;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=submit]:focus,
input[type=checkbox]:focus,
select:focus,
textarea:focus {
  outline: none !important;
  box-shadow: 0 0 20px 0px #719ECE;
}

input::placeholder,
textarea::placeholder {
  color: rgba(30, 31, 31, 0.5019607843);
}

input[type=text]:focus, input[type=text]:focus-visible,
input[type=password]:focus,
input[type=password]:focus-visible,
input[type=email]:focus,
input[type=email]:focus-visible {
  border-width: 1px;
  border-style: solid;
  outline: none;
}

input[type=submit] {
  cursor: pointer;
  padding: 8px 25px;
  border: none !important;
  border-radius: 0;
  -webkit-appearance: none;
}
input[type=submit]:hover {
  border: none !important;
}
input[type=submit]:active {
  border: none !important;
}

.offers-search .search-input {
  box-sizing: border-box;
}

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

.form {
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (min-width: 750px) {
  .form {
    padding: 37px;
  }
}

.form-wrapper {
  margin: 37px 0;
}
.form-wrapper fieldset > .field, .form-wrapper fieldset > .field input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
  padding: 0;
  margin: 0;
}
.form-wrapper fieldset .form-row {
  margin-bottom: calc(37px / 4);
}
@media screen and (min-width: 750px) {
  .form-wrapper fieldset .form-row {
    width: 60%;
    margin-bottom: calc(37px / 2);
  }
}
.form-wrapper fieldset .form-row input, .form-wrapper fieldset .form-row textarea, .form-wrapper fieldset .form-row fieldset {
  margin-bottom: calc(37px / 4);
}
.form-wrapper fieldset .form-row label {
  display: block;
  margin-bottom: calc(37px / 4);
}
.form-wrapper fieldset .form-row input, .form-wrapper fieldset .form-row textarea {
  box-sizing: border-box;
  width: 100%;
}
.form-wrapper fieldset .form-row textarea {
  min-height: 120px;
}
.form-wrapper fieldset .form-row fieldset .form-item {
  position: relative;
  min-height: 40px;
  display: flex;
  align-items: center;
}
.form-wrapper fieldset .form-row fieldset input {
  position: absolute;
  margin: 0;
  height: 20px;
  width: 20px;
}
.form-wrapper fieldset .form-row fieldset label {
  margin-left: 35px;
  margin-bottom: 0;
}
.form-wrapper fieldset .form-row fieldset legend {
  margin-bottom: calc(37px / 4);
}
.form-wrapper fieldset .form-row fieldset select:hover {
  cursor: pointer;
}
.form-wrapper input[type=radio] {
  border-width: 1px;
  border-style: solid;
  background-color: white;
  border-radius: 50%;
  -webkit-appearance: inherit;
  height: 24px;
  width: 24px;
}
.form-wrapper input[type=radio]:hover {
  cursor: pointer;
}
.form-wrapper input[type=radio] ~ label:hover {
  cursor: pointer;
}
.form-wrapper input[type=radio]:checked:before {
  content: "";
  position: absolute;
  border-radius: 50%;
  left: 25%;
  top: 25%;
  width: 50%;
  height: 50%;
}
.form-wrapper .checkboxes .form-item {
  display: block;
  position: relative;
  margin-bottom: 0;
  cursor: default;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.form-wrapper .checkboxes .form-item label {
  min-height: 40px;
  padding-left: 35px;
  margin-left: 0;
  z-index: 3;
}
.form-wrapper .checkboxes .form-item label:hover {
  cursor: pointer;
}
.form-wrapper .checkboxes .form-item label p {
  display: inline-block;
  font-size: inherit;
}
.form-wrapper .checkboxes .form-item .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 22px;
  width: 22px;
  border-width: 1px;
  border-style: solid;
}
.form-wrapper .checkboxes .form-item .checkmark:hover {
  cursor: pointer;
}
.form-wrapper .checkboxes .form-item .checkmark:after {
  content: "";
  position: absolute;
}
.form-wrapper .checkboxes .form-item input {
  position: absolute;
  margin: 0;
  top: 0;
  left: 0;
  height: 22px;
  width: 22px;
}
.form-wrapper .checkboxes .form-item input:checked ~ .checkmark:after {
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.form-wrapper fieldset .form-row fieldset label.custom-dropdown {
  position: relative;
  display: inline;
  margin-left: 0;
}
.form-wrapper fieldset .form-row fieldset label.custom-dropdown:after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  pointer-events: none;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  top: 0.3em;
  right: 0.75em;
  border-top: 8px solid black;
}
.form-wrapper fieldset .form-row fieldset label.custom-dropdown select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  padding-right: 38px;
  min-width: 250px;
}
.form-wrapper fieldset .form-row fieldset label.custom-dropdown select:focus-visible {
  position: initial !important;
}
.form-wrapper fieldset .form-row fieldset label.select::-ms-expand {
  display: none;
}
.form-wrapper .upload-description {
  margin: 10px 0;
  display: inline-block;
}
.form-wrapper .custom-upload {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 749px) {
  .form-wrapper .custom-upload {
    overflow: hidden;
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}
.form-wrapper .custom-upload .custom-upload-btn {
  padding: 12px 15px;
  margin-right: 20px;
  display: inline-block;
  position: relative;
  border-width: 1px;
  border-style: solid;
}
.form-wrapper .custom-upload .custom-upload-btn .custom-upload-btn-content {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.form-wrapper .custom-upload .custom-upload-btn .custom-upload-btn-content svg {
  flex-shrink: 0;
  margin-right: 10px;
  width: 26px;
  height: auto;
}
.form-wrapper .custom-upload .custom-upload-btn .custom-upload-btn-content svg path.svg-stroke-change {
  stroke-width: 2px;
}
.form-wrapper .custom-upload .custom-upload-btn input[type=file] {
  opacity: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
}
.form-wrapper .custom-upload .custom-upload-file {
  display: inline-block;
}
.form-wrapper .custom-upload .custom-upload-file .custom-upload-file-content {
  white-space: nowrap;
  display: flex;
  align-items: center;
}
.form-wrapper .custom-upload .custom-upload-file .custom-upload-file-content svg {
  flex-shrink: 0;
}
.form-wrapper .custom-upload .custom-upload-file .custom-upload-file-content .uploaded-filename {
  margin-left: 10px;
}

/* (A) POPUP */
.picker-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s;
}

.picker-wrap.show {
  opacity: 1;
  visibility: visible;
}

.picker-wrap .picker {
  margin: 50vh auto 0 auto;
  transform: translateY(-50%);
}

/* (B) CONTAINER */
.picker {
  max-width: 300px;
  background: #444444;
  padding: 10px;
}

/* (C) MONTH + YEAR */
.picker-m, .picker-y {
  width: 50%;
  padding: 5px;
  box-sizing: border-box;
  font-size: 16px;
}

/* (D) DAY */
.picker-d table {
  color: #fff;
  border-collapse: separate;
  width: 100%;
  margin-top: 10px;
}

.picker-d table td {
  width: 14.28%; /* 7 EQUAL COLUMNS */
  padding: 5px;
  text-align: center;
}

/* HEADER CELLS */
.picker-d-h td {
  font-weight: bold;
}

/* BLANK DATES */
.picker-d-b {
  background: #4e4e4e;
}

/* TODAY */
.picker-d-td {
  background: #d84f4f;
}

/* PICKABLE DATES */
.picker-d-d:hover {
  cursor: pointer;
  background: #a33c3c;
}

/* UNPICKABLE DATES */
.picker-d-dd {
  color: #888;
  background: #4e4e4e;
}

fieldset.horizontal-layout {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
fieldset.horizontal-layout .form-item {
  padding-right: 37px;
}

.swisscovery-search-wrapper {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
  .swisscovery-search-wrapper {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.swisscovery-search-wrapper .search-wrapper {
  width: 50%;
}
@media screen and (max-width: 749px) {
  .swisscovery-search-wrapper .search-wrapper {
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .swisscovery-search-wrapper .search-wrapper {
    padding-right: 37px;
  }
}
.swisscovery-search-wrapper .search-wrapper .form-row {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
  .swisscovery-search-wrapper .search-wrapper .form-row {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .swisscovery-search-wrapper .search-wrapper .form-row input {
    margin-bottom: 18px;
  }
}
.swisscovery-search-wrapper .search-wrapper .swisscovery-search {
  box-sizing: border-box;
  flex-grow: 1;
}
@media screen and (max-width: 749px) {
  .swisscovery-search-wrapper .search-wrapper .swisscovery-search {
    width: 100%;
  }
}
@media screen and (min-width: 750px) {
  .swisscovery-search-wrapper .search-wrapper .swisscovery-search {
    margin-right: 18px;
    min-width: 300px;
  }
}
.swisscovery-search-wrapper .search-text {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  .swisscovery-search-wrapper .search-text {
    width: 100%;
  }
}
.swisscovery-search-wrapper button {
  display: flex;
  align-items: center;
}
.swisscovery-search-wrapper button .link-icon {
  display: inline-block;
  padding-left: 10px;
}
.swisscovery-search-wrapper button .link-icon svg {
  display: block;
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 749px) {
  .swisscovery-search-wrapper button .link-icon svg {
    width: 20px;
    height: 20px;
  }
}

@media screen and (min-width: 750px) {
  .detail-wrap .form-wrapper fieldset .form-row {
    width: 100%;
  }
}

.news-component h2 {
  margin-bottom: 37px;
}
.news-component .news-list {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-right: -7.5px;
  margin-left: -7.5px;
}
@media screen and (min-width: 750px) {
  .news-component .news-list {
    margin-right: calc(-37px / 2);
    margin-left: calc(-37px / 2);
  }
}
.news-component .news-list .news-entry .news-text {
  padding: 18px 12px;
}
.news-component .news-list .news-entry .news-text .news-title {
  margin: 12px 0;
  font-size: 28px;
  line-height: 36px;
}

.image-teaser {
  position: relative;
  max-height: 80vh;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.image-teaser img {
  width: 100%;
  display: block;
}
.image-teaser .link-wrap {
  position: absolute;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  bottom: 0;
  padding-bottom: 6%;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC43NSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.75) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0)), color-stop(70%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 0.75)));
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.75) 100%);
  background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.75) 100%);
  background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.75) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.75) 100%);
}
.image-teaser .link-wrap a {
  display: inline-block;
}

.text-teaser p {
  font-size: 21px;
  line-height: 1.3;
  padding: 0;
}
@media screen and (min-width: 750px) {
  .text-teaser p {
    padding: 2.21vw 8.03vw;
    font-size: 3.11vw;
  }
}
@media screen and (min-width: 1993px) {
  .text-teaser p {
    font-size: 62px;
    padding: 44px 160px;
  }
}
.text-teaser a {
  border-style: solid;
  border-width: 1px;
  text-decoration: none;
  padding: 8px 50px;
}
.text-teaser .link-wrap {
  margin-top: 37px;
  margin-bottom: 37px;
}

.link-teaser h2 {
  margin-bottom: 37.5px;
}
.link-teaser .teaser-links-wrap .link-icon {
  padding-left: calc(25px/6);
}
@media screen and (min-width: 1993px) {
  .link-teaser .teaser-links-wrap .link-icon {
    padding-left: calc(25px/3);
  }
}
.link-teaser .link-wrapper {
  padding: 0;
}
@media screen and (min-width: 750px) {
  .link-teaser .link-wrapper {
    animation: 3s ease-in 1s 2 reverse both paused slidein;
  }
  .link-teaser .link-wrapper:hover .link-icon svg {
    transition: all 1s ease-in-out;
    animation: infiniteBackAndForth 1.7s infinite;
  }
}
.link-teaser .link-wrapper a {
  line-height: 1.7;
  text-decoration: none;
  font-size: 22px;
}
@media screen and (min-width: 750px) {
  .link-teaser .link-wrapper a {
    font-size: calc(42px - 50%);
    line-height: 1.4;
  }
}
@media screen and (min-width: 1025px) {
  .link-teaser .link-wrapper a {
    font-size: 3.1vw;
  }
}
@media screen and (min-width: 1993px) {
  .link-teaser .link-wrapper a {
    font-size: 62px;
    line-height: 1.3;
  }
}
.link-teaser .link-wrapper a .link-icon.internal svg {
  width: 20px;
  height: auto;
}
@media screen and (min-width: 750px) {
  .link-teaser .link-wrapper a .link-icon.internal svg {
    width: 29px;
  }
}
@media screen and (min-width: 1025px) {
  .link-teaser .link-wrapper a .link-icon.internal svg {
    width: 2.3vw;
  }
}
@media screen and (min-width: 1993px) {
  .link-teaser .link-wrapper a .link-icon.internal svg {
    width: 45px;
  }
}
.link-teaser .link-wrapper a .link-icon.external svg {
  width: 19px;
  height: auto;
}
@media screen and (min-width: 750px) {
  .link-teaser .link-wrapper a .link-icon.external svg {
    width: 26px;
  }
}
@media screen and (min-width: 1025px) {
  .link-teaser .link-wrapper a .link-icon.external svg {
    width: 2.15vw;
  }
}
@media screen and (min-width: 1993px) {
  .link-teaser .link-wrapper a .link-icon.external svg {
    width: 43px;
  }
}

.grid-area {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-right: -7.5px;
  margin-left: -7.5px;
}
@media screen and (min-width: 750px) {
  .grid-area {
    margin-right: calc(-37px / 2);
    margin-left: calc(-37px / 2);
  }
}

.box-teaser {
  width: 50%;
  padding-right: 7.5px;
  padding-left: 7.5px;
}
@media screen and (max-width: 1024px) {
  .box-teaser {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 750px) {
  .box-teaser {
    width: 33.33%;
    padding-right: calc(37px / 2);
    padding-left: calc(37px / 2);
    margin-bottom: 37px;
  }
  .box-teaser.f-carousel__slide {
    width: 33.33% !important;
    padding-right: calc(37px / 2) !important;
    padding-left: calc(37px / 2) !important;
    margin-bottom: 0;
  }
}
.box-teaser .box-wrap {
  height: 100%;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
.box-teaser .box-wrap:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 23px -7px rgba(0, 0, 0, 0.3);
}
.box-teaser .box-image {
  width: 100%;
  height: 0;
  padding-bottom: 66.79%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.box-teaser .box-text {
  min-height: 6.53vw;
  height: 100%;
  width: 100%;
  padding: 15px;
  font-size: 16px;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
}
@media screen and (min-width: 750px) {
  .box-teaser .box-text {
    padding: 10px 25px 35px 25px;
    font-size: 1.4vw;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text {
    min-height: 130px;
    font-size: 28px;
  }
}
.box-teaser .box-text .box-small-text {
  font-size: 12px;
  line-height: 1.3;
  margin-bottom: 3px;
}
@media screen and (min-width: 750px) {
  .box-teaser .box-text .box-small-text {
    font-size: 1.1vw;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text .box-small-text {
    font-size: 21px;
  }
}
.box-teaser .box-text .box-title {
  font-size: 1.41vw;
  line-height: 1.3;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
}
@media screen and (max-width: 749px) {
  .box-teaser .box-text .box-title {
    font-size: 16px;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text .box-title {
    font-size: 28px;
  }
}
.box-teaser .box-text .box-subtitle,
.box-teaser .box-text .box-date {
  font-size: 14px;
  font-size: 12.6px;
}
@media screen and (min-width: 1025px) {
  .box-teaser .box-text .box-subtitle,
.box-teaser .box-text .box-date {
    font-size: 1.05vw;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text .box-subtitle,
.box-teaser .box-text .box-date {
    font-size: 21px;
  }
}
.box-teaser .box-text .box-subtitle {
  line-height: 1.3;
}
.box-teaser .box-text .link-icon {
  display: inline-block;
}
.box-teaser .box-text .link-icon.internal svg, .box-teaser .box-text .link-icon.external svg {
  height: 1.1em;
  margin-left: 4px;
}
@media screen and (min-width: 750px) {
  .box-teaser .box-text .link-icon.internal svg, .box-teaser .box-text .link-icon.external svg {
    margin-left: 0.2vw;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text .link-icon.internal svg, .box-teaser .box-text .link-icon.external svg {
    margin-left: 8px;
  }
}
.box-teaser .box-text .link-icon.internal svg {
  width: 18px;
  margin-bottom: -4px;
}
@media screen and (min-width: 750px) {
  .box-teaser .box-text .link-icon.internal svg {
    width: 1.4vw;
    margin-bottom: -0.2vw;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text .link-icon.internal svg {
    width: 31px;
    margin-bottom: -5px;
  }
}
.box-teaser .box-text .link-icon.external svg {
  width: 17px;
  margin-bottom: -2px;
}
@media screen and (min-width: 750px) {
  .box-teaser .box-text .link-icon.external svg {
    width: 1.32vw;
    margin-bottom: -0.2vw;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-text .link-icon.external svg {
    width: 29px;
  }
}
.box-teaser a {
  text-decoration: none;
}
.box-teaser .box-link {
  font-size: 18px;
  font-size: 16.8px;
  line-height: 1.4;
  display: inline;
}
@media screen and (min-width: 1025px) {
  .box-teaser .box-link {
    font-size: 1.41vw;
  }
}
@media screen and (min-width: 1993px) {
  .box-teaser .box-link {
    font-size: 28px;
  }
}
.box-teaser.high-box .box-image {
  height: 0;
  padding-bottom: 140%;
}
.box-teaser.notset {
  display: none;
}

.media-box-teaser .box-image svg {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 50px;
  height: 50px;
  stroke-width: 0.6px;
}

.media-box-fancybox-content .image-grid-wrapper {
  background-color: transparent !important;
}
.media-box-fancybox-content .media-embed {
  display: block !important;
  padding: 0 !important;
}

.carousel .f-carousel__nav .f-button {
  height: 100%;
  width: 150px;
}
.carousel .f-carousel__nav .f-button svg {
  width: 60px !important;
  height: 86px !important;
}
.carousel .f-carousel__nav .f-button.is-next {
  right: 0;
}
.carousel .f-carousel__nav .f-button.is-prev {
  left: 10px;
}
.carousel .f-carousel__slide:not(.is-selected) {
  opacity: 0.5;
}

.offers-teaser .search-title {
  margin-top: 37px;
  margin-bottom: 37px;
}
.offers-teaser #offers_form {
  margin-top: 37px;
}
.offers-teaser #offers_form .form-row {
  display: flex;
}
.offers-teaser #offers_form input {
  max-width: 600px;
  width: 60%;
  margin-right: 37px;
}
.offers-teaser #offers_form button svg {
  display: block;
}
.offers-teaser .link-wrap {
  margin-top: 74px;
  margin-bottom: 37px;
}

.media-embed {
  padding: 24px 12% !important;
  margin-bottom: 25px;
}

.video-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.video-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.filterable-list {
  padding-left: 15px;
  padding-right: 15px;
  /* The "show" class is added to the filtered elements */
}
@media screen and (min-width: 750px) {
  .filterable-list {
    padding-left: 37px;
    padding-right: 37px;
  }
}
.filterable-list h1, .filterable-list h2 {
  padding: 0;
}
@media screen and (min-width: 750px) {
  .filterable-list h1, .filterable-list h2 {
    padding: 0 9.19vw;
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list h1, .filterable-list h2 {
    padding: 0 183px;
  }
}
.filterable-list .filterable-list-header {
  padding-top: 12px;
}
@media screen and (min-width: 750px) {
  .filterable-list .filterable-list-header {
    padding: 12px 9.19vw 0;
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list .filterable-list-header {
    padding: 12px 183px 0;
  }
}
.filterable-list .filterable-list-header .filter-buttons-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.filterable-list .filterable-list-header .filter-title {
  padding-bottom: 2px;
  font-size: 16px;
  line-height: 26px;
}
.filterable-list .filterable-list-header .show-hide-filters {
  margin-top: 12px;
}
.filterable-list .filterable-list-header .show-hide-filters button {
  padding: 4px 10px;
  font-size: 14px;
  border-width: 1px;
}
@media screen and (min-width: 1025px) {
  .filterable-list .filterable-list-header .show-hide-filters button {
    font-size: 18px;
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list .filterable-list-header .show-hide-filters button {
    font-size: 22px;
  }
}
@media screen and (max-width: 1024px) {
  .filterable-list .filterable-list-header .show-hide-filters button {
    padding: 0 8px;
  }
}
.filterable-list .filterable-list-header .show-hide-filters button .link-icon {
  display: inline-block;
  margin-bottom: -6px;
}
.filterable-list .filterable-list-header .show-hide-filters button .link-icon svg {
  display: block;
  margin-right: 5px;
}
.filterable-list .filterable-list-header .show-hide-filters .show-less-icon svg {
  transform: rotate(45deg);
}
.filterable-list .filterable-list-header .search-input {
  width: 100%;
  max-width: 820px;
  margin-bottom: 28px;
}
@media screen and (max-width: 1024px) {
  .filterable-list .filterable-list-header .search-input {
    margin-top: 0;
  }
}
.filterable-list button.filter-button {
  margin-right: 5px;
  margin-bottom: 10px;
  padding: 4px 10px;
  font-size: 14px;
}
@media screen and (min-width: 1025px) {
  .filterable-list button.filter-button {
    font-size: 18px;
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list button.filter-button {
    font-size: 22px;
  }
}
@media screen and (max-width: 1024px) {
  .filterable-list button.filter-button {
    margin-right: 5px;
    margin-bottom: 10px;
    padding: 0 8px;
  }
}
.filterable-list button.filter-button.active-forced {
  cursor: default;
}
.filterable-list .filterable-list-entry {
  border-top-width: 1px;
  border-top-style: solid;
  padding: 0 !important;
  display: none; /* Hidden by default */
  animation: 3s ease-in 1s 2 reverse both paused slidein;
}
.filterable-list .filterable-list-entry:hover .link-icon {
  transition: all 1s ease-in-out;
  animation: infiniteBackAndForth 1.7s infinite;
}
.filterable-list .filterable-list-entry:last-child {
  border-bottom-style: solid;
}
.filterable-list .filterable-list-entry .link a {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  min-height: 44px;
  align-items: center;
  padding: 5px 0;
  text-decoration: none;
  position: relative;
}
.filterable-list .filterable-list-entry .link .title {
  width: 60%;
  line-height: 1.2;
  text-align: left;
  padding-right: 10px;
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  .filterable-list .filterable-list-entry .link .title {
    font-size: 1.41vw;
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list .filterable-list-entry .link .title {
    font-size: 28px;
  }
}
@media screen and (max-width: 749px) {
  .filterable-list .filterable-list-entry .link .title {
    width: 90%;
  }
}
@media screen and (max-width: 1024px) {
  .filterable-list .filterable-list-entry .link .title {
    padding-right: 5px;
  }
}
.filterable-list .filterable-list-entry .link .tag-name {
  width: 90%;
  font-size: 12px;
  line-height: 1.3;
  text-align: left;
}
@media screen and (max-width: 749px) {
  .filterable-list .filterable-list-entry .link .tag-name {
    padding-top: 5px;
  }
}
@media screen and (min-width: 750px) {
  .filterable-list .filterable-list-entry .link .tag-name {
    width: 30%;
    line-height: 28px;
    font-size: calc( 24px - 43%);
  }
}
@media screen and (min-width: 1025px) {
  .filterable-list .filterable-list-entry .link .tag-name {
    font-size: calc( 24px - 43%);
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list .filterable-list-entry .link .tag-name {
    font-size: calc( 28px - 43%);
  }
}
.filterable-list .filterable-list-entry .link .link-icon {
  width: 10%;
  text-align: right;
}
.filterable-list .filterable-list-entry .link .link-icon.external svg {
  width: 31px;
  height: 31px;
}
@media screen and (max-width: 1024px) {
  .filterable-list .filterable-list-entry .link .link-icon {
    position: absolute;
    right: 0;
  }
  .filterable-list .filterable-list-entry .link .link-icon svg {
    width: 2em;
  }
}
.filterable-list .filterable-list-border {
  border-top-width: 1px;
  border-top-style: solid;
}
.filterable-list .show {
  display: block;
}
.filterable-list .sortable-list-header {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .filterable-list .sortable-list-header {
    display: none !important;
  }
}
.filterable-list .sortable-list-header .sort-title {
  width: calc(52% - 10px);
}
.filterable-list .sortable-list-header .sort-filter {
  margin-bottom: 18px;
  cursor: pointer;
  width: calc(12% - 10px);
}
.filterable-list .sortable-list-header .sort-filter span.arrow-icon {
  margin-left: 6px;
  opacity: 0.4;
  display: inline-block;
}
.filterable-list .sortable-list-header .sort-filter span.arrow-icon svg {
  width: 18px;
  height: auto;
  stroke-width: 4px;
  display: block;
  margin-bottom: -3px;
  animation: spinArrowCCW 0.3s ease forwards;
}
.filterable-list .sortable-list-header .sort-filter:hover span.arrow-icon, .filterable-list .sortable-list-header .sort-filter.active span.arrow-icon {
  opacity: 1;
}
.filterable-list .sortable-list-header .sort-filter.asc span.arrow-icon svg {
  animation: spinArrowCW 0.3s ease forwards;
}
.filterable-list .sortable-list-header .sort-filter.large-filter {
  width: calc(18% - 10px);
}
.filterable-list .sortable-list-header .icon-no-filter {
  width: 40px;
}
.filterable-list .sortable-list-content .filterable-list-entry .link a {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link a {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
}
.filterable-list .sortable-list-content .filterable-list-entry .link .title {
  width: calc(52% - 10px);
}
@media screen and (max-width: 1024px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link .title {
    width: calc(100% - 20px);
  }
}
.filterable-list .sortable-list-content .filterable-list-entry .link .sort-data {
  width: calc(12% - 10px);
  padding-right: 10px;
}
@media screen and (max-width: 1024px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link .sort-data {
    width: calc(100% - 25px);
  }
}
.filterable-list .sortable-list-content .filterable-list-entry .link .sort-data.large-sort {
  width: calc(18% - 10px);
}
@media screen and (max-width: 1024px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link .sort-data.large-sort {
    width: calc(100% - 25px);
  }
}
.filterable-list .sortable-list-content .filterable-list-entry .link .sort-data.list-font-small {
  font-size: 10.8px;
}
@media screen and (min-width: 1025px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link .sort-data.list-font-small {
    font-size: 0.9vw;
  }
}
@media screen and (min-width: 1993px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link .sort-data.list-font-small {
    font-size: 18px;
  }
}
@media screen and (max-width: 1024px) {
  .filterable-list .sortable-list-content .filterable-list-entry .link .sort-data.list-font-small {
    font-size: 12px;
    line-height: 1.1;
    padding-bottom: 2px;
  }
}
.filterable-list .sortable-list-content .filterable-list-entry .link .link-icon {
  width: 40px;
}

.offers-filters {
  margin-bottom: 30px;
  overflow: hidden;
  max-height: 250px;
  transition: max-height 0.5s cubic-bezier(0, 1, 0, 1);
}
.offers-filters.filters-expanded {
  max-height: 2000px;
  transition: max-height 1s ease-in-out;
}

.offers-filter h2 {
  margin-bottom: 15px;
}

.reset-filter-list-button {
  display: none;
}
.reset-filter-list-button.show {
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .events-calendar > h1,
.calendar-entries > h1 {
    padding: 0;
  }
  .events-calendar .date,
.events-calendar .event,
.events-calendar .location,
.calendar-entries .date,
.calendar-entries .event,
.calendar-entries .location {
    width: 100% !important;
  }
  .events-calendar #loadAllCalendarEntries,
.calendar-entries #loadAllCalendarEntries {
    margin-top: 5px;
  }
  .events-calendar #event-newsletter input[type=submit],
.calendar-entries #event-newsletter input[type=submit] {
    width: 100%;
    text-align: center;
    margin-top: 5px;
  }
}
.events-calendar .event-buttons,
.calendar-entries .event-buttons {
  margin-top: 10px;
}

.events-calendar #reset-calendar-list-button {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 99%;
}
.events-calendar #reset-calendar-list-button svg {
  position: relative;
  top: 5px;
  margin-right: 4px;
}
.events-calendar > h2 {
  margin-bottom: 37px;
}
.events-calendar .calendar-grid-wrapper {
  position: relative;
}
.events-calendar #calendarGrid {
  position: relative;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: 40px;
}
@media screen and (max-width: 749px) {
  .events-calendar #calendarGrid {
    max-width: 100vw;
  }
}
.events-calendar #calendarGrid .f-carousel__slide {
  width: 330px;
  padding: 15px;
}
.events-calendar #calendarGrid .f-carousel__slide .box-wrap {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 15px 10px;
  box-shadow: 0 4px 4px 2px rgba(0, 0, 0, 0.18);
  -webkit-box-shadow: 0 4px 4px 2px rgba(0, 0, 0, 0.18);
}
@media screen and (min-width: 750px) {
  .events-calendar #calendarGrid .f-carousel__slide {
    width: 411px;
  }
}
.events-calendar #calendarGrid .f-carousel__nav .f-button {
  height: 100%;
  width: 50px;
}
@media screen and (max-width: 749px) {
  .events-calendar #calendarGrid .f-carousel__nav .f-button {
    display: none;
  }
}
.events-calendar #calendarGrid .f-carousel__nav .f-button svg {
  width: 37px !important;
  height: auto;
}
.events-calendar #calendarGrid .f-carousel__nav .f-button.is-next {
  right: -37px;
}
.events-calendar #calendarGrid .f-carousel__nav .f-button.is-prev {
  left: -37px;
}
.events-calendar #calendarGrid .calendar-month-header h4 {
  text-align: center;
  font-size: 21px;
  margin-bottom: 18px;
}
.events-calendar #calendarGrid .day-of-week,
.events-calendar #calendarGrid .days-grid {
  /* 7 equal columns for weekdays and days cells */
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.events-calendar #calendarGrid .day-of-week {
  margin-bottom: 10px;
}
.events-calendar #calendarGrid .day-of-week li {
  text-align: center;
}
.events-calendar #calendarGrid .days-grid {
  height: 100%;
  position: relative;
}
.events-calendar #calendarGrid .day-of-week,
.events-calendar #calendarGrid .day-of-week li,
.events-calendar #calendarGrid .calendar-day {
  font-size: 16px;
}
.events-calendar #calendarGrid .calendar-day {
  position: relative;
  min-height: 36px;
  text-align: center;
  vertical-align: middle;
}
.events-calendar #calendarGrid .calendar-day .date {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 35px;
  height: 35px;
  max-width: 35px;
  max-height: 35px;
  line-height: 36px;
  vertical-align: middle;
  border-radius: 50%;
}
.events-calendar #calendarGrid .calendar-day--has-event > div {
  text-align: center;
}
.events-calendar #calendarGrid .calendar-day--today:after {
  content: " ";
  position: absolute;
  bottom: 5px;
  left: 50%;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background: white;
  transform: translateX(-50%);
  pointer-events: none;
}
.events-calendar #calendarGrid .calendar-day--today.calendar-day--has-event.show:after {
  color: white;
}
.events-calendar #calendarGrid .calendar-day--has-event > div {
  border-radius: 50%;
  height: 100%;
  width: 100%;
  transition: transform 0.6s ease;
}
.events-calendar #calendarGrid .calendar-day--has-event > div:hover {
  background-color: black;
  cursor: pointer;
  transform: scale(1.3);
  z-index: 10;
  transition: transform 0.2s ease;
}
.events-calendar #calendarGrid .calendar-day--has-event:not(.show) > div {
  background-color: transparent;
  color: black;
  border-width: 1px;
  border-style: solid;
}
@media screen and (max-width: 749px) {
  .events-calendar .filterable-list-header {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 749px) {
  .events-calendar .filterable-list-header #eventFilterButtons {
    max-height: 0;
    transition: max-height 0.25s ease-out;
    overflow: hidden;
    margin-bottom: 0;
    margin-top: 5px;
  }
  .events-calendar .filterable-list-header #eventFilterButtons.show {
    max-height: 800px;
    transition: max-height 0.25s ease-in;
  }
}
@media screen and (min-width: 750px) {
  .events-calendar .filterable-list-header #eventFilterButtons {
    display: flex;
  }
}
.events-calendar .filterable-list-header #eventFilterMobileAccordion {
  display: none;
}
@media screen and (max-width: 749px) {
  .events-calendar .filterable-list-header #eventFilterMobileAccordion {
    display: block;
    width: 100%;
    border-top-width: 1px;
    border-top-style: solid;
    padding: 10px 0;
  }
  .events-calendar .filterable-list-header #eventFilterMobileAccordion:hover {
    cursor: pointer;
  }
  .events-calendar .filterable-list-header #eventFilterMobileAccordion .mobile-filter-expand .arrow-icon {
    position: absolute;
    right: 15px;
    height: 20px;
    animation: spinArrowCW 0.3s ease forwards;
  }
  .events-calendar .filterable-list-header #eventFilterMobileAccordion .mobile-filter-expand .arrow-icon svg {
    width: 20px;
    height: auto;
  }
  .events-calendar .filterable-list-header #eventFilterMobileAccordion .mobile-filter-expand .arrow-icon svg path {
    stroke-width: 2px;
  }
  .events-calendar .filterable-list-header #eventFilterMobileAccordion.show .mobile-filter-expand .arrow-icon {
    animation: spinArrowCCW 0.3s ease forwards;
  }
}

.event-registration-info.open span::before {
  content: url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none'%3E%3Cpath d='M4 12.0909L9.29412 17L19 8' stroke='%234caf50' stroke-width='3'/%3E%3C/svg%3E");
  margin-right: 5px;
}

.event-registration-info.full span::before {
  content: url("data:image/svg+xml,%3Csvg width='12px' height='12px' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='17.4351' y='4.00002' width='3' height='19' transform='rotate(45 17.4351 4.00002)' fill='%23d32f2f'/%3E%3Crect x='4' y='6.12132' width='3' height='19' transform='rotate(-45 4 6.12132)' fill='%23d32f2f'/%3E%3C/svg%3E");
  margin-right: 5px;
}

.calendar-entries {
  /* The "show" class is added to the filtered elements */
}
@media screen and (max-width: 749px) {
  .calendar-entries {
    padding-right: 15px;
    padding-left: 15px;
  }
}
.calendar-entries .day-group .calendar-entry.show .event-data .date {
  visibility: visible;
}
.calendar-entries .day-group .calendar-entry.show ~ .show .event-data .date {
  visibility: hidden;
}
.calendar-entries .calendar-entry {
  margin: 30px 0;
  font-size: 28px;
  display: none; /* Hidden by default */
}
@media screen and (max-width: 1024px) {
  .calendar-entries .calendar-entry {
    font-size: 16.8px;
    margin: 0;
  }
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .event-data {
    animation: 3s ease-in 1s 2 reverse both paused slidein;
  }
  .calendar-entries .calendar-entry .event-data:hover .event .link-icon svg {
    transition: all 1s ease-in-out;
    animation: infiniteBackAndForth 1.7s infinite;
  }
}
@media screen and (max-width: 1024px) {
  .calendar-entries .calendar-entry .event-data {
    line-height: 1.2;
  }
  .calendar-entries .calendar-entry .event-data .date {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    font-size: 21.6px;
  }
  .calendar-entries .calendar-entry .event-data .date .date-big {
    font-size: inherit !important;
    margin-left: 5px;
  }
  .calendar-entries .calendar-entry .event-data .event {
    margin-bottom: 5px;
    padding-right: 20px;
  }
  .calendar-entries .calendar-entry .event-data .event h3 {
    line-height: inherit !important;
  }
  .calendar-entries .calendar-entry .event-data .event svg {
    width: 1em !important;
    height: 1em !important;
  }
  .calendar-entries .calendar-entry .event-data .location * {
    font-size: 16px;
  }
}
.calendar-entries .calendar-entry .event-data .event .link-icon svg {
  position: absolute;
  height: auto;
  width: calc( 18px + 5% );
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .event-data .event .link-icon svg {
    width: calc( 22px + 10% );
  }
}
@media screen and (min-width: 1025px) {
  .calendar-entries .calendar-entry .event-data .event .link-icon svg {
    width: 1.9vw;
  }
}
@media screen and (min-width: 1993px) {
  .calendar-entries .calendar-entry .event-data .event .link-icon svg {
    width: 34px;
  }
}
@media screen and (min-width: 1025px) {
  .calendar-entries .calendar-entry .event-data {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.calendar-entries .calendar-entry .event-data .link-icon svg {
  width: 30px;
  height: auto;
  padding-top: 3px;
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .event-data .link-icon svg {
    width: 35px;
    padding-top: 3px;
  }
}
.calendar-entries .calendar-entry .event-data .link-icon.calendar-icon svg {
  width: 34px;
  height: auto;
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .event-data .link-icon.calendar-icon svg {
    width: 42px;
  }
}
.calendar-entries .calendar-entry .date {
  width: 15%;
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .date {
    padding-right: 10px;
  }
}
.calendar-entries .calendar-entry .date .date-big {
  font-size: 37.2px;
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .date .date-big {
    font-size: 49.6px;
  }
}
@media screen and (min-width: 1025px) {
  .calendar-entries .calendar-entry .date .date-big {
    font-size: 3.7vw;
  }
}
@media only screen and (min-width: 1400px) {
  .calendar-entries .calendar-entry .date .date-big {
    font-size: 62px;
  }
}
@media screen and (min-width: 1025px) {
  .calendar-entries .calendar-entry .date .date-day {
    font-size: 2vw;
  }
}
@media only screen and (min-width: 1400px) {
  .calendar-entries .calendar-entry .date .date-day {
    font-size: 28px;
  }
}
.calendar-entries .calendar-entry .event {
  width: 55%;
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .event {
    padding-right: 25px;
  }
}
.calendar-entries .calendar-entry .event h3,
.calendar-entries .calendar-entry .event h3 p,
.calendar-entries .calendar-entry .event h3 a {
  font-size: 21.6px;
  line-height: 1.1;
}
@media screen and (min-width: 750px) {
  .calendar-entries .calendar-entry .event h3,
.calendar-entries .calendar-entry .event h3 p,
.calendar-entries .calendar-entry .event h3 a {
    font-size: 28.8px;
  }
}
@media screen and (min-width: 1025px) {
  .calendar-entries .calendar-entry .event h3,
.calendar-entries .calendar-entry .event h3 p,
.calendar-entries .calendar-entry .event h3 a {
    font-size: 1.9vw;
  }
}
@media screen and (min-width: 1993px) {
  .calendar-entries .calendar-entry .event h3,
.calendar-entries .calendar-entry .event h3 p,
.calendar-entries .calendar-entry .event h3 a {
    font-size: 36px;
  }
}
.calendar-entries .calendar-entry .event h3 p {
  display: inline;
}
.calendar-entries .calendar-entry .event a {
  text-decoration: none;
}
.calendar-entries .calendar-entry .event a svg {
  display: inline-block;
  vertical-align: top;
}
@media screen and (max-width: 749px) {
  .calendar-entries .calendar-entry .event a svg {
    height: 30px;
    width: 30px;
  }
}
.calendar-entries .calendar-entry .location {
  width: 30%;
}
.calendar-entries .calendar-entry #loadMoreCalendarEntries {
  margin: 0 auto;
}
.calendar-entries .show {
  display: block;
}
.calendar-entries .hide, .calendar-entries .not-set {
  display: none;
}

@media screen and (max-width: 749px) {
  body:not(.dtl-page) .calendar-entries {
    padding-right: 0;
    padding-left: 0;
  }
}

.calender-border {
  margin: 10px 0;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
@media screen and (min-width: 750px) {
  .calender-border {
    margin: 20px 0;
  }
}
.calender-border span {
  border-top-width: 1px;
  border-top-style: solid;
  width: 100%;
}

@media screen and (min-width: 1025px) {
  .calendar-entry.same-date-as-previous .calender-border span {
    width: 85%;
  }
  .calendar-entry.same-date-as-previous .calender-border-full-width span {
    border-top-width: 1px;
    border-top-style: solid;
    width: 100%;
  }
  .calendar-entry.same-date-as-previous .date {
    visibility: hidden;
  }
  .calendar-entry.same-date-as-previous .show-me {
    visibility: visible;
  }
  #loadAllCalendarEntries {
    display: none;
  }
}
.calendar-entry.element-after-newsletter {
  margin-top: -11px;
}
@media screen and (min-width: 750px) {
  .calendar-entry.element-after-newsletter {
    margin-top: -21px;
  }
}

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

.event-buttons {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.event-buttons .event-registration-info {
  line-height: 1.2;
  font-size: 14px;
}
.event-buttons .event-registration-info > div,
.event-buttons .event-registration-info > span {
  font-size: 12px !important;
}
@media screen and (min-width: 1993px) {
  .event-buttons .event-registration-info {
    line-height: 1.3;
  }
  .event-buttons .event-registration-info > div,
.event-buttons .event-registration-info > span {
    font-size: 14px !important;
  }
}
.event-buttons .event-registration-info > div {
  margin-bottom: 2px;
}
.event-buttons .event-registration-info * {
  font-size: 14px !important;
}
.event-buttons .event-registration-info.open span {
  color: #4caf50;
}
.event-buttons .event-registration-info.full span {
  color: #d32f2f;
}

.events-tickets {
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.events-tickets a {
  line-height: 16px;
}
.events-tickets svg {
  width: 34px;
  height: auto;
  margin-right: 10px;
}
@media screen and (min-width: 750px) {
  .events-tickets svg {
    width: 45px;
  }
}
.events-tickets button {
  height: 35px;
  line-height: 30px;
}
@media screen and (max-width: 749px) {
  .events-tickets button {
    height: 28px;
    line-height: 24px;
  }
}

.events-tickets,
.event-registration-info {
  margin-bottom: 10px;
}

#eventDetail .event-buttons {
  margin-top: 20px;
}

#event-registration-form {
  width: 860px;
  max-width: 100%;
  cursor: default;
}
#event-registration-form .h2 {
  max-width: 87%;
}
#event-registration-form.fancybox__content {
  padding: 15px;
}
@media screen and (min-width: 750px) {
  #event-registration-form.fancybox__content {
    padding: 60px;
  }
}
@media screen and (max-width: 749px) {
  #event-registration-form.fancybox__content > .f-carousel__nav .f-button.is-close {
    top: 15px;
    right: 15px;
  }
}
@media screen and (min-width: 1025px) {
  #event-registration-form.fancybox__content > .f-carousel__nav .f-button.is-close {
    top: 36px;
    right: 36px;
  }
}
#event-registration-form .form-wrapper {
  margin: calc(37px / 2) 0 0 0;
}
#event-registration-form .form-wrapper .form-row .checkboxes .form-item {
  position: relative;
  min-height: 40px;
  display: flex;
  align-items: center;
  line-height: 1.3;
}
#event-registration-form .form-wrapper .form-row .checkboxes .form-item p, #event-registration-form .form-wrapper .form-row .checkboxes .form-item a {
  line-height: 1.3;
}
#event-registration-form .form-wrapper input {
  opacity: 100%;
  height: auto;
  width: initial;
}
#event-registration-form .form-wrapper input, #event-registration-form .form-wrapper label {
  display: block;
  width: 100%;
  margin-bottom: calc(37px / 2);
}
#event-registration-form .form-wrapper input[type=submit] {
  width: auto;
}
#event-registration-form .form-wrapper > .field, #event-registration-form .form-wrapper > .field input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
  padding: 0;
  margin: 0;
}
#event-registration-form .form-wrapper a {
  margin-bottom: calc(37px / 2);
  font-size: 21px;
}
@media screen and (max-width: 749px) {
  #event-registration-form .form-wrapper a {
    font-size: 18px;
  }
}
#event-registration-form .form-wrapper .checkboxes fieldset .form-item input:checked ~ .checkmark:after {
  box-sizing: initial;
}
#event-registration-form .f-carousel__nav .f-button.is-close {
  color: black;
  --carousel-button-svg-filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
}
#event-registration-form .hide-inputs input {
  position: absolute;
  top: 0;
  left: 0;
  height: 22px;
  width: 22px;
  margin: 0;
}

.certificate-text p {
  font-size: 16px;
  margin: calc(37px / 2) 0;
}

.newsletter-response .message,
.response .message {
  margin: calc(37px) 0;
  color: #d32f2f !important;
}
.newsletter-response.success .message,
.response.success .message {
  color: #4caf50 !important;
}
.newsletter-response.success .message .event-title,
.response.success .message .event-title {
  color: #4caf50 !important;
}

.newsletter-response,
.response {
  display: none;
}
.newsletter-response.show,
.response.show {
  display: initial;
}

#event-newsletter {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: start;
  justify-content: start;
  padding: 15px;
  margin-top: 30px;
  border-width: 1px;
  border-style: solid;
}
@media screen and (min-width: 1025px) {
  #event-newsletter {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: start;
    justify-content: start;
    padding: 20px;
  }
}
#event-newsletter .title {
  width: 100%;
  font-size: 26px;
}
@media screen and (min-width: 1025px) {
  #event-newsletter .title {
    width: 25%;
    font-size: 1.8vw;
    padding-right: 20px;
  }
}
@media screen and (min-width: 1993px) {
  #event-newsletter .title {
    font-size: 36px;
  }
}
#event-newsletter .signup-wrapper {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #event-newsletter .signup-wrapper {
    width: 75%;
  }
}
#event-newsletter .signup-wrapper .text {
  margin: 10px 0;
}
@media screen and (min-width: 1025px) {
  #event-newsletter .signup-wrapper .text {
    margin-bottom: 20px;
  }
}
#event-newsletter .signup-wrapper .signup-form input[type=email],
#event-newsletter .signup-wrapper .signup-form input[type=text] {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
  margin-right: 10px;
}
@media screen and (min-width: 750px) {
  #event-newsletter .signup-wrapper .signup-form input[type=email],
#event-newsletter .signup-wrapper .signup-form input[type=text] {
    width: 300px;
    max-width: 100%;
  }
}
#event-newsletter .signup-wrapper .signup-form input[type=submit] {
  width: auto;
}

@media screen and (min-width: 750px) {
  #main_wrapper.has-h1 .text-image .banner-wrap {
    margin-top: 3vw;
  }
}
.text-image .banner-wrap {
  position: relative;
  margin-top: 9vw;
  z-index: 20;
}
@media screen and (min-width: 750px) {
  .text-image .banner-wrap {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  }
  .text-image .banner-wrap:hover {
    transform: translateY(-10px);
  }
  .text-image .banner-wrap:hover .banner-text {
    box-shadow: 0 15px 23px -7px rgba(0, 0, 0, 0.3);
  }
}
.text-image .banner-wrap .banner-text {
  position: absolute;
  right: 0;
  top: 0;
  transform: translateY(-45%);
  border-radius: 50%;
  margin-right: 1rem;
  padding: 10px;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 23vw;
  height: 23vw;
  font-size: 2.2vw;
  line-height: 1.3;
}
@media screen and (min-width: 750px) {
  .text-image .banner-wrap .banner-text {
    width: 15.5vw;
    height: 15.5vw;
    font-size: 1.4vw;
  }
}
@media screen and (min-width: 1993px) {
  .text-image .banner-wrap .banner-text {
    width: 308px;
    height: 308px;
    font-size: 28px;
  }
}
.text-image .text-wrap {
  margin: auto;
}
@media screen and (min-width: 1025px) {
  .text-image .text-wrap {
    max-width: 50vw;
  }
}
@media screen and (min-width: 1993px) {
  .text-image .text-wrap {
    max-width: 980px;
  }
}
.text-image .text-wrap .text-title {
  margin-bottom: 15px;
}
.text-image .link-underline {
  display: block;
}
.text-image p {
  line-height: 1.7;
}
@media screen and (min-width: 750px) {
  .text-image p {
    line-height: 1.5;
  }
}
@media screen and (min-width: 1025px) {
  .text-image p {
    line-height: 1.4;
  }
}
.text-image table {
  width: 100% !important;
}
.text-image table tr {
  border-top-width: 1px;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.text-image table tr td {
  padding: 6px 12px 6px 0;
  font-size: 16px;
  line-height: 1.3;
}
@media screen and (min-width: 750px) {
  .text-image table tr td {
    font-size: 18px;
  }
}
@media screen and (min-width: 1025px) {
  .text-image table tr td {
    font-size: 1.1vw;
  }
}
@media screen and (min-width: 1993px) {
  .text-image table tr td {
    font-size: 22px;
  }
}
.text-image table tr td p, .text-image table tr td a {
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}
.text-image.no-margin-below:not(.without-bg) {
  padding-bottom: 1px;
}
.text-image.no-margin-below:not(.without-bg) .detail-wrap {
  margin-bottom: 0;
}

.detail-wrap ol, .text ol {
  list-style-type: decimal;
}
.detail-wrap ul, .text ul {
  list-style-type: disc;
}
.detail-wrap ol, .detail-wrap ul, .text ol, .text ul {
  margin-left: 15px;
  margin-bottom: 18px;
}
@media screen and (min-width: 750px) {
  .detail-wrap ol, .detail-wrap ul, .text ol, .text ul {
    margin-left: 24px;
  }
}
@media screen and (min-width: 1025px) {
  .detail-wrap ol, .detail-wrap ul, .text ol, .text ul {
    margin-bottom: 1.2vw;
    margin-left: 2.3vw;
  }
}
@media screen and (min-width: 1993px) {
  .detail-wrap ol, .detail-wrap ul, .text ol, .text ul {
    margin-bottom: 37px;
    margin-left: 48px;
  }
}
.detail-wrap li, .detail-wrap ol, .text li, .text ol {
  line-height: 1.3;
}
.image-grid-component .image-grid-grid .grid-area {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.image-grid-component .image-grid-grid .column {
  padding-right: 0;
  padding-left: 0;
}
.image-grid-component .image-grid-grid.column-2 {
  position: relative;
}
.image-grid-component .image-grid-grid.column-2 .column {
  width: 50%;
  flex-grow: 1;
  padding-right: 7.5px;
  padding-left: 7.5px;
}
@media screen and (min-width: 750px) {
  .image-grid-component .image-grid-grid.column-2 .column {
    padding-right: calc(37px / 2);
    padding-left: calc(37px / 2);
  }
}
.image-grid-component .image-grid-grid.column-3 {
  position: relative;
}
.image-grid-component .image-grid-grid.column-3 .column {
  width: 50%;
  padding-right: 7.5px;
  padding-left: 7.5px;
}
@media screen and (min-width: 750px) {
  .image-grid-component .image-grid-grid.column-3 .column {
    padding-right: calc(37px / 2);
    padding-left: calc(37px / 2);
  }
}
@media screen and (min-width: 1025px) {
  .image-grid-component .image-grid-grid.column-3 .column {
    width: 33%;
  }
}
.image-grid-component .image-grid-grid.column-4 {
  position: relative;
}
.image-grid-component .image-grid-grid.column-4 .column {
  width: 50%;
  padding-right: 7.5px;
  padding-left: 7.5px;
}
@media screen and (min-width: 750px) {
  .image-grid-component .image-grid-grid.column-4 .column {
    padding-right: calc(37px / 2);
    padding-left: calc(37px / 2);
  }
}
@media screen and (min-width: 1025px) {
  .image-grid-component .image-grid-grid.column-4 .column {
    width: 25%;
  }
}
.image-grid-component .image-grid-grid.column-6 {
  position: relative;
}
.image-grid-component .image-grid-grid.column-6 .column {
  width: 50%;
  padding-right: 7.5px;
  padding-left: 7.5px;
}
@media screen and (min-width: 750px) {
  .image-grid-component .image-grid-grid.column-6 .column {
    padding-right: calc(37px / 2);
    padding-left: calc(37px / 2);
  }
}
@media screen and (min-width: 1025px) {
  .image-grid-component .image-grid-grid.column-6 .column {
    width: 25%;
  }
}
@media only screen and (min-width: 1440px) {
  .image-grid-component .image-grid-grid.column-6 .column {
    width: 16.66%;
  }
}
.image-grid-component h2 {
  margin-bottom: 37px;
}

.image-grid-fancybox-content {
  width: 100%;
  height: 100%;
}
.image-grid-fancybox-content.fancybox__content {
  background-color: black;
  padding: 0;
}
@media screen and (min-width: 750px) {
  .image-grid-fancybox-content.fancybox__content {
    padding: 36px;
  }
}
@media screen and (min-width: 1025px) {
  .image-grid-fancybox-content.fancybox__content {
    padding: 50px;
  }
}
@media only screen and (min-width: 1700px) {
  .image-grid-fancybox-content.fancybox__content {
    padding: 36px;
  }
}
.image-grid-fancybox-content .top-info {
  padding: 28px;
}
.image-grid-fancybox-content .top-info * {
  color: white;
}
.image-grid-fancybox-content .image-grid-wrapper {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 1280px;
  height: 100%;
  margin-right: 28px;
  margin-left: 28px;
  margin-bottom: 28px;
  background-color: #EFEFE9;
}
@media screen and (min-width: 750px) {
  .image-grid-fancybox-content .image-grid-wrapper {
    width: 100%;
    margin: 50px auto;
  }
}
@media screen and (max-width: 1024px) {
  .image-grid-fancybox-content .image-grid-wrapper {
    max-height: 100%;
    overflow: auto;
  }
  .image-grid-fancybox-content .image-grid-wrapper .image-grid-content {
    max-height: 100%;
    overflow: auto;
  }
  .image-grid-fancybox-content .image-grid-wrapper .image-grid-content .left {
    min-height: 30vh;
  }
}
.image-grid-fancybox-content .image-grid-content {
  display: inline-grid;
  width: 100%;
  height: 100%;
  max-width: 1280px;
  padding: 18px;
}
@media screen and (min-width: 750px) {
  .image-grid-fancybox-content .image-grid-content {
    padding: 37px;
  }
}
@media screen and (min-width: 1025px) {
  .image-grid-fancybox-content .image-grid-content {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-direction: row !important;
    padding: 70px;
  }
}
.image-grid-fancybox-content .image-grid-content ul, .image-grid-fancybox-content .image-grid-content ol {
  list-style-position: inside;
}
.image-grid-fancybox-content .image-grid-content ul {
  list-style-type: disc;
}
.image-grid-fancybox-content .image-grid-content ol {
  list-style-type: auto;
}
.image-grid-fancybox-content .left,
.image-grid-fancybox-content .right {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .image-grid-fancybox-content .left,
.image-grid-fancybox-content .right {
    width: 50%;
  }
}
.image-grid-fancybox-content .left {
  padding: 0 0 18px 0;
}
@media screen and (min-width: 1025px) {
  .image-grid-fancybox-content .left {
    padding: 37px;
  }
}
.image-grid-fancybox-content .right {
  padding: 0;
}
.image-grid-fancybox-content .right p {
  margin-bottom: 18px;
}
@media screen and (min-width: 750px) {
  .image-grid-fancybox-content .right p {
    margin-bottom: 37px;
  }
}
@media screen and (min-width: 1025px) {
  .image-grid-fancybox-content .right {
    padding: 37px;
    max-height: 100%;
    overflow: auto;
  }
}
.image-grid-fancybox-content .right li {
  margin-bottom: 5px;
}
.image-grid-fancybox-content .right br {
  margin-bottom: 0;
}
.image-grid-fancybox-content .right .title h3 {
  color: black;
}
.image-grid-fancybox-content .text, .image-grid-fancybox-content .caption {
  max-width: 760px;
}
.image-grid-fancybox-content .background-image {
  width: 100%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
}
.image-grid-fancybox-content .text p, .image-grid-fancybox-content .text p a, .image-grid-fancybox-content li {
  font-size: 18px;
}
@media screen and (min-width: 1025px) {
  .image-grid-fancybox-content .text p, .image-grid-fancybox-content .text p a, .image-grid-fancybox-content li {
    font-size: 21px;
  }
}
.image-grid-fancybox-content .caption p {
  font-size: 12px;
}
@media screen and (min-width: 750px) {
  .image-grid-fancybox-content .caption p {
    font-size: 14px;
  }
}

.fancybox__carousel {
  background-color: black;
  opacity: 1;
}

.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-next {
  right: 6px;
}
@media screen and (min-width: 750px) {
  .fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-next {
    right: 36px;
  }
}
@media only screen and (min-width: 1700px) {
  .fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-next {
    right: 136px;
  }
}
.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-prev {
  left: 6px;
}
@media screen and (min-width: 750px) {
  .fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-prev {
    left: 36px;
  }
}
@media only screen and (min-width: 1700px) {
  .fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-prev {
    left: 136px;
  }
}
.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-next,
.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-prev {
  width: 30px;
}
@media screen and (min-width: 1025px) {
  .fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-next,
.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-prev {
    width: 60px;
  }
}
.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-next svg,
.fancybox__container .fancybox__nav .f-carousel__nav .f-button.is-prev svg {
  width: 100%;
  height: auto;
  stroke-width: 1px;
}
.fancybox__container .fancybox__content > .f-carousel__nav .f-button.is-close {
  top: 36px;
  right: 36px;
  width: 36px;
  height: 36px;
  box-shadow: none;
}
@media screen and (min-width: 750px) {
  .fancybox__container .fancybox__content > .f-carousel__nav .f-button.is-close {
    width: 42px;
    height: 42px;
  }
}
@media screen and (min-width: 1025px) {
  .fancybox__container .fancybox__content > .f-carousel__nav .f-button.is-close {
    top: 0;
    right: 0;
  }
}
@media only screen and (min-width: 1700px) {
  .fancybox__container .fancybox__content > .f-carousel__nav .f-button.is-close {
    top: 36px;
    right: 36px;
    width: 60px;
    height: 60px;
  }
}
.fancybox__container .fancybox__content > .f-carousel__nav .f-button.is-close svg {
  width: 140px;
  height: auto;
  stroke-width: 1px;
}
.fancybox__container .fancybox__slide {
  padding: 0;
}
@media screen and (min-width: 750px) {
  .fancybox__container .fancybox__slide {
    padding: 32px 50px;
  }
}
@media only screen and (min-width: 1700px) {
  .fancybox__container .fancybox__slide {
    padding: 64px 100px;
  }
}

.upload_list {
  margin-bottom: 15px;
}
.upload_list .upload_fail {
  display: none;
}
.upload_list .download {
  border-bottom: 1px dashed #ccc;
  padding-bottom: 4px;
}

.upload_files {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  gap: 6px;
}

.document_list_dropzone .file-upload-form {
  text-align: center;
  margin-bottom: 10px;
}
.document_list_dropzone .cta-button {
  color: #FFFFFF;
  background-color: #1E1F1F;
  padding: 8px 25px;
  font-size: 15px;
  box-sizing: border-box;
}
.document_list_dropzone .small_text {
  font-size: 13px;
}

.upload_files .delete, .upload_list .delete {
  background-color: red;
  color: white;
  padding: 5px;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  font-size: 11px;
  text-align: center;
  user-select: none;
  box-sizing: border-box;
}
.upload_files .delete:hover, .upload_list .delete:hover {
  background-color: #a40000;
  cursor: pointer;
}
.upload_files .file_list .file_name, .upload_list .file_list .file_name {
  position: relative;
  font-size: 16px;
}
.upload_files .file_list .file, .upload_list .file_list .file {
  position: relative;
}
.upload_files .file_list .file .link-underline, .upload_list .file_list .file .link-underline {
  font-size: 16px !important;
}
.upload_files .file_list .file .small-text, .upload_list .file_list .file .small-text {
  font-size: 14px !important;
}
.upload_files .file_list .file .file-icon svg, .upload_list .file_list .file .file-icon svg {
  width: 18px !important;
  line-height: 1;
}
.upload_files .file_list .file .delete, .upload_list .file_list .file .delete {
  position: absolute;
  right: 0;
  top: 0;
}
.upload_files .file_list .activation-status, .upload_list .file_list .activation-status {
  position: relative;
  bottom: initial;
  right: initial;
  display: inline-block;
}

.document_list_dropzone {
  border: 2px dashed #ccc;
  border-radius: 10px;
  margin-top: 10px;
  padding: 20px;
  background-color: rgba(211, 211, 211, 0.2);
}
.document_list_dropzone.highlight {
  border-color: #385c8c;
  background-color: #e7e7e7;
}
.document_list_dropzone .progress {
  margin-bottom: 2rem;
  width: 100%;
  height: 4px;
  background: #eaeaea;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border-radius: 4px;
}
.document_list_dropzone .progress:before {
  content: " ";
  display: block;
  position: absolute;
  width: var(--width, 25%);
  height: 100%;
  background: #385c8c;
}
.document_list_dropzone .progress.progress--indeterminate:before {
  animation: 1s progressIndeterminate infinite;
}
.document_list_dropzone .progress.hidden {
  display: none;
}
@keyframes progressIndeterminate {
  from {
    width: 0;
    margin-left: 0;
    margin-right: 100%;
  }
  50% {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  to {
    width: 0;
    margin-left: 100%;
    margin-right: 0;
  }
}
.document_list_dropzone .document_upload {
  display: none;
}
.document_list_dropzone p {
  text-align: center;
  margin-top: 0;
}
.document_list_dropzone .btn-wrapper.magnolia_btns {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
.document_list_dropzone .btn-wrapper.magnolia_btns button {
  color: #fff;
  border-color: transparent;
  border-width: 0;
  line-height: normal;
  background-color: #232323;
  background-size: 10000% 100%;
  background-position: left bottom;
  transition: background-position 0.5s, color 0.5s;
  font-weight: normal;
  letter-spacing: -0.3px;
  padding: 0 20px;
  height: 45px;
  font-size: 14px;
  border-radius: 30px;
}
.document_list_dropzone .btn-wrapper.magnolia_btns button.publish_upload {
  background-color: #599900;
  border-radius: 30px;
  background-size: 10000% 100%;
  background-position: left bottom;
  transition: background-position 0.5s, color 0.5s;
}
.document_list_dropzone .btn-wrapper.magnolia_btns button.cancel_upload {
  color: #232323;
  background-color: white;
  border-color: #cacaca;
  border-width: 1px;
  margin-right: 10px;
}
.document_list_dropzone .hide {
  display: none !important;
}

.modal {
  display: none;
  position: fixed;
  z-index: 12;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
  justify-content: center;
  align-items: center;
}

.modal-content {
  background-color: #fefefe;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
  max-width: 650px;
}
.modal-content .header {
  display: flex;
  justify-content: space-between;
}
.modal-content .header h4 {
  color: red;
}
.modal-content .header .xButton {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.modal-content .header .xButton:hover, .modal-content .header .xButton:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
.modal-content p {
  margin-bottom: 10px;
}
.modal-content .modal_operations {
  display: flex;
  justify-content: flex-end;
}
.modal-content .modal_operations button {
  margin-left: 10px;
}

:root {
  --f-spinner-width: 36px;
  --f-spinner-height: 36px;
  --f-spinner-color-1: rgba(0, 0, 0, 0.1);
  --f-spinner-color-2: rgba(17, 24, 28, 0.8);
  --f-spinner-stroke: 2.75;
}

.f-spinner {
  margin: auto;
  padding: 0;
  width: var(--f-spinner-width);
  height: var(--f-spinner-height);
}

.f-spinner svg {
  width: 100%;
  height: 100%;
  vertical-align: top;
  animation: f-spinner-rotate 2s linear infinite;
}

.f-spinner svg * {
  stroke-width: var(--f-spinner-stroke);
  fill: none;
}

.f-spinner svg *:first-child {
  stroke: var(--f-spinner-color-1);
}

.f-spinner svg *:last-child {
  stroke: var(--f-spinner-color-2);
  animation: f-spinner-dash 2s ease-in-out infinite;
}

@keyframes f-spinner-rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes f-spinner-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}
.f-throwOutUp {
  animation: var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutUp;
}

.f-throwOutDown {
  animation: var(--f-throw-out-duration, 0.175s) ease-out both f-throwOutDown;
}

@keyframes f-throwOutUp {
  to {
    transform: translate3d(0, calc(var(--f-throw-out-distance, 150px) * -1), 0);
    opacity: 0;
  }
}
@keyframes f-throwOutDown {
  to {
    transform: translate3d(0, var(--f-throw-out-distance, 150px), 0);
    opacity: 0;
  }
}
.f-zoomInUp {
  animation: var(--f-transition-duration, 0.2s) ease 0.1s both f-zoomInUp;
}

.f-zoomOutDown {
  animation: var(--f-transition-duration, 0.2s) ease both f-zoomOutDown;
}

@keyframes f-zoomInUp {
  from {
    transform: scale(0.975) translate3d(0, 16px, 0);
    opacity: 0;
  }
  to {
    transform: scale(1) translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes f-zoomOutDown {
  to {
    transform: scale(0.975) translate3d(0, 16px, 0);
    opacity: 0;
  }
}
.f-fadeIn {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
  z-index: 2;
}

.f-fadeOut {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
  z-index: 1;
}

@keyframes f-fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-fadeOut {
  100% {
    opacity: 0;
  }
}
.f-fadeFastIn {
  animation: var(--f-transition-duration, 0.2s) ease-out both f-fadeFastIn;
  z-index: 2;
}

.f-fadeFastOut {
  animation: var(--f-transition-duration, 0.1s) ease-out both f-fadeFastOut;
  z-index: 2;
}

@keyframes f-fadeFastIn {
  0% {
    opacity: 0.75;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-fadeFastOut {
  100% {
    opacity: 0;
  }
}
.f-fadeSlowIn {
  animation: var(--f-transition-duration, 0.5s) ease both f-fadeSlowIn;
  z-index: 2;
}

.f-fadeSlowOut {
  animation: var(--f-transition-duration, 0.5s) ease both f-fadeSlowOut;
  z-index: 1;
}

@keyframes f-fadeSlowIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-fadeSlowOut {
  100% {
    opacity: 0;
  }
}
.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.2s) ease-out both f-crossfadeIn;
  z-index: 2;
}

.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.2s) * 0.5) linear 0.1s both f-crossfadeOut;
  z-index: 1;
}

@keyframes f-crossfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes f-crossfadeOut {
  100% {
    opacity: 0;
  }
}
.f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNext;
}

.f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrev;
}

.f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNext;
}

.f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrev;
}

@keyframes f-slideInPrev {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes f-slideInNext {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes f-slideOutNext {
  100% {
    transform: translateX(-100%);
  }
}
@keyframes f-slideOutPrev {
  100% {
    transform: translateX(100%);
  }
}
.f-classicIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInNext;
  z-index: 2;
}

.f-classicIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicInPrev;
  z-index: 2;
}

.f-classicOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutNext;
  z-index: 1;
}

.f-classicOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-classicOutPrev;
  z-index: 1;
}

@keyframes f-classicInNext {
  0% {
    transform: translateX(-75px);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes f-classicInPrev {
  0% {
    transform: translateX(75px);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes f-classicOutNext {
  100% {
    transform: translateX(-75px);
    opacity: 0;
  }
}
@keyframes f-classicOutPrev {
  100% {
    transform: translateX(75px);
    opacity: 0;
  }
}
:root {
  --f-button-width: 40px;
  --f-button-height: 40px;
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-color: #374151;
  --f-button-bg: #f8f8f8;
  --f-button-hover-bg: #e0e0e0;
  --f-button-active-bg: #d0d0d0;
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-svg-width: 20px;
  --f-button-svg-height: 20px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: none;
  --f-button-svg-disabled-opacity: 0.65;
}

.f-button {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: content-box;
  position: relative;
  margin: 0;
  padding: 0;
  width: var(--f-button-width);
  height: var(--f-button-height);
  border: var(--f-button-border);
  border-radius: var(--f-button-border-radius);
  color: var(--f-button-color);
  background: var(--f-button-bg);
  box-shadow: var(--f-button-shadow);
  pointer-events: all;
  cursor: pointer;
  transition: var(--f-button-transition);
}

@media (hover: hover) {
  .f-button:hover:not([disabled]) {
    color: var(--f-button-hover-color);
    background-color: var(--f-button-hover-bg);
  }
}
.f-button:active:not([disabled]) {
  background-color: var(--f-button-active-bg);
}

.f-button:focus:not(:focus-visible) {
  outline: none;
}

.f-button:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color));
}

.f-button svg {
  width: var(--f-button-svg-width);
  height: var(--f-button-svg-height);
  fill: var(--f-button-svg-fill);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: opacity 0.15s ease;
  transform: var(--f-button-transform);
  filter: var(--f-button-svg-filter);
  pointer-events: none;
}

.f-button[disabled] {
  cursor: default;
}

.f-button[disabled] svg {
  opacity: var(--f-button-svg-disabled-opacity);
}

.f-carousel__nav .f-button.is-prev, .f-carousel__nav .f-button.is-next, .fancybox__nav .f-button.is-prev, .fancybox__nav .f-button.is-next {
  position: absolute;
  z-index: 1;
}

.is-horizontal .f-carousel__nav .f-button.is-prev, .is-horizontal .f-carousel__nav .f-button.is-next, .is-horizontal .fancybox__nav .f-button.is-prev, .is-horizontal .fancybox__nav .f-button.is-next {
  top: 50%;
  transform: translateY(-50%);
}

.is-horizontal .f-carousel__nav .f-button.is-prev, .is-horizontal .fancybox__nav .f-button.is-prev {
  left: var(--f-button-prev-pos);
}

.is-horizontal .f-carousel__nav .f-button.is-next, .is-horizontal .fancybox__nav .f-button.is-next {
  right: var(--f-button-next-pos);
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev, .is-horizontal.is-rtl .fancybox__nav .f-button.is-prev {
  left: auto;
  right: var(--f-button-next-pos);
}

.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next, .is-horizontal.is-rtl .fancybox__nav .f-button.is-next {
  right: auto;
  left: var(--f-button-prev-pos);
}

.is-vertical .f-carousel__nav .f-button.is-prev, .is-vertical .f-carousel__nav .f-button.is-next, .is-vertical .fancybox__nav .f-button.is-prev, .is-vertical .fancybox__nav .f-button.is-next {
  top: auto;
  left: 50%;
  transform: translateX(-50%);
}

.is-vertical .f-carousel__nav .f-button.is-prev, .is-vertical .fancybox__nav .f-button.is-prev {
  top: var(--f-button-next-pos);
}

.is-vertical .f-carousel__nav .f-button.is-next, .is-vertical .fancybox__nav .f-button.is-next {
  bottom: var(--f-button-next-pos);
}

.is-vertical .f-carousel__nav .f-button.is-prev svg, .is-vertical .f-carousel__nav .f-button.is-next svg, .is-vertical .fancybox__nav .f-button.is-prev svg, .is-vertical .fancybox__nav .f-button.is-next svg {
  transform: rotate(90deg);
}

.f-carousel__nav .f-button:disabled, .fancybox__nav .f-button:disabled {
  pointer-events: none;
}

html.with-fancybox {
  width: auto;
  overflow: visible;
  scroll-behavior: auto;
}

html.with-fancybox body {
  touch-action: none;
}

html.with-fancybox body.hide-scrollbar {
  width: auto;
  margin-right: calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));
  overflow: hidden !important;
  overscroll-behavior-y: none;
}

.fancybox__container {
  --fancybox-color: #dbdbdb;
  --fancybox-hover-color: #fff;
  --fancybox-bg: rgba(24, 24, 27, 0.98);
  --fancybox-slide-gap: 10px;
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-color-1: rgba(255, 255, 255, 0.1);
  --f-spinner-color-2: #bbb;
  --f-spinner-stroke: 3.65;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  direction: ltr;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #f8f8f8;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  overflow: visible;
  z-index: var(--fancybox-zIndex, 1050);
  outline: none;
  transform-origin: top left;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overscroll-behavior-y: contain;
}

.fancybox__container *, .fancybox__container *::before, .fancybox__container *::after {
  box-sizing: inherit;
}

.fancybox__container::backdrop {
  background-color: rgba(0, 0, 0, 0);
}

.fancybox__backdrop {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background: var(--fancybox-bg);
  opacity: var(--fancybox-opacity, 1);
  will-change: opacity;
}

.fancybox__carousel {
  position: relative;
  box-sizing: border-box;
  flex: 1;
  min-height: 0;
  z-index: 10;
  overflow-y: visible;
  overflow-x: clip;
}

.fancybox__viewport {
  width: 100%;
  height: 100%;
}

.fancybox__viewport.is-draggable {
  cursor: move;
  cursor: grab;
}

.fancybox__viewport.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.fancybox__track {
  display: flex;
  margin: 0 auto;
  height: 100%;
}

.fancybox__slide {
  flex: 0 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 var(--fancybox-slide-gap) 0 0;
  padding: 4px;
  overflow: auto;
  overscroll-behavior: contain;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn {
  padding-top: 40px;
}

.fancybox__slide.has-iframe, .fancybox__slide.has-video, .fancybox__slide.has-html5video {
  overflow: hidden;
}

.fancybox__slide.has-image {
  overflow: hidden;
}

.fancybox__slide.has-image.is-animating, .fancybox__slide.has-image.is-selected {
  overflow: visible;
}

.fancybox__slide::before, .fancybox__slide::after {
  content: "";
  flex: 0 0 0;
  margin: auto;
}

.fancybox__backdrop:empty, .fancybox__viewport:empty, .fancybox__track:empty, .fancybox__slide:empty {
  display: block;
}

.fancybox__content {
  align-self: center;
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  padding: 2rem;
  max-width: 100%;
  color: var(--fancybox-content-color, #374151);
  background: var(--fancybox-content-bg, #fff);
  cursor: default;
  border-radius: 0;
  z-index: 20;
}

.is-loading .fancybox__content {
  opacity: 0;
}

.is-draggable .fancybox__content {
  cursor: move;
  cursor: grab;
}

.can-zoom_in .fancybox__content {
  cursor: zoom-in;
}

.can-zoom_out .fancybox__content {
  cursor: zoom-out;
}

.is-dragging .fancybox__content {
  cursor: move;
  cursor: grabbing;
}

.fancybox__content [data-selectable], .fancybox__content [contenteditable] {
  cursor: auto;
}

.fancybox__slide.has-image > .fancybox__content {
  padding: 0;
  background: rgba(0, 0, 0, 0);
  min-height: 1px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: none;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

.fancybox__slide.has-image > .fancybox__content > picture > img {
  width: 100%;
  height: auto;
  max-height: 100%;
}

.is-animating .fancybox__content, .is-dragging .fancybox__content {
  will-change: transform, width, height;
}

.fancybox-image {
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  user-select: none;
  filter: blur(0px);
}

.fancybox__caption {
  align-self: center;
  max-width: 100%;
  flex-shrink: 0;
  margin: 0;
  padding: 14px 0 4px 0;
  overflow-wrap: anywhere;
  line-height: 1.375;
  color: var(--fancybox-color, currentColor);
  opacity: var(--fancybox-opacity, 1);
  cursor: auto;
  visibility: visible;
}

.is-loading .fancybox__caption, .is-closing .fancybox__caption {
  opacity: 0;
  visibility: hidden;
}

.is-compact .fancybox__caption {
  padding-bottom: 0;
}

.f-button.is-close-btn {
  --f-button-svg-stroke-width: 2;
  position: absolute;
  top: 0;
  right: 8px;
  z-index: 40;
}

.fancybox__content > .f-button.is-close-btn {
  --f-button-width: 34px;
  --f-button-height: 34px;
  --f-button-border-radius: 4px;
  --f-button-color: var(--fancybox-color, #fff);
  --f-button-hover-color: var(--fancybox-color, #fff);
  --f-button-bg: transparent;
  --f-button-hover-bg: transparent;
  --f-button-active-bg: transparent;
  --f-button-svg-width: 22px;
  --f-button-svg-height: 22px;
  position: absolute;
  top: -38px;
  right: 0;
  opacity: 0.75;
}

.is-loading .fancybox__content > .f-button.is-close-btn {
  visibility: hidden;
}

.is-zooming-out .fancybox__content > .f-button.is-close-btn {
  visibility: hidden;
}

.fancybox__content > .f-button.is-close-btn:hover {
  opacity: 1;
}

.fancybox__footer {
  padding: 0;
  margin: 0;
  position: relative;
}

.fancybox__footer .fancybox__caption {
  width: 100%;
  padding: 24px;
  opacity: var(--fancybox-opacity, 1);
  transition: all 0.25s ease;
}

.is-compact .fancybox__footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 20;
  background: rgba(24, 24, 27, 0.5);
}

.is-compact .fancybox__footer .fancybox__caption {
  padding: 12px;
}

.is-compact .fancybox__content > .f-button.is-close-btn {
  --f-button-border-radius: 50%;
  --f-button-color: #fff;
  --f-button-hover-color: #fff;
  --f-button-outline-color: #000;
  --f-button-bg: rgba(0, 0, 0, 0.6);
  --f-button-active-bg: rgba(0, 0, 0, 0.6);
  --f-button-hover-bg: rgba(0, 0, 0, 0.6);
  --f-button-svg-width: 18px;
  --f-button-svg-height: 18px;
  --f-button-svg-filter: none;
  top: 5px;
  right: 5px;
}

.fancybox__nav {
  --f-button-width: 50px;
  --f-button-height: 50px;
  --f-button-border: 0;
  --f-button-border-radius: 50%;
  --f-button-color: var(--fancybox-color);
  --f-button-hover-color: var(--fancybox-hover-color);
  --f-button-bg: transparent;
  --f-button-hover-bg: rgba(24, 24, 27, 0.3);
  --f-button-active-bg: rgba(24, 24, 27, 0.5);
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-svg-width: 26px;
  --f-button-svg-height: 26px;
  --f-button-svg-stroke-width: 2.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));
  --f-button-svg-disabled-opacity: 0.65;
  --f-button-next-pos: 1rem;
  --f-button-prev-pos: 1rem;
  opacity: var(--fancybox-opacity, 1);
}

.fancybox__nav .f-button:before {
  position: absolute;
  content: "";
  top: -30px;
  right: -20px;
  left: -20px;
  bottom: -30px;
  z-index: 1;
}

.is-idle .fancybox__nav {
  animation: 0.15s ease-out both f-fadeOut;
}

.is-idle.is-compact .fancybox__footer {
  pointer-events: none;
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__slide > .f-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: var(--f-spinner-top, calc(var(--f-spinner-width) * -0.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -0.5));
  z-index: 30;
  cursor: pointer;
}

.fancybox-protected {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  user-select: none;
}

.fancybox-ghost {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  z-index: 40;
  user-select: none;
  pointer-events: none;
}

.fancybox-focus-guard {
  outline: none;
  opacity: 0;
  position: fixed;
  pointer-events: none;
}

.fancybox__container:not([aria-hidden]) {
  opacity: 0;
}

.fancybox__container.is-animated[aria-hidden=false] > *:not(.fancybox__backdrop, .fancybox__carousel), .fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-animated[aria-hidden=false] .fancybox__slide > *:not(.fancybox__content) {
  animation: var(--f-interface-enter-duration, 0.25s) ease 0.1s backwards f-fadeIn;
}

.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop {
  animation: var(--f-backdrop-enter-duration, 0.35s) ease backwards f-fadeIn;
}

.fancybox__container.is-animated[aria-hidden=true] > *:not(.fancybox__backdrop, .fancybox__carousel), .fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel > *:not(.fancybox__viewport), .fancybox__container.is-animated[aria-hidden=true] .fancybox__slide > *:not(.fancybox__content) {
  animation: var(--f-interface-exit-duration, 0.15s) ease forwards f-fadeOut;
}

.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop {
  animation: var(--f-backdrop-exit-duration, 0.35s) ease forwards f-fadeOut;
}

.has-iframe .fancybox__content, .has-map .fancybox__content, .has-pdf .fancybox__content, .has-youtube .fancybox__content, .has-vimeo .fancybox__content, .has-html5video .fancybox__content {
  max-width: 100%;
  flex-shrink: 1;
  min-height: 1px;
  overflow: visible;
}

.has-iframe .fancybox__content, .has-map .fancybox__content, .has-pdf .fancybox__content {
  width: calc(100% - 120px);
  height: 90%;
}

.fancybox__container.is-compact .has-iframe .fancybox__content, .fancybox__container.is-compact .has-map .fancybox__content, .fancybox__container.is-compact .has-pdf .fancybox__content {
  width: 100%;
  height: 100%;
}

.has-youtube .fancybox__content, .has-vimeo .fancybox__content, .has-html5video .fancybox__content {
  width: 960px;
  height: 540px;
  max-width: 100%;
  max-height: 100%;
}

.has-map .fancybox__content, .has-pdf .fancybox__content, .has-youtube .fancybox__content, .has-vimeo .fancybox__content, .has-html5video .fancybox__content {
  padding: 0;
  background: rgba(24, 24, 27, 0.9);
  color: #fff;
}

.has-map .fancybox__content {
  background: #e5e3df;
}

.fancybox__html5video, .fancybox__iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0);
}

.fancybox-placeholder {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.f-carousel__thumbs {
  --f-thumb-width: 96px;
  --f-thumb-height: 72px;
  --f-thumb-outline: 0;
  --f-thumb-outline-color: #5eb0ef;
  --f-thumb-opacity: 1;
  --f-thumb-hover-opacity: 1;
  --f-thumb-selected-opacity: 1;
  --f-thumb-border-radius: 2px;
  --f-thumb-offset: 0px;
  --f-button-next-pos: 0;
  --f-button-prev-pos: 0;
}

.f-carousel__thumbs.is-classic {
  --f-thumb-gap: 8px;
  --f-thumb-opacity: 0.5;
  --f-thumb-hover-opacity: 1;
  --f-thumb-selected-opacity: 1;
}

.f-carousel__thumbs.is-modern {
  --f-thumb-gap: 4px;
  --f-thumb-extra-gap: 16px;
  --f-thumb-clip-width: 46px;
}

.f-thumbs {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
  overflow: hidden;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
  perspective: 1000px;
  transform: translateZ(0);
}

.f-thumbs .f-spinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 2px;
  background-image: linear-gradient(#ebeff2, #e2e8f0);
  z-index: -1;
}

.f-thumbs .f-spinner svg {
  display: none;
}

.f-thumbs.is-vertical {
  height: 100%;
}

.f-thumbs__viewport {
  width: 100%;
  height: auto;
  overflow: hidden;
  transform: translate3d(0, 0, 0);
}

.f-thumbs__track {
  display: flex;
}

.f-thumbs__slide {
  position: relative;
  flex: 0 0 auto;
  box-sizing: content-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  width: var(--f-thumb-width);
  height: var(--f-thumb-height);
  overflow: visible;
  cursor: pointer;
}

.f-thumbs__slide.is-loading img {
  opacity: 0;
}

.is-classic .f-thumbs__viewport {
  height: 100%;
}

.is-modern .f-thumbs__track {
  width: max-content;
}

.is-modern .f-thumbs__track::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((var(--f-thumb-clip-width, 0)) * -0.5);
  width: calc(var(--width, 0) * 1px + var(--f-thumb-clip-width, 0));
  cursor: pointer;
}

.is-modern .f-thumbs__slide {
  width: var(--f-thumb-clip-width);
  transform: translate3d(calc(var(--shift, 0) * -1px), 0, 0);
  transition: none;
  pointer-events: none;
}

.is-modern.is-resting .f-thumbs__slide {
  transition: transform 0.33s ease;
}

.is-modern.is-resting .f-thumbs__slide__button {
  transition: clip-path 0.33s ease;
}

.is-using-tab .is-modern .f-thumbs__slide:focus-within {
  filter: drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color));
}

.f-thumbs__slide__button {
  appearance: none;
  width: var(--f-thumb-width);
  height: 100%;
  margin: 0 -100% 0 -100%;
  padding: 0;
  border: 0;
  position: relative;
  border-radius: var(--f-thumb-border-radius);
  overflow: hidden;
  background: rgba(0, 0, 0, 0);
  outline: none;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  opacity: var(--f-thumb-opacity);
  transition: opacity 0.2s ease;
}

.f-thumbs__slide__button:hover {
  opacity: var(--f-thumb-hover-opacity);
}

.f-thumbs__slide__button:focus:not(:focus-visible) {
  outline: none;
}

.f-thumbs__slide__button:focus-visible {
  outline: none;
  opacity: var(--f-thumb-selected-opacity);
}

.is-modern .f-thumbs__slide__button {
  --clip-path: inset( 0 calc( ((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0))) * (1 - var(--progress, 0)) * 0.5 ) round var(--f-thumb-border-radius, 0) );
  clip-path: var(--clip-path);
}

.is-classic .is-nav-selected .f-thumbs__slide__button {
  opacity: var(--f-thumb-selected-opacity);
}

.is-classic .is-nav-selected .f-thumbs__slide__button::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: auto;
  bottom: 0;
  border: var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);
  border-radius: var(--f-thumb-border-radius);
  animation: f-fadeIn 0.2s ease-out;
  z-index: 10;
}

.f-thumbs__slide__img {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: var(--f-thumb-offset);
  box-sizing: border-box;
  pointer-events: none;
  object-fit: cover;
  border-radius: var(--f-thumb-border-radius);
}

.f-thumbs.is-horizontal .f-thumbs__track {
  padding: 8px 0 12px 0;
}

.f-thumbs.is-horizontal .f-thumbs__slide {
  margin: 0 var(--f-thumb-gap) 0 0;
}

.f-thumbs.is-vertical .f-thumbs__track {
  flex-wrap: wrap;
  padding: 0 8px;
}

.f-thumbs.is-vertical .f-thumbs__slide {
  margin: 0 0 var(--f-thumb-gap) 0;
}

.fancybox__thumbs {
  --f-thumb-width: 96px;
  --f-thumb-height: 72px;
  --f-thumb-border-radius: 2px;
  --f-thumb-outline: 2px;
  --f-thumb-outline-color: #ededed;
  position: relative;
  opacity: var(--fancybox-opacity, 1);
  transition: max-height 0.35s cubic-bezier(0.23, 1, 0.32, 1);
}

.fancybox__thumbs.is-classic {
  --f-thumb-gap: 8px;
  --f-thumb-opacity: 0.5;
  --f-thumb-hover-opacity: 1;
}

.fancybox__thumbs.is-classic .f-spinner {
  background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
}

.fancybox__thumbs.is-modern {
  --f-thumb-gap: 4px;
  --f-thumb-extra-gap: 16px;
  --f-thumb-clip-width: 46px;
  --f-thumb-opacity: 1;
  --f-thumb-hover-opacity: 1;
}

.fancybox__thumbs.is-modern .f-spinner {
  background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
}

.fancybox__thumbs.is-horizontal {
  padding: 0 var(--f-thumb-gap);
}

.fancybox__thumbs.is-vertical {
  padding: var(--f-thumb-gap) 0;
}

.is-compact .fancybox__thumbs {
  --f-thumb-width: 64px;
  --f-thumb-clip-width: 32px;
  --f-thumb-height: 48px;
  --f-thumb-extra-gap: 10px;
}

.fancybox__thumbs.is-masked {
  max-height: 0px !important;
}

.is-closing .fancybox__thumbs {
  transition: none !important;
}

.fancybox__toolbar {
  --f-progress-color: var(--fancybox-color, rgba(255, 255, 255, 0.94));
  --f-button-width: 46px;
  --f-button-height: 46px;
  --f-button-color: var(--fancybox-color);
  --f-button-hover-color: var(--fancybox-hover-color);
  --f-button-bg: rgba(24, 24, 27, 0.65);
  --f-button-hover-bg: rgba(70, 70, 73, 0.65);
  --f-button-active-bg: rgba(90, 90, 93, 0.65);
  --f-button-border-radius: 0;
  --f-button-svg-width: 24px;
  --f-button-svg-height: 24px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));
  --f-button-svg-fill: none;
  --f-button-svg-disabled-opacity: 0.65;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
  color: var(--fancybox-color, currentColor);
  opacity: var(--fancybox-opacity, 1);
  text-shadow: var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, 0.5));
  pointer-events: none;
  z-index: 20;
}

.fancybox__toolbar :focus-visible {
  z-index: 1;
}

.fancybox__toolbar.is-absolute, .is-compact .fancybox__toolbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.is-idle .fancybox__toolbar {
  pointer-events: none;
  animation: 0.15s ease-out both f-fadeOut;
}

.fancybox__toolbar__column {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
}

.fancybox__toolbar__column.is-left, .fancybox__toolbar__column.is-right {
  flex-grow: 1;
  flex-basis: 0;
}

.fancybox__toolbar__column.is-right {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
}

.fancybox__infobar {
  padding: 0 5px;
  line-height: var(--f-button-height);
  text-align: center;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: subpixel-antialiased;
  cursor: default;
  user-select: none;
}

.fancybox__infobar span {
  padding: 0 5px;
}

.fancybox__infobar:not(:first-child):not(:last-child) {
  background: var(--f-button-bg);
}

[data-fancybox-toggle-slideshow] {
  position: relative;
}

[data-fancybox-toggle-slideshow] .f-progress {
  height: 100%;
  opacity: 0.3;
}

[data-fancybox-toggle-slideshow] svg g:first-child {
  display: flex;
}

[data-fancybox-toggle-slideshow] svg g:last-child {
  display: none;
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child {
  display: none;
}

.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child {
  display: flex;
}

[data-fancybox-toggle-fullscreen] svg g:first-child {
  display: flex;
}

[data-fancybox-toggle-fullscreen] svg g:last-child {
  display: none;
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child {
  display: none;
}

:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child {
  display: flex;
}

.f-progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  background: var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));
  z-index: 30;
  user-select: none;
  pointer-events: none;
}

.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  -webkit-box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 0 3px 13px rgba(0, 0, 0, 0.08);
}

.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}

.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}

.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}

.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}

.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}

.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #eceef1;
}

.flatpickr-calendar.hasTime .flatpickr-innerContainer {
  border-bottom: 0;
}

.flatpickr-calendar.hasTime .flatpickr-time {
  border: 1px solid #eceef1;
}

.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}

.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}

.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}

.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}

.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}

.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}

.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #eceef1;
}

.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #eceef1;
}

.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}

.flatpickr-calendar.arrowBottom:before {
  border-top-color: #eceef1;
}

.flatpickr-calendar.arrowBottom:after {
  border-top-color: #eceef1;
}

.flatpickr-calendar:focus {
  outline: 0;
}

.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}

.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.flatpickr-months .flatpickr-month {
  border-radius: 5px 5px 0 0;
  background: #eceef1;
  color: #5a6171;
  fill: #5a6171;
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: #5a6171;
  fill: #5a6171;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}

.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}

.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  left: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
        /*rtl:begin:ignore*/
  /*
        */
  right: 0;
  /*
        /*rtl:end:ignore*/
  /*
        */
}

/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #bbb;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}

.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}

.numInputWrapper {
  position: relative;
  height: auto;
}

.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}

.numInputWrapper input {
  width: 100%;
}

.numInputWrapper input::-ms-clear {
  display: none;
}

.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(72, 72, 72, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}

.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}

.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}

.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}

.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(72, 72, 72, 0.6);
  top: 26%;
}

.numInputWrapper span.arrowDown {
  top: 50%;
}

.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(72, 72, 72, 0.6);
  top: 40%;
}

.numInputWrapper span svg {
  width: inherit;
  height: auto;
}

.numInputWrapper span svg path {
  fill: rgba(90, 97, 113, 0.5);
}

.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}

.numInputWrapper:hover span {
  opacity: 1;
}

.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}

.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}

.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0 ;
  display: inline-block;
}

.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: #5a6171;
}

.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: #5a6171;
}

.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}

.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(90, 97, 113, 0.5);
  background: transparent;
  pointer-events: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: #eceef1;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: #eceef1;
  outline: none;
  padding: 0;
}

.flatpickr-weekdays {
  background: #eceef1;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}

.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: #eceef1;
  color: #5a6171;
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}

.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}

.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
  border-left: 1px solid #eceef1;
  border-right: 1px solid #eceef1;
}

.flatpickr-days:focus {
  outline: 0;
}

.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}

.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #eceef1;
  box-shadow: -1px 0 0 #eceef1;
}

.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #484848;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}

.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e2e2e2;
  border-color: #e2e2e2;
}

.flatpickr-day.today {
  border-color: #bbb;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #bbb;
  background: #bbb;
  color: #fff;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #ff5a5f;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: #ff5a5f;
}

.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}

.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #ff5a5f;
  box-shadow: -10px 0 0 #ff5a5f;
}

.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}

.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
  box-shadow: -5px 0 0 #e2e2e2, 5px 0 0 #e2e2e2;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(72, 72, 72, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(72, 72, 72, 0.1);
}

.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f;
  box-shadow: -5px 0 0 #ff5a5f, 5px 0 0 #ff5a5f;
}

.flatpickr-day.hidden {
  visibility: hidden;
}

.rangeMode .flatpickr-day {
  margin-top: 1px;
}

.flatpickr-weekwrapper {
  float: left;
}

.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  border-left: 1px solid #eceef1;
}

.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}

.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(72, 72, 72, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}

.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #eceef1;
}

.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #fff;
  border-radius: 0 0 5px 5px;
}

.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}

.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}

.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #484848;
}

.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #484848;
}

.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}

.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}

.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #484848;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}

.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}

.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}

.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #484848;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}

.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eaeaea;
}

.flatpickr-input[readonly] {
  cursor: pointer;
}

@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
span.flatpickr-day.selected {
  font-weight: bold;
}

/* Includes */
#cookie_alert {
  position: fixed;
  z-index: 1000;
  width: 100%;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: 0 0 40px -4px rgba(0, 0, 0, 0.75);
}
#cookie_alert.accepted {
  display: none;
}
#cookie_alert .ca-wrapper {
  margin: 0 auto;
  padding-top: 37px;
  padding-bottom: 37px;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: self-start;
  align-items: self-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
  #cookie_alert .ca-wrapper {
    display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
    display: -ms-flexbox; /* TWEENER - IE 10 */
    display: -webkit-flex; /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
}
@media screen and (max-width: 749px) {
  #cookie_alert .ca-wrapper {
    padding: 15px;
  }
}
#cookie_alert .ca-wrapper h3 {
  margin-bottom: 10px;
}
#cookie_alert .ca-wrapper .ca-left-wrapper {
  flex: 0 0 66.66667%;
  max-width: 66.66667%;
  padding-right: 37px;
}
@media screen and (max-width: 1024px) {
  #cookie_alert .ca-wrapper .ca-left-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
    padding-bottom: 18px;
  }
}
#cookie_alert .ca-wrapper .ca-right-wrapper {
  flex: 0 0 33.33333%;
  max-width: 33.33333%;
  margin: 0;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  #cookie_alert .ca-wrapper .ca-right-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
#cookie_alert .ca-wrapper .ca-right-wrapper .checkboxes {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 15px;
}
#cookie_alert .ca-wrapper .ca-right-wrapper .btn-wrapper {
  width: 100%;
}
#cookie_alert .ca-wrapper .ca-right-wrapper .btn-wrapper #ca_accept_selected {
  margin-right: 6px;
}
#cookie_alert .ca-wrapper #ca_accept_selected,
#cookie_alert .ca-wrapper #ca_accept_all,
#cookie_alert .ca-wrapper .form-item {
  margin-bottom: 10px;
}
#cookie_alert .ca-wrapper #ca_accept_selected.necessary .checkmark,
#cookie_alert .ca-wrapper #ca_accept_all.necessary .checkmark,
#cookie_alert .ca-wrapper .form-item.necessary .checkmark {
  cursor: default;
}
#cookie_alert input[type=checkbox] {
  z-index: 6;
  opacity: 0;
  vertical-align: bottom;
}
#cookie_alert input[type=checkbox][readonly] {
  pointer-events: none;
  cursor: default;
}
#cookie_alert input[type=checkbox]:hover {
  cursor: pointer;
}
#cookie_alert label[readonly] {
  pointer-events: none;
  cursor: default;
}
#cookie_alert label.first {
  margin-right: 25px;
}

/* Detail pages */
body.news-dtl #footer_first_row, body.news-dtl #footer_second_row, body.news-dtl #header_second_row, body.event-dtl #footer_first_row, body.event-dtl #footer_second_row, body.event-dtl #header_second_row {
  border-style: solid;
  border-top-width: 1px;
}
body.news-dtl #header_second_row, body.event-dtl #header_second_row {
  border-bottom-width: 1px;
}

#offer_detail .detail-wrap p, #offer_detail .detail-wrap address {
  margin-bottom: 37px;
}
#offer_detail .detail-wrap img {
  margin: 37px 0;
}
#offer_detail .detail-wrap h3 {
  font-size: 36px;
  line-height: 42px;
  margin-top: 60px;
}
#offer_detail .registration-links {
  padding: 48px 0 24px 0;
}
#offer_detail .registration-links .call-to-action {
  margin-bottom: 24px;
}

.dtl-related-links {
  padding-left: 37px;
  padding-right: 37px;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: normal;
  justify-content: normal;
}
.dtl-related-links > div {
  width: 31%;
  margin-right: 2.33%;
  border-top-width: 1px;
  border-top-style: solid;
  padding-top: 12px;
}
.dtl-related-links > div.wide-column {
  width: 62%;
}
.dtl-related-links > div.wide-column .list {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: normal;
  justify-content: normal;
}
.dtl-related-links > div.wide-column .list > p {
  width: 50%;
  padding-right: 8px;
}
.dtl-related-links h3 {
  font-size: 28px;
  line-height: 42px;
}

.person-related-links {
  margin-top: 37px;
}

#no-filter-results {
  margin: 5rem 0;
}
#no-filter-results p {
  color: #d32f2f;
  text-align: center;
}

:target {
  margin-top: -120px;
  padding-top: 138.5px !important;
}

.person-component h2 {
  margin-bottom: 37px;
}
.person-component .person-list {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-right: calc(-37px / 2);
  margin-left: calc(-37px / 2);
}
.person-component .person-list .box-teaser {
  width: 25%;
}
@media screen and (max-width: 1024px) {
  .person-component .person-list .box-teaser {
    width: 50%;
  }
}
.person-component .person-list .box-teaser .box-wrap .box-text .box-subtitle {
  line-height: 1.3;
  margin-top: 8px;
}
.person-component .person-list .box-teaser .box-wrap .box-text .link-icon {
  display: inline-block;
}
.person-component .person-list .box-teaser .box-wrap .box-text .link-icon svg {
  display: block;
  width: 17px;
  height: auto;
  margin-bottom: -4px;
}
@media screen and (min-width: 750px) {
  .person-component .person-list .box-teaser .box-wrap .box-text .link-icon svg {
    width: 1.2vw;
    margin-bottom: -0.2vw;
  }
}
@media screen and (min-width: 1993px) {
  .person-component .person-list .box-teaser .box-wrap .box-text .link-icon svg {
    width: 26px;
    margin-bottom: -5px;
  }
}
.person-component .person-list .person-entry .person-text {
  padding: 18px 12px;
}
.person-component .person-list .person-entry .person-text .person-title {
  margin: 12px 0;
  font-size: 28px;
  line-height: 36px;
}
.person-component .links-wrap {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-top: 55.5px;
  margin-bottom: 37px;
}
.person-component .links-wrap .link-wrap {
  margin-left: 20px;
  margin-right: 20px;
}

html {
  overflow-y: scroll;
}

body {
  overflow: auto;
}

*:focus-visible {
  z-index: 50;
  position: sticky;
}

main, footer, .ca-wrapper {
  display: block;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  main, footer, .ca-wrapper {
    padding-left: 7.03vw;
    padding-right: 7.03vw;
  }
}
@media screen and (min-width: 1993px) {
  main, footer, .ca-wrapper {
    max-width: 1720px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
}

@media screen and (min-width: 1025px) {
  #main_wrapper.hide-nav {
    margin-top: -40px;
  }
}
.mab-background {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 749px) {
  .mab-background {
    background-image: none !important;
    max-width: 100vw;
  }
}

.teaser-wrap {
  margin-bottom: 25px;
}
.teaser-wrap .teaser-wrap-title {
  margin-bottom: 37px;
}

.component-wrap:not(.without-bg) {
  padding-top: calc(37px / 2);
  padding-bottom: calc(37px / 2);
}

.teaser-wrap:not(.without-bg) {
  padding: 15px;
}
@media screen and (min-width: 750px) {
  .teaser-wrap:not(.without-bg) {
    padding: 37px;
  }
  .teaser-wrap:not(.without-bg).image-grid-component, .teaser-wrap:not(.without-bg).person-component, .teaser-wrap:not(.without-bg).news-component, .teaser-wrap:not(.without-bg).boxs-teaser {
    padding-bottom: 0;
  }
}

.link-wrap {
  text-align: center;
}
.link-wrap a {
  border-style: solid;
  border-width: 1px;
  display: inline-block;
  text-decoration: none;
  text-underline-offset: 0.29em;
  padding: 4px 25px;
  line-height: 1.6;
}
@media screen and (min-width: 1025px) {
  .link-wrap a {
    padding: 8px 50px;
  }
}

.link-wrap a,
button.link-wrap,
button.button-small,
button[type=submit],
input[type=submit] {
  transition: box-shadow 0.3s ease-in-out;
}
.link-wrap a:hover,
button.link-wrap:hover,
button.button-small:hover,
button[type=submit]:hover,
input[type=submit]:hover {
  box-shadow: 0 15px 23px -7px rgba(0, 0, 0, 0.3);
}

p {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.downloads a {
  text-decoration: none;
}
.downloads li {
  list-style: none;
}
.downloads .link-underline {
  hyphens: auto;
}

.detail-wrap ul.downloads {
  margin-left: 0;
}

.download-link,
.link-wrapper {
  padding: 6px 0;
  position: relative;
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
@media screen and (min-width: 750px) {
  .download-link,
.link-wrapper {
    margin: 4px 0;
  }
}
@media screen and (min-width: 1025px) {
  .download-link,
.link-wrapper {
    padding: 0.6vw 0;
    margin: 0.2vw 0;
  }
}
@media screen and (min-width: 1993px) {
  .download-link,
.link-wrapper {
    padding: 12px 0;
    margin: 4px 0;
  }
}
.download-link .file-icon,
.link-wrapper .file-icon {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 10px;
}
@media screen and (min-width: 1993px) {
  .download-link .file-icon,
.link-wrapper .file-icon {
    margin-right: 12px;
  }
}
.download-link .file-icon svg,
.link-wrapper .file-icon svg {
  display: block;
  height: auto;
  width: calc(18px + 5%);
}
@media screen and (min-width: 750px) {
  .download-link .file-icon svg,
.link-wrapper .file-icon svg {
    width: calc(22px + 5%);
  }
}
@media screen and (min-width: 1025px) {
  .download-link .file-icon svg,
.link-wrapper .file-icon svg {
    width: 1.4vw;
  }
}
@media screen and (min-width: 1993px) {
  .download-link .file-icon svg,
.link-wrapper .file-icon svg {
    width: calc(28px + 5%);
  }
}
.download-link .link-icon.internal svg,
.link-wrapper .link-icon.internal svg {
  width: 15px;
  height: auto;
}
@media screen and (min-width: 750px) {
  .download-link .link-icon.internal svg,
.link-wrapper .link-icon.internal svg {
    width: 19px;
  }
}
@media screen and (min-width: 1025px) {
  .download-link .link-icon.internal svg,
.link-wrapper .link-icon.internal svg {
    width: 1.4vw;
  }
}
@media screen and (min-width: 1993px) {
  .download-link .link-icon.internal svg,
.link-wrapper .link-icon.internal svg {
    width: 24px;
  }
}
.download-link .link-icon.external svg,
.link-wrapper .link-icon.external svg {
  width: 12px;
  height: auto;
}
@media screen and (min-width: 750px) {
  .download-link .link-icon.external svg,
.link-wrapper .link-icon.external svg {
    width: 14px;
  }
}
@media screen and (min-width: 1025px) {
  .download-link .link-icon.external svg,
.link-wrapper .link-icon.external svg {
    width: 1.03vw;
  }
}
@media screen and (min-width: 1993px) {
  .download-link .link-icon.external svg,
.link-wrapper .link-icon.external svg {
    width: 18px;
  }
}
.download-link .link-underline,
.link-wrapper .link-underline {
  text-decoration: underline;
  text-underline-offset: 8px;
  line-height: 30px;
  margin-right: 12px;
}
.download-link .small-text,
.link-wrapper .small-text {
  line-height: 30px;
  font-size: calc(18px - 25%);
}
@media screen and (min-width: 750px) {
  .download-link .small-text,
.link-wrapper .small-text {
    font-size: calc(22px - 25%);
  }
}
@media screen and (min-width: 1025px) {
  .download-link .small-text,
.link-wrapper .small-text {
    font-size: 1.05vw;
  }
}
@media screen and (min-width: 1993px) {
  .download-link .small-text,
.link-wrapper .small-text {
    font-size: calc(28px - 25%);
  }
}

.download-link {
  padding-left: 34px;
}
@media screen and (min-width: 1025px) {
  .download-link {
    padding-left: 2.3vw;
  }
}
@media screen and (min-width: 1993px) {
  .download-link {
    padding-left: 42px;
  }
}

button {
  text-align: center;
  border-style: solid;
  border-width: 1px;
  display: inline-block;
  text-decoration: none;
  padding: 8px 32.5px;
  font-size: 21px;
  line-height: 34px;
  background-color: transparent;
}
@media screen and (max-width: 749px) {
  button {
    padding: 4px 12px;
    font-size: 16px;
  }
}
button:hover {
  cursor: pointer;
}

button.button-small {
  padding: 0 10px;
  font-size: 16px;
  border-width: 1px;
  border-style: solid;
}

button.ghost-button {
  border: none;
  padding: 0;
  font-size: 0;
  line-height: 0;
}

.link-wrap a {
  padding: 12px;
  min-height: 2.76vw;
  font-size: 18px;
  line-height: 1.2;
}
@media screen and (min-width: 750px) {
  .link-wrap a {
    min-width: 200px;
  }
}
@media screen and (min-width: 1993px) {
  .link-wrap a {
    font-size: 22px;
    min-height: 55px;
    padding: 18px;
  }
}

.links-wrap {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: -9px;
  margin-right: -9px;
}
@media screen and (min-width: 750px) {
  .links-wrap {
    margin-left: -18.5px;
    margin-right: -18.5px;
  }
}
.links-wrap .link-wrap {
  margin-left: 9px;
  margin-right: 9px;
}
@media screen and (min-width: 750px) {
  .links-wrap .link-wrap {
    margin-left: 18.5px;
    margin-right: 18.5px;
  }
}
.links-wrap .link-wrap a {
  margin-top: 18px;
  margin-bottom: 18px;
}
@media screen and (min-width: 750px) {
  .links-wrap .link-wrap a {
    margin-top: 37px;
    margin-bottom: 37px;
  }
}
@media screen and (min-width: 1993px) {
  .links-wrap .link-wrap a {
    margin-bottom: 74px;
  }
}

.small-arrow svg {
  width: 14px;
  height: 14px;
}

.text-not-selectable {
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+/Edge */
  user-select: none; /* Standard */
}

img {
  max-width: 100%;
}

.hide {
  display: none;
}

p, .p, .link-underline, a, address, li {
  font-size: 18px;
  line-height: 1.6;
}
@media screen and (min-width: 750px) {
  p, .p, .link-underline, a, address, li {
    font-size: 22px;
    line-height: 1.3;
  }
}
@media screen and (min-width: 1025px) {
  p, .p, .link-underline, a, address, li {
    font-size: 1.4vw;
  }
}
@media screen and (min-width: 1993px) {
  p, .p, .link-underline, a, address, li {
    font-size: 28px;
  }
}

address {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 300;
}

h1, .h1 {
  font-size: 24px;
  line-height: 1.2;
  hyphens: auto;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
}
@media screen and (min-width: 750px) {
  h1, .h1 {
    font-size: 36px;
  }
}
@media screen and (min-width: 1025px) {
  h1, .h1 {
    font-size: 3.1vw;
  }
}
@media screen and (min-width: 1993px) {
  h1, .h1 {
    font-size: 62px;
  }
}

.h1-padding {
  padding: 18px 15px 0 15px;
}
@media screen and (min-width: 750px) {
  .h1-padding {
    padding: 18px 9.34vw;
  }
}
@media screen and (min-width: 1993px) {
  .h1-padding {
    padding: 37px 11.04vw;
  }
}

h2, .h2 {
  font-size: 21px;
  line-height: 1.2;
}
@media screen and (min-width: 750px) {
  h2, .h2 {
    font-size: 26px;
  }
}
@media screen and (min-width: 1025px) {
  h2, .h2 {
    font-size: 1.8vw;
  }
}
@media screen and (min-width: 1993px) {
  h2, .h2 {
    font-size: 36px;
  }
}

h3, .h3 {
  font-size: 16px;
  line-height: 1.2;
}
@media screen and (min-width: 750px) {
  h3, .h3 {
    font-size: 21px;
  }
}
@media screen and (min-width: 1025px) {
  h3, .h3 {
    font-size: 1.5vw;
  }
}
@media screen and (min-width: 1993px) {
  h3, .h3 {
    font-size: 28px;
  }
}

.centered-content {
  padding: 37px 12% 0;
}

.border-top {
  border-top-width: 1px;
  border-top-style: solid;
}

.text-wrap p:not(:last-child) {
  margin-bottom: 37px;
}
.text-wrap a {
  text-underline-offset: 0.195em;
}

.image-wrap {
  text-align: center;
}
.image-wrap .image-content {
  display: inline-block;
}
.image-wrap img {
  max-height: 100%;
}
@media screen and (max-width: 749px) {
  .image-wrap img {
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .image-wrap img {
    max-height: 42.67vw;
  }
}
@media screen and (min-width: 1993px) {
  .image-wrap img {
    max-height: 850px;
  }
}
.image-wrap .caption {
  font-size: 12px;
  text-align: left;
  margin: 0 auto;
}
@media screen and (min-width: 750px) {
  .image-wrap .caption {
    font-size: 14px;
  }
}

#breadcrumbs {
  display: -moz-box; /* OLD - Firefox 19- (doesn't work very well) */
  display: -ms-flexbox; /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Chrome */
  display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding: 15px;
  line-height: 1.6;
}
@media screen and (min-width: 750px) {
  #breadcrumbs {
    padding: 16px calc(37px / 2);
  }
}
#breadcrumbs > * {
  margin-right: 6px;
}
@media screen and (min-width: 750px) {
  #breadcrumbs > * {
    margin-right: 10px;
  }
}
#breadcrumbs a, #breadcrumbs p {
  font-size: 14px;
  line-height: inherit;
}
@media screen and (min-width: 750px) {
  #breadcrumbs a, #breadcrumbs p {
    font-size: 16px;
  }
}
#breadcrumbs a {
  text-underline-offset: 0.29em;
}
#breadcrumbs a:hover {
  text-decoration: underline;
}
#breadcrumbs span {
  display: block;
  width: 12px;
  height: 12px;
}
@media screen and (min-width: 750px) {
  #breadcrumbs span {
    width: 15px;
    height: 15px;
  }
}
#breadcrumbs span svg {
  max-width: 100%;
  max-height: 100%;
  stroke-width: 2px;
}

.no-margin-bottom {
  margin-bottom: 0 !important;
}

.contents {
  display: contents;
}

.loader {
  border: 4px solid #FFFFFF;
  border-top: 4px solid #000000;
  border-radius: 50%;
  margin: auto;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}

.offers-teaser .f-carousel__nav .f-button svg path, #calendarGrid .f-carousel__nav .f-button svg path {
  stroke-width: 0;
}
.offers-teaser .f-carousel__nav .f-button[disabled], #calendarGrid .f-carousel__nav .f-button[disabled] {
  cursor: default;
  opacity: 0.3;
}

.f-carousel__nav .f-button:hover {
  background: transparent;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spinArrowCCW {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(180deg);
  }
}
@keyframes spinArrowCW {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
@keyframes infiniteBackAndForth {
  0% {
    transform: translateX(0px);
  }
  50% {
    transform: translateX(-5px);
  }
  100% {
    transform: translateX(0px);
  }
}
@keyframes openFullscreenNav {
  0% {
    display: flex;
    transform: translateY(-290%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes closeFullscreenNav {
  0% {
    display: flex;
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-290%);
    display: none;
  }
}
.fancybox__content .f-button.is-close-btn {
  width: 36px;
  height: 36px;
}
@media screen and (min-width: 1025px) {
  .fancybox__content .f-button.is-close-btn {
    top: 0;
    right: 0;
    width: 42px;
    height: 42px;
  }
}
.fancybox__content .f-button.is-close-btn svg {
  width: 36px;
  height: auto;
  stroke-width: 1px;
}
@media screen and (min-width: 1025px) {
  .fancybox__content .f-button.is-close-btn svg {
    width: 42px;
  }
}

.fancybox__nav .f-button {
  width: 30px;
}
@media screen and (min-width: 1025px) {
  .fancybox__nav .f-button {
    width: 60px;
  }
}
.fancybox__nav .f-button svg {
  width: 100%;
  height: auto;
  stroke-width: 1px;
}
.fancybox__nav .f-button.is-next {
  right: 6px !important;
}
@media screen and (min-width: 1025px) {
  .fancybox__nav .f-button.is-next {
    right: 36px !important;
  }
}
.fancybox__nav .f-button.is-prev {
  left: 6px !important;
}
@media screen and (min-width: 1025px) {
  .fancybox__nav .f-button.is-prev {
    left: 36px !important;
  }
}
