/* stylelint-disable selector-list-comma-newline-after */
/**
 * 1. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 2. Set death proof box-sizing
 */
html {
  -ms-text-size-adjust: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 1 */
  box-sizing: border-box;
  /* 1 */
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
/* 3 */
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,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figure {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/* remember to define focus styles! */
:focus {
  outline: 0;
}
ol,
ul {
  list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: separate;
  border-spacing: 0;
}
/* Webkit-Browser machen einen 2px margin außerhalb von Form-Elementen */
button,
input,
select,
textarea {
  margin: 0;
}
/* Scrollbar erzwingen für nicht IE, verhindert springen der Seite */
html {
  overflow-y: scroll;
}
/* stylelint-enable selector-list-comma-newline-after */
/*
  @tableofcontents
  ****************
  1. Typography
  2. Form Fixes
  3. Clearfix
  4. Misc Fixes
*/
/* @section 1. Typography
--------------------------------------------------- */
/*
    Sans-Serif Font Stack inspired by http://blog.mhurrell.co.uk/post/2946358183/updating-the-helvetica-font-stack
    Improved stack order https://booking.design/implementing-system-fonts-on-booking-com-a-lesson-learned-bdc984df627f
    Please don't try any hacks for em/pixel calculation - it's crap! Just do great typography!
*/
body {
  /* new cross OS sans font stack */
  font: 1em/1.6 BlinkMacSystemFont, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: #334046;
  background: #f7f9fa;
  max-width: 160rem;
}
@media (min-width: 160rem) {
  body {
    margin: 0 auto;
    box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
  }
}
@media (min-width: 160rem) {
  html {
    background-color: #334046;
  }
}
/*
    clear quotes, if they are not needed

blockquote:before, blockquote:after, q:before, q:after { content: ' }
blockquote, q { quotes: ' ' }
*/
/*
    use multi lang quotes
:lang(de-DE) { quotes:'\201E' '\201C' '\201A' '\2018' }
:lang(de-CH) { quotes:'\00AB' '\00BB' '\2039' '\203A' }
:lang(en)    { quotes:'\201C' '\201D' '\2018' '\2019' }
:lang(fr)    { quotes:'\00AB\00A0' '\00A0\00BB' '\2039\00A0' '\00A0\203A' }
*/
q {
  quotes: '\201E' '\201C' '\201A' '\2018';
}
q::before {
  content: open-quote;
}
q::after {
  content: close-quote;
}
/* monospace normalisieren http://en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */
pre,
code,
kbd,
samp {
  font-family: monospace, sans-serif;
}
/* http://www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */
pre {
  padding: 1em;
  white-space: pre;
  /* CSS2 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  word-wrap: break-word;
  /* IE */
}
small {
  font-size: 85%;
}
strong,
th {
  font-weight: 700;
}
em {
  font-style: italic;
}
sub,
sup {
  font-size: smaller;
}
sub {
  vertical-align: sub;
}
sup {
  vertical-align: super;
}
@supports ( font-variant-position: super ) {
  sup {
    font-variant-positon: super;
  }
  sub {
    font-variant-positon: sub;
  }
}
abbr[title] {
  border-bottom: 1px dotted;
}
abbr[title]:hover {
  cursor: help;
}
abbr {
  font-variant: small-caps;
  text-transform: lowercase;
}
/*
Set tables to fixed layout to speed up rendering of longer tables in IE
http://www.quirksmode.org/css/tables.html und http://msdn.microsoft.com/en-us/library/ms531161%28v=vs.85%29.aspx

table{ table-layout: fixed; }
*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-variant-numeric: lining-nums tabular-nums;
}
td,
td img {
  vertical-align: top;
}
caption,
th,
td {
  padding: 0;
  text-align: left;
  font-weight: 400;
}
/* @section 2. Form Fixes
--------------------------------------------------- */
button,
input,
select,
optgroup,
textarea {
  margin: 0;
  font: inherit;
}
select,
input,
textarea {
  color: inherit;
}
/* Address inconsistent `text-transform` inheritance for `button` and `select`. */
button,
select {
  text-transform: none;
}
/* adjust checkboxes, radiobuttons, text inputs to label */
input[type='radio'],
input[type='checkbox'] {
  box-sizing: border-box;
  vertical-align: baseline;
  padding: 0;
}
/* Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet .*/
input {
  line-height: normal;
}
/* remove scrollbar of textarea in IE @see http://www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */
textarea {
  overflow: auto;
  resize: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type='button'],
input[type='reset'],
input[type='submit'] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
button[disabled],
html input[disabled] {
  cursor: default;
}
/*  Firefox and Chrome - remove inner border */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  height: auto;
}
/* we like our number inputs undecorated */
input[type=number] {
  -moz-appearance: textfield;
}
::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
label {
  cursor: pointer;
}
/* @section 3. Media
--------------------------------------------------- */
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not( :root ) {
  overflow: hidden;
}
/* @section 4. Clearfix
--------------------------------------------------- */
/*
    micro clearfix @see http://nicolasgallagher.com/micro-clearfix-hack/
    flexbox webkit fix @see http://danisadesigner.com/blog/flexbox-clear-fix-pseudo-elements/
    use block i/o table @see http://cssmojo.com/the-very-latest-clearfix-reloaded/
*/
.cf:before,
.cf:after,
.pager:before,
.pager:after,
.post-navigation__links:before,
.post-navigation__links:after,
.cf__fields:before,
.cf__fields:after,
.pager__fields:before,
.pager__fields:after,
.post-navigation__links__fields:before,
.post-navigation__links__fields:after {
  content: ' ';
  display: block;
  flex-basis: 0;
  order: 1;
}
.cf:after,
.pager:after,
.post-navigation__links:after,
.cf__fields:after,
.pager__fields:after,
.post-navigation__links__fields:after {
  clear: both;
}
/* @section 5. Old Webkit Bugs
--------------------------------------------------- */
/*
    Fixing issues when combining pseudo classes with adjacent or general sibling selectors.
    @see http://css-tricks.com/webkit-sibling-bug/
    @see http://timpietrusky.com/advanced-checkbox-hack
 */
body {
  -webkit-animation: bugfix infinite 1s;
}
@-webkit-keyframes bugfix {
  from {
    padding: 0;
  }
  to {
    padding: 0;
  }
}
/* @section 6. Smooth Scroll
--------------------------------------------------- */
body {
  scroll-behavior: smooth;
}
/*** helpers ***/
/* Nicht-semantische Hilfsklassen
--------------------------------------------------- */
/*
 * Hide if JS is activated
 * Hide id JS is not activated
 * Hide visually and from screen readers
 */
.js .hideIfJS,
.no-js .hideIfNoJS,
.hidden,
.u-hidden {
  display: none;
}
/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 * https://allyjs.io/tutorials/hiding-elements.html#2017-edition-of-visuallyhidden
 */
.u-srt:not(:focus):not(:active),
.screen-reader-text:not(:focus):not(:active),
.visuallyhidden:not(:focus):not(:active),
.screen-reader-response:not(:focus):not(:active) {
  position: absolute;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  padding: 0;
  white-space: nowrap;
  border: 0;
}
/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.u-srt:active,
.screen-reader-text:active,
.visuallyhidden.focusable:active,
.u-srt:focus,
.screen-reader-text:focus,
.visuallyhidden.focusable:focus,
.screen-reader-response:active,
.screen-reader-response:focus {
  position: absolute;
  left: 5px;
  top: 5px;
  z-index: 1000;
  padding: 1ex;
  text-decoration: none;
  text-transform: none;
  background-color: #111;
  color: #e9edf2;
}
a.u-tel {
  color: inherit;
  text-decoration: inherit;
  cursor: default;
  white-space: nowrap;
}
a.u-tel:focus,
a.u-tel:hover {
  color: inherit;
}
.u-quiet {
  color: #969a9e;
}
.u-quiet a,
.u-quiet a:visited {
  color: #969a9e;
}
.u-quiet a:focus,
.u-quiet a:visited:focus,
.u-quiet a:hover,
.u-quiet a:visited:hover,
.u-quiet a:active,
.u-quiet a:visited:active {
  color: #334046;
}
.hyphen,
.content h2,
.article__title,
.slider__item__text {
  overflow-wrap: break-word;
  wordp-wrap: break-word;
  hyphens: auto;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.center {
  text-align: center;
}
.justify {
  text-align: justify;
}
.dropcap:first-letter {
  float: left;
  margin: 0.2em 0.1em 0 0;
  padding: 0 0.2em;
  font-size: 4em;
  font-family: inherit;
  line-height: 1;
  text-indent: 0;
  background: transparent;
  color: inherit;
}
.browsehappy {
  margin-bottom: 0;
  padding: 0.5em;
  text-align: center;
  color: #222;
  background: #fcf7d9;
  border-bottom: 1px solid #f5dc7d;
}
/*
    <div class="circle">
        <div class="burger-icon"></div>
    </div>
 */
/*
    Usage:

    <input type="checkbox" name="burger-flag" class="burger-flag" id="burger-flag" onclick="null" />
    <label class="burger-toggle" for="burger-flag">
        <span class="burger-icon"></span>
    </label>

    .2 + .3 + .2 + .3 + .2 = 1.2 overall height


.burger {
    &-flag { display: none; }
    &-toggle { display: inline-block; } // make it clickable
    &-icon {
        .burger( 1.5em, .2em, .3em, #555);
    }
    &-flag:checked + &-toggle &-icon {
        .burger-to-cross( .2em, .3em, #555 );
    }
}
/* */
/*
    @see https://medium.com/@iamryanyu/svg-sprite-workflow-that-works-f5609d4d6144
    @see https://github.com/bitstarr/svg-workflow/
*/
/*
 * define basic icon
 * use font-size for scaling!
 */
.icon {
  fill: currentColor;
  height: 1em;
  width: 1em;
  overflow: hidden;
  vertical-align: -0.15em;
}
/*
// icon color
.icon-red {
    color: #cc0000;
}
*/
/*** basic content ***/
/*
    Focusbehandlung verbessern:
    @see http://people.opera.com/patrickl/experiments/keyboard/test
 */
a:hover,
a:active {
  outline: none;
}
a,
a:active,
a:visited {
  color: #353d47;
  text-decoration: none;
}
a:focus,
a:hover {
  color: #1782c5;
}
/*
    Highlighting für mobile Webkits
    @see http://j.mp/webkit-tap-highlight-color
 */
a:link {
  -webkit-tap-highlight-color: rgba(53, 61, 71, 0.7);
}
/* don't ever combine both lines or user text-shadow! */
::-moz-selection {
  background: #222;
  color: #fff;
  text-shadow: none;
}
::selection {
  background: #222;
  color: #fff;
  text-shadow: none;
}
.content {
  /**
     * TODO: Responsive Modular Scale for Headlines
     * @see http://typographyhandbook.com/
     */
  /*
     * OpenType Features
     * @see http://typographyhandbook.com/
     * @see http://practice.typekit.com/lesson/caring-about-opentype-features/
     */
  /*
     * use this for aligned numbers in certain display fonts
     * @see http://www.codesmite.com/article/fixing-raleway-and-similar-fonts-numerals?utm_source=codropscollective
     */
  /* Style 'Default' Links */
  /* */
  /* a11y: highlight focued images */
}
.content h2,
.content h3 {
  margin-bottom: 0.75em;
  line-height: 1.1;
}
* + .content h2,
* + .content h3 {
  margin-top: 1.5em;
}
.content h2 {
  font-size: 1.5625em;
  color: #353d47;
}
.content h2:first-child {
  margin-top: 1em;
}
@media (min-width: 41rem) {
  .content h2 {
    font-size: 1.953125rem;
  }
}
.content h3 {
  font-size: 1.5625em;
  font-weight: 700;
  color: #969a9e;
}
.content h4 {
  font-size: 1.25em;
  font-weight: 700;
  color: #969a9e;
  display: flex;
  align-items: center;
}
.content h4::before,
.content h4::after {
  content: '';
  height: 1px;
  border: 1px solid #b2b9c4;
  flex-grow: 1;
  color: #353d47;
}
.content h4::before {
  margin-right: 1rem;
}
.content h4::after {
  margin-left: 1rem;
}
.content hr {
  height: 0;
  margin-top: 1.5em;
  border: 0;
  border-top: 1px solid #c9ced4;
}
.content p {
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: 'kern', 'liga', 'clig', 'calt';
}
.content p abbr {
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-variant-numeric: oldstyle-nums proportional-nums;
  font-variant-caps: all-small-caps;
  font-feature-settings: 'kern', 'liga', 'clig', 'calt', 'onum', 'pnum', 'smcp', 'c2sc';
}
.content .numbers {
  font-feature-settings: 'lnum';
}
.content--frotpage a {
  color: #fff;
  text-decoration: none;
}
.content--frotpage a[href]:not([class]) {
  color: #fff;
  text-decoration: none;
}
.content a[href]:not([class]) {
  text-decoration: underline;
  text-decoration-skip-ink: auto;
}
.content a:focus img {
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.9);
}
.content p + p {
  margin-top: 1.5em;
}
.content ul,
.content ol {
  margin-left: 1em;
}
.content li {
  break-inside: avoid;
}
.content ol {
  list-style: decimal;
}
.content ul {
  list-style: disc;
}
.content li ol,
.content li ul {
  margin-bottom: 0;
}
.content li ul {
  list-style-type: circle;
}
.content .text--left {
  text-align: left;
}
.content .text--center {
  text-align: center;
}
.content .text--right {
  text-align: right;
}
blockquote {
  position: relative;
  padding: 5em 2em 2em;
  margin: 1em 0 1.5em;
  border-radius: 3px;
  background: #e9edf2;
}
blockquote p {
  font-size: 1.25em;
  font-style: italic;
}
blockquote::before {
  content: '\201C';
  position: absolute;
  top: 1.4rem;
  left: 50%;
  overflow: hidden;
  width: 0.5em;
  height: 0.5em;
  font-size: 5em;
  text-align: center;
  line-height: 1;
  color: #353d47;
}
blockquote footer {
  margin: 1em -1em -1em;
  padding: 1ex 1em;
  font-style: italic;
  line-height: 1.2;
  color: #fff;
  background: #334046;
}
blockquote footer:before {
  content: '— ';
}
@media (max-width: 32.99em) {
  blockquote::before {
    transform: translateX(-50%);
    background: #e9edf2;
    z-index: 2;
  }
  blockquote::after {
    content: '';
    position: absolute;
    top: 2.7rem;
    left: 30%;
    right: 30%;
    height: 0;
    border-bottom: 1px solid #ccc;
  }
}
@media (min-width: 33em) {
  blockquote {
    padding: 2em 2.5em 2em 4em;
  }
  blockquote::before {
    top: 1.4rem;
    left: 1.4rem;
  }
  blockquote footer {
    margin: 1em -1.5em -1em -4em;
    padding-left: 4em;
  }
}
/*
    Styling broken image
    @see http://bitsofco.de/styling-broken-images/
 */
img:before {
  content: '';
  display: none;
}
img:after {
  content: '\26D0' ' Defekte Grafik: ' attr(alt);
  color: #646464;
}
/*
    1. Improve scaled image rendering https://medium.freecodecamp.org/-898b38a6c0e1
 */
img.size-full {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
  /* 1. */
}
.wp-smiley {
  margin: 0 0.3em;
}
.wp-caption {
  margin-left: auto;
  margin-right: auto;
}
.wp-caption.alignleft,
.wp-caption.alignright {
  display: table;
}
.wp-caption.alignleft .wp-caption-text,
.wp-caption.alignright .wp-caption-text {
  display: table-caption;
  caption-side: bottom;
}
.wp-caption img {
  display: block;
  max-width: 100%;
  height: auto;
}
.wp-caption br {
  display: none;
}
.wp-caption-text {
  padding-top: 0.3em;
  font-size: 0.9em;
}
/* let them flow */
@media only screen and (min-width: 30em) {
  .wp-caption.alignright,
  .alignright {
    float: right;
    margin-left: 1.5em;
  }
  .wp-caption.alignleft,
  .alignleft {
    float: left;
    margin-right: 1.5em;
  }
  .alignleft:not(:last-child),
  .alignright:not(:last-child) {
    margin-bottom: 1em;
  }
  .alignleft:not(:first-child),
  .alignright:not(:first-child) {
    margin-top: 1.5em;
  }
  .wp-caption.aligncenter,
  .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
.embed__video {
  position: relative;
  margin: 1.5em 0;
  padding-bottom: 56.25%;
  padding-top: 35px;
  height: 0;
  overflow: hidden;
}
.embed__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.embed--vimeo {
  padding-bottom: 53%;
}
::-webkit-input-placeholder {
  color: #777;
}
::-moz-placeholder {
  color: #777;
}
:-ms-input-placeholder {
  color: #777;
}
.form,
.wpcf7-form {
  text-align: left;
}
.form textarea,
.form label,
.wpcf7-form textarea,
.wpcf7-form label {
  display: block;
}
.form .required,
.wpcf7-form .required {
  color: #c0392b;
}
.form--small,
.wpcf7-form--small {
  max-width: 22rem;
  margin: 0 auto;
}
.form__row,
.wpcf7-form__row {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.form__row--last,
.wpcf7-form__row--last {
  margin-top: 2.5rem;
}
.form__col,
.wpcf7-form__col {
  width: calc(50% - .5rem);
}
.form__col--wide,
.wpcf7-form__col--wide {
  width: 100%;
}
.form label,
.form input[type='text'],
.form input[type='date'],
.form input[type='number'],
.form input[type='time'],
.form input[type='email'],
.form input[type='password'],
.form input[type='tel'],
.form textarea,
.form select,
.wpcf7-form label,
.wpcf7-form input[type='text'],
.wpcf7-form input[type='date'],
.wpcf7-form input[type='number'],
.wpcf7-form input[type='time'],
.wpcf7-form input[type='email'],
.wpcf7-form input[type='password'],
.wpcf7-form input[type='tel'],
.wpcf7-form textarea,
.wpcf7-form select {
  width: 100%;
}
.form input,
.form textarea,
.form select,
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select {
  margin-bottom: 1rem;
}
.form__last__wrap,
.wpcf7-form__last__wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}
@media (max-width: 59.99rem) {
  .form__last__wrap,
  .wpcf7-form__last__wrap {
    flex-wrap: wrap;
  }
}
.form__title,
.wpcf7-form__title {
  font-size: 2.44140625rem;
  color: #353d47;
}
.form__upload__wrapper,
.wpcf7-form__upload__wrapper {
  margin-bottom: 2rem;
}
.js .form__upload,
.js .form__upload--multiple,
.js .wpcf7-form__upload,
.js .wpcf7-form__upload--multiple {
  display: none;
}
.js .form__upload__plus,
.js .form__upload--multiple__plus,
.js .wpcf7-form__upload__plus,
.js .wpcf7-form__upload--multiple__plus {
  display: block;
  font-weight: 700;
  color: #1782c5;
}
.no-js .form__upload__plus,
.no-js .wpcf7-form__upload__plus {
  display: none;
}
.form__folder,
.form__file,
.wpcf7-form__folder,
.wpcf7-form__file {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 1em;
  padding-left: 1.3em;
}
.form__folder__delete,
.form__file__delete,
.wpcf7-form__folder__delete,
.wpcf7-form__file__delete {
  margin-left: 0.5rem;
  font-weight: 700;
  color: #1782c5;
  cursor: pointer;
}
.form__folder::before,
.wpcf7-form__folder::before {
  content: '';
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 1em;
  height: 0.7em;
  border-radius: 0 2px 1px 1px;
  background-color: #1782c5;
  z-index: 1;
}
.form__folder::after,
.wpcf7-form__folder::after {
  content: '';
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 0.5em;
  height: 0.2em;
  border-radius: 1px 3px 0 0;
  background-color: #126497;
  z-index: 1;
}
.form__file,
.wpcf7-form__file {
  margin-top: 0;
}
.form__file::before,
.wpcf7-form__file::before {
  content: '';
  position: absolute;
  top: 0.2em;
  left: 0.1em;
  width: 0.8em;
  height: 1em;
  border-radius: 1px 3px 1px 1px;
  background-color: #ddd;
  z-index: 1;
}
.form__file::after,
.wpcf7-form__file::after {
  content: '';
  position: absolute;
  top: 0.2em;
  left: 0.6em;
  width: 0.3em;
  height: 0.3em;
  border-radius: 0 3px 0 0;
  box-shadow: -1px 1px 2px #ccc;
  background-color: #eee;
  z-index: 1;
}
.form .quiet,
.wpcf7-form .quiet {
  font-size: 0.8em;
  color: #969a9e;
}
.form input[type='submit'],
.wpcf7-form input[type='submit'] {
  padding: 0.65rem 0.5rem;
}
.form input[type='radio'],
.form input[type='checkbox'],
.wpcf7-form input[type='radio'],
.wpcf7-form input[type='checkbox'] {
  margin-right: 0.5rem;
}
.form input[type='date']::before,
.wpcf7-form input[type='date']::before {
  color: #b1b4b6;
  content: attr(placeholder);
}
.form input[type='date']:focus::before,
.wpcf7-form input[type='date']:focus::before {
  display: none;
}
.form input[type='submit'],
.wpcf7-form input[type='submit'] {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 1ex 2ex;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  background: linear-gradient(90deg, #353d47 0%, #14171b 100%);
  background-size: 200%;
  border: 0;
  border-radius: 3px;
  transition: background 0.2s, color 0.2s;
  will-change: background, color;
  /* Barber Shop Style
    @stripe-size: 50px;
    &.is-loading {
        pointer-events: none;
        background-image:
            linear-gradient(
            -45deg,
            rgba( 255, 255, 255, .5 ) 25%,
            transparent 25%,
            transparent 50%,
            rgba( 255, 255, 255, .5 ) 50%,
            rgba( 255, 255, 255, .5 ) 75%,
            transparent 75%,
            transparent
        );
        background-size: @stripe-size @stripe-size;

        animation-fill-mode: both;
        animation: stripe 1.5s linear infinite;
    }
    @keyframes stripe {
        0% { background-position: 0 0; }
        100% { background-position: @stripe-size @stripe-size; }
    }
    /* */
  /* Spinner Style */
  /* */
}
a.form input[type='submit'],
a.form input[type='submit']:visited,
a.form input[type='submit']:hover,
a.form input[type='submit']:focus,
a.wpcf7-form input[type='submit'],
a.wpcf7-form input[type='submit']:visited,
a.wpcf7-form input[type='submit']:hover,
a.wpcf7-form input[type='submit']:focus {
  color: #fff;
}
.form input[type='submit']:hover,
.form input[type='submit']:focus,
.wpcf7-form input[type='submit']:hover,
.wpcf7-form input[type='submit']:focus {
  background-position-x: -100%;
}
.form input[type='submit'].is-loading,
.wpcf7-form input[type='submit'].is-loading {
  color: transparent;
}
.form input[type='submit'].is-loading:focus,
.form input[type='submit'].is-loading:hover,
.wpcf7-form input[type='submit'].is-loading:focus,
.wpcf7-form input[type='submit'].is-loading:hover {
  color: transparent;
}
.form input[type='submit'].is-loading:after,
.wpcf7-form input[type='submit'].is-loading:after {
  content: '';
  pointer-events: none;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -0.5em;
  margin-left: -0.5em;
  display: block;
  height: 1em;
  width: 1em;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin-around 0.5s infinite linear;
}
@keyframes spin-around {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.form textarea,
.wpcf7-form textarea {
  height: 10rem;
}
.form input[type='text'],
.form input[type='date'],
.form input[type='time'],
.form input[type='email'],
.form input[type='password'],
.form input[type='tel'],
.form input[type='number'],
.form select,
.form textarea,
.wpcf7-form input[type='text'],
.wpcf7-form input[type='date'],
.wpcf7-form input[type='time'],
.wpcf7-form input[type='email'],
.wpcf7-form input[type='password'],
.wpcf7-form input[type='tel'],
.wpcf7-form input[type='number'],
.wpcf7-form select,
.wpcf7-form textarea {
  padding: 0.5rem;
  font-size: 1rem;
  border: 1px solid #969a9e;
  border-radius: 3px;
  background-color: #f7f9fa;
  transition: padding 0.3s, background-color 0.4s, color 0.3s;
  appearance: none;
}
.reserve .form input[type='text'],
.reserve .form input[type='date'],
.reserve .form input[type='time'],
.reserve .form input[type='email'],
.reserve .form input[type='password'],
.reserve .form input[type='tel'],
.reserve .form input[type='number'],
.reserve .form select,
.reserve .form textarea,
.reserve .wpcf7-form input[type='text'],
.reserve .wpcf7-form input[type='date'],
.reserve .wpcf7-form input[type='time'],
.reserve .wpcf7-form input[type='email'],
.reserve .wpcf7-form input[type='password'],
.reserve .wpcf7-form input[type='tel'],
.reserve .wpcf7-form input[type='number'],
.reserve .wpcf7-form select,
.reserve .wpcf7-form textarea {
  background-color: #fff;
}
.form input[type='text']:focus,
.form input[type='date']:focus,
.form input[type='time']:focus,
.form input[type='email']:focus,
.form input[type='password']:focus,
.form input[type='tel']:focus,
.form input[type='number']:focus,
.form select:focus,
.form textarea:focus,
.wpcf7-form input[type='text']:focus,
.wpcf7-form input[type='date']:focus,
.wpcf7-form input[type='time']:focus,
.wpcf7-form input[type='email']:focus,
.wpcf7-form input[type='password']:focus,
.wpcf7-form input[type='tel']:focus,
.wpcf7-form input[type='number']:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  padding: 0.5rem 1rem;
  background-color: #fff;
  color: #353d47;
  letter-spacing: 0.1em;
}
.form input[type='text']:focus::placeholder,
.form input[type='date']:focus::placeholder,
.form input[type='time']:focus::placeholder,
.form input[type='email']:focus::placeholder,
.form input[type='password']:focus::placeholder,
.form input[type='tel']:focus::placeholder,
.form input[type='number']:focus::placeholder,
.form select:focus::placeholder,
.form textarea:focus::placeholder,
.wpcf7-form input[type='text']:focus::placeholder,
.wpcf7-form input[type='date']:focus::placeholder,
.wpcf7-form input[type='time']:focus::placeholder,
.wpcf7-form input[type='email']:focus::placeholder,
.wpcf7-form input[type='password']:focus::placeholder,
.wpcf7-form input[type='tel']:focus::placeholder,
.wpcf7-form input[type='number']:focus::placeholder,
.wpcf7-form select:focus::placeholder,
.wpcf7-form textarea:focus::placeholder {
  /* Most modern browsers support this now. */
  color: #fff;
}
.form__select select,
.wpcf7-form__select select {
  width: 100%;
}
.col .form__submit,
.col .wpcf7-form__submit {
  width: 100%;
}
.form__checkbox__label,
.wpcf7-form__checkbox__label {
  display: inline-block;
}
.form__dsgvo,
.wpcf7-form__dsgvo {
  margin-top: 0.25em;
  float: left;
}
.form__dsgvo + span,
.wpcf7-form__dsgvo + span {
  display: block;
  padding-left: 1.5rem;
  font-size: 85%;
  line-height: 1.2;
}
.form__desc,
.wpcf7-form__desc {
  display: block;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 85%;
}
.text-input {
  width: 100%;
  padding: 0.5em;
  background: #fff;
  border: 1px solid #c9ced4;
  border-radius: 2px;
  transition: border 0.2s;
  -webkit-appearance: none;
}
.text-input:focus {
  border-color: #1782c5;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
.text-input--rect {
  border-radius: 0;
  border-bottom: 2px solid #c9ced4;
}
.dropdown {
  appearance: none;
  background: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="512" height="512" viewBox="0 0 512 512" xml:space="preserve"><path fill="%23666" d="M256,298.3L256,298.3L256,298.3l174.2-167.2c4.3-4.2,11.4-4.1,15.8,0.2l30.6,29.9c4.4,4.3,4.5,11.3,0.2,15.5L264.1,380.9c-2.2,2.2-5.2,3.2-8.1,3c-3,0.1-5.9-0.9-8.1-3L35.2,176.7c-4.3-4.2-4.2-11.2,0.2-15.5L66,131.3c4.4-4.3,11.5-4.4,15.8-0.2L256,298.3z"/></svg>');
  background-size: 0.8em;
  background-repeat: no-repeat;
  background-position: calc(100% - 2em) center;
}
.hp__message {
  display: none;
}
.button {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 1ex 2ex;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  background: linear-gradient(90deg, #353d47 0%, #14171b 100%);
  background-size: 200%;
  border: 0;
  border-radius: 3px;
  transition: background 0.2s, color 0.2s;
  will-change: background, color;
  /* Barber Shop Style
    @stripe-size: 50px;
    &.is-loading {
        pointer-events: none;
        background-image:
            linear-gradient(
            -45deg,
            rgba( 255, 255, 255, .5 ) 25%,
            transparent 25%,
            transparent 50%,
            rgba( 255, 255, 255, .5 ) 50%,
            rgba( 255, 255, 255, .5 ) 75%,
            transparent 75%,
            transparent
        );
        background-size: @stripe-size @stripe-size;

        animation-fill-mode: both;
        animation: stripe 1.5s linear infinite;
    }
    @keyframes stripe {
        0% { background-position: 0 0; }
        100% { background-position: @stripe-size @stripe-size; }
    }
    /* */
  /* Spinner Style */
  /* */
}
a.button,
a.button:visited,
a.button:hover,
a.button:focus {
  color: #fff;
}
.button:hover,
.button:focus {
  background-position-x: -100%;
}
.button.is-loading {
  color: transparent;
}
.button.is-loading:focus,
.button.is-loading:hover {
  color: transparent;
}
.button.is-loading:after {
  content: '';
  pointer-events: none;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-top: -0.5em;
  margin-left: -0.5em;
  display: block;
  height: 1em;
  width: 1em;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin-around 0.5s infinite linear;
}
@keyframes spin-around {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.sign__arrow {
  display: inline-block;
  position: relative;
  visibility: hidden;
}
.sign__arrow::before,
.sign__arrow::after {
  content: '';
  display: block;
  position: absolute;
  visibility: visible;
  transform-origin: 50% 50%;
}
.sign__arrow::after {
  border: 0 solid #f7f9fa;
}
.sign__arrow--left::before,
.sign__arrow--right::before,
.sign__arrow--up::before,
.sign__arrow--down::before {
  background-color: #f7f9fa;
}
.sign__arrow--left::after,
.sign__arrow--right::after,
.sign__arrow--up::after,
.sign__arrow--down::after {
  width: 0.4em;
  height: 0.4em;
}
.sign__arrow--left,
.sign__arrow--right {
  width: 1em;
}
.sign__arrow--left::before,
.sign__arrow--right::before,
.sign__arrow--left::after,
.sign__arrow--right::after {
  top: 50%;
}
.sign__arrow--left::before,
.sign__arrow--right::before {
  width: 1em;
  height: 0.1em;
  transform: translateY(-50%);
}
.sign__arrow--left::after,
.sign__arrow--right::after {
  transform: translateY(-50%) rotate(45deg);
}
.sign__arrow--right::after {
  right: 0;
  border-top-width: 0.15em;
  border-right-width: 0.15em;
}
.sign__arrow--left::after {
  left: 0;
  border-left-width: 0.15em;
  border-bottom-width: 0.15em;
}
.sign__arrow--up,
.sign__arrow--down {
  height: 1em;
}
.sign__arrow--up::before,
.sign__arrow--down::before,
.sign__arrow--up::after,
.sign__arrow--down::after {
  left: 50%;
}
.sign__arrow--up::before,
.sign__arrow--down::before {
  top: 0;
  width: 0.15em;
  height: 1em;
  background-color: #f7f9fa;
  transform: translateX(-50%);
}
.sign__arrow--up::after,
.sign__arrow--down::after {
  width: 0.4em;
  height: 0.4em;
  transform: translateX(-50%) rotate(45deg);
}
.sign__arrow--up::before,
.sign__arrow--up::after {
  top: 0;
}
.sign__arrow--up::after {
  border-top-width: 0.15em;
  border-left-width: 0.15em;
}
.sign__arrow--down::before,
.sign__arrow--down::after {
  bottom: 0;
}
.sign__arrow--down::after {
  border-right-width: 0.15em;
  border-bottom-width: 0.15em;
}
.sign__arrow--gt,
.sign__arrow--lt {
  vertical-align: -0.1em;
  width: 1em;
  height: 1em;
}
.sign__arrow--gt::before,
.sign__arrow--lt::before {
  display: none;
}
.sign__arrow--gt::after,
.sign__arrow--lt::after {
  top: 50%;
  width: 0.6em;
  height: 0.6em;
}
.sign__arrow--gt::after {
  border-top-width: 0.15em;
  border-right-width: 0.15em;
  transform: translateY(-50%) rotate(45deg);
}
.sign__arrow--lt::after {
  border-left-width: 0.15em;
  border-bottom-width: 0.15em;
  transform: translateY(-50%) translateX(50%) rotate(45deg);
}
.sign__triangle__icon {
  vertical-align: 0.1em;
}
.sign__arrow--mt,
.sign__triangle--mt {
  margin-top: 1ex;
}
.sign__arrow--ml,
.sign__triangle--ml {
  margin-left: 1ex;
}
.sign__arrow--mr,
.sign__triangle--mr {
  margin-right: 1ex;
}
.sign__arrow--mb,
.sign__triangle--mb {
  margin-bottom: 1ex;
}
/*** basic layout ***/
.main {
  /* do a sweet fadein onload of the main content */
}
@media only screen and (min-width: 41em) {
  .main {
    animation: fadeIn 0.6s ease-in-out;
  }
}
@media (max-width: 59.99rem) {
  .main {
    margin-top: 11rem;
  }
}
@media (min-width: 60rem) {
  .main {
    margin-top: 8rem;
  }
}
@media (max-width: 40.99rem) {
  .main {
    margin-top: 0;
  }
}
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
.wrapper,
.footer__info {
  margin: 0 auto;
  padding: 0 1.5rem;
  max-width: 70rem;
}
@media (min-width: 72rem) {
  .wrapper,
  .footer__info {
    padding: 0;
  }
}
@media (min-width: 128rem) {
  .wrapper,
  .footer__info {
    max-width: 80rem;
  }
}
.wrapper--small {
  max-width: 50rem;
}
@media (min-width: 72rem) {
  .wrapper--small {
    padding: 0;
  }
}
.header {
  background: #fff;
  box-shadow: 0 0 3px -1px #000;
  width: 100%;
  align-items: center;
}
@media (min-width: 41rem) {
  .header {
    position: fixed;
    z-index: 15;
    top: 0;
  }
}
@media (min-width: 59.99em) {
  .header .wrapper {
    display: flex;
  }
}
@media (max-width: 40.99em) {
  .header .wrapper {
    justify-content: center;
  }
}
.header .navigation {
  width: 100%;
}
.logo {
  padding: 0.3rem 0.3rem 0.3rem 0;
}
@media (min-width: 41rem) {
  .not-scrolled .logo {
    padding: 1rem 1rem 0 0;
  }
}
.logo__visual {
  display: block;
  image-rendering: -webkit-optimize-contrast;
}
@media (max-width: 59.99em) {
  .logo__visual {
    margin: auto;
  }
}
.footer {
  position: relative;
  background: #353d47;
  margin-top: 4rem;
}
.footer a {
  color: #fff;
}
.footer__title {
  border-bottom: 1px solid #fff;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.footer__phone {
  position: fixed;
  bottom: 5rem;
  right: 0;
  z-index: 999;
}
@media (min-width: 41rem) {
  .footer__phone {
    display: none;
  }
}
.footer__icon {
  height: 5rem;
  width: 5rem;
  background-color: #be0000;
  padding: 1.5em;
  color: #fff;
}
.footer__info {
  font-size: 0.8em;
  color: #fff;
}
@media (max-width: 40.99rem) {
  .footer__info {
    padding: 1rem;
  }
}
@media (min-width: 41rem) {
  .footer__info {
    display: flex;
    justify-content: space-between;
  }
}
.footer__info .nav__list {
  margin-top: 0.5rem;
}
.footer__contact {
  display: block;
  position: relative;
  margin-bottom: 3rem;
}
.footer__contact__text {
  color: #fff;
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  display: none;
}
@media (min-width: 41rem) {
  .footer__contact__text {
    display: block;
  }
}
@media (min-width: 60rem) {
  .footer__contact__text {
    font-size: 1.953125rem;
  }
}
.footer__contact__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75%;
}
@media (min-width: 60rem) {
  .footer__contact__content {
    width: 50%;
  }
}
.footer__contact__content span {
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.5);
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1.25rem;
}
@media (min-width: 60rem) {
  .footer__contact__content span {
    padding: 1rem 0;
    font-size: 1.5625rem;
  }
}
.footer__contact__content .icon {
  margin-right: 1ex;
}
.footer__contact__content a {
  color: #353d47;
}
.footer__contact__image {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
}
@media (max-width: 40.99rem) {
  .footer__image {
    padding: 1rem 0;
  }
}
.footer__img {
  display: block;
  height: 100%;
  width: auto;
  max-height: 10rem;
}
@media (min-width: 41rem) {
  .footer__img {
    height: 100%;
    width: auto;
    max-height: 20rem;
  }
}
.footer__address {
  margin-bottom: 1rem;
}
.footer__address__title {
  font-size: 1.5625em;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.footer__address__name {
  font-size: 1.25em;
  margin-bottom: 0.5rem;
}
.footer__address .icon {
  margin-right: 1ex;
}
.footer__address span {
  display: block;
}
@media (max-width: 40.99rem) {
  .footer__address__social {
    padding: 1rem 0;
  }
}
.footer__address__social .icon {
  font-size: 2rem;
}
.footer .elevator {
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  height: 2em;
  min-width: 2em;
  padding: 0 1ex;
  z-index: 99;
  line-height: 2em;
  text-align: center;
  border-radius: 3em;
  color: #fff;
  background: #353d47;
  white-space: nowrap;
}
.footer .elevator .icon {
  height: 2em;
}
.footer .elevator .label {
  display: inline-block;
  overflow: hidden;
  max-width: 0;
  transition: max-width 0.5s, padding 0.5s;
}
.footer .elevator:hover .label {
  max-width: 6em;
  padding-left: 1ex;
}
.main-menu {
  /*
        Drop Down
     */
  /*
        Basics
     */
}
.main-menu__dd__flag {
  display: none;
}
.main-menu__dd__trigger {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  width: 6em;
  height: 6em;
  line-height: 6;
  text-align: center;
}
.main-menu__dd__icon {
  position: relative;
  display: block;
  height: 3em;
  opacity: 0.5;
}
.main-menu__dd__icon:before,
.main-menu__dd__icon:after {
  content: '';
  display: block;
  position: absolute;
  width: 0.4em;
  height: 1px;
  background-color: currentColor;
  top: 50%;
  left: 50%;
  transition: transform 0.2s ease;
}
.main-menu__dd__icon:before {
  transform: translate(-80%, -50%) rotate(50deg);
}
.main-menu__dd__icon:after {
  transform: translate(-20%, -50%) rotate(-50deg);
}
.main-menu__dd__flag:checked ~ .main-menu__dd__trigger .main-menu__dd__icon {
  opacity: 1;
}
.main-menu__dd__flag:checked ~ .main-menu__dd__trigger .main-menu__dd__icon:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.main-menu__dd__flag:checked ~ .main-menu__dd__trigger .main-menu__dd__icon:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.main-menu a {
  display: block;
}
.main-menu__item {
  position: relative;
}
.main-menu__submenu__item {
  position: relative;
}
@media only screen and (max-width: 40.99em) {
  /*
    @import 'navigation-oc2';
    @import 'navigation-oc';
    */
  .navigation {
    /**
     * Overlay for small screens
     */
    position: fixed;
    z-index: 500;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow-y: scroll;
    padding: 0 15%;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.95) 100%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease 0s, visibility 0s ease 0.5s;
    will-change: opacity, visibility;
  }
  .navigation__trigger {
    display: block;
    position: fixed;
    z-index: 499;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 0 10px;
    font-weight: 400;
    line-height: 3;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    background: #353d47;
  }
  .navigation__icon {
    position: relative;
    margin-top: 0.3em;
    margin-bottom: 0.3em;
    user-select: none;
    margin-right: 1ex;
    font-size: 1.25em;
  }
  .navigation__icon,
  .navigation__icon:before,
  .navigation__icon:after {
    display: inline-block;
    width: 1em;
    height: 0.1em;
    background-color: #fff;
    transition-property: background-color, transform;
    transition-duration: 0.3s;
    will-change: background-color, transform;
  }
  .navigation__icon:before,
  .navigation__icon:after {
    content: '';
    position: absolute;
    display: block;
  }
  .navigation__icon:before {
    top: -0.3em;
  }
  .navigation__icon:after {
    top: 0.3em;
  }
  .navigation__flag:checked + .navigation__trigger .navigation__icon {
    background-color: transparent;
  }
  .navigation__flag:checked + .navigation__trigger .navigation__icon:before,
  .navigation__flag:checked + .navigation__trigger .navigation__icon:after {
    background-color: #fff;
  }
  .navigation__flag:checked + .navigation__trigger .navigation__icon:before {
    transform: translateY(0.3em) rotate(45deg);
  }
  .navigation__flag:checked + .navigation__trigger .navigation__icon:after {
    transform: translateY(-0.3em) rotate(-45deg);
  }
  .navigation__flag:checked ~ .navigation {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease 0s;
  }
  .navigation__flag:checked ~ .navigation__trigger {
    position: fixed;
    z-index: 501;
    color: #fff;
  }
  .navigation__flag:checked ~ .navigation .main-menu {
    opacity: 1;
    transform: rotateX(0deg);
  }
  .main-menu {
    /**
     * Navi Definition
     */
    padding: 4em 0;
    opacity: 0.4;
    transform: translateX(-100%);
    transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
    will-change: transform;
  }
  .main-menu__item {
    color: #fff;
    font-weight: 200;
  }
  .main-menu__item + .main-menu__item {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .main-menu__item a {
    display: block;
    padding: 0.8em;
    font-size: 1.2em;
    line-height: 1;
    color: #fff;
  }
  .main-menu__dd__trigger {
    font-size: 1.1em;
  }
  .main-menu__item--active > a {
    position: relative;
    text-shadow: 0 0 3px #000;
  }
  .main-menu__item--active > a:before {
    content: '';
    position: absolute;
    left: -0.15em;
    top: 1.25em;
    width: 0.3em;
    height: 0.3em;
    border: 0 solid #fff;
    border-top-width: 1px;
    border-right-width: 1px;
    transform: rotate(45deg);
  }
  .main-menu__dd__flag:checked ~ .main-menu__submenu {
    height: auto;
    transform: scaleY(1);
    margin-bottom: 0.8em;
    opacity: 1;
  }
  .main-menu__submenu {
    height: 0;
    transform: scaleY(0);
    padding-left: 1em;
    transform-origin: top;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.2s, transform 0.2s, margin-bottom 0.2s;
  }
  .main-menu__submenu__item {
    position: relative;
  }
}
@media only screen and (min-width: 41em) {
  /**
 * Navigation for larger screens
 */
  .main-menu {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    font-size: 0.9em;
  }
  .has-touch .main-menu__dd__trigger {
    margin-right: -2em;
  }
  .no-touch .main-menu__dd__trigger,
  .no-touch .main-menu__dd__dd__icon {
    display: none;
  }
  .main-menu__item {
    display: inline-block;
  }
  .no-js .main-menu__item {
    margin-left: 0;
  }
  .main-menu__item > a {
    position: relative;
    padding: 0 0.4em;
    white-space: nowrap;
    text-transform: uppercase;
    color: #353d47;
    transition: background 0.2s ease;
    /* Fade in from above
            &:before {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                width: 100%;
                height: 0;
                opacity: 0;
                transform: translateY(-.5em);
                border-top: 3px solid @brand-color;
                transition-property: opacity, transform;
                transition-duration: .3s;
                transition-delay: 0, .1s;
            }
            */
    /* Curyl from right
            &:before {
                content: '';
                position: absolute;
                bottom: 0;
                right: 0;
                width: 0%;
                height: 0;
                opacity: 0;
                border-top: 3px solid @brand-color-alt;
                transition-property: opacity, width;
                transition-duration: .2s;
                transition-delay: 0, .1s;
                transition-timing-function: cubic-bezier( .25, .25, .325, 1.39 );
            }
            /* */
    /* Curyl from left */
  }
  .main-menu__item > a:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
    border-top: 3px solid #1782c5;
    transition-property: opacity, width;
    transition-duration: 0.2s;
    transition-delay: 0, 0.1s;
    transition-timing-function: cubic-bezier(0.25, 0.25, 0.325, 1.39);
  }
  .has-touch .main-menu__item--parent > a {
    padding-right: 3em;
  }
  .main-menu__link:focus,
  .main-menu__item:hover > a,
  .main-menu__item--active > a,
  .main-menu__item--parent--active > a,
  .main-menu__item--ancestor--active > a {
    color: #334046;
  }
  .main-menu__link:focus:before,
  .main-menu__item:hover > a:before,
  .main-menu__item--active > a:before,
  .main-menu__item--parent--active > a:before,
  .main-menu__item--ancestor--active > a:before {
    opacity: 1;
    /* from above
            transform: translateY(0);
            */
    /* curly */
    width: 100%;
  }
  .main-menu__item--active > a:before,
  .main-menu__item--parent--active > a:before,
  .main-menu__item--ancestor--active > a:before {
    border-color: #c9ced4;
  }
  .main-menu__link:focus ~ .main-menu__submenu,
  .main-menu__item:hover .main-menu__submenu,
  .main-menu__item:focus .main-menu__submenu,
  .main-menu__dd__flag:checked ~ .main-menu__submenu {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .main-menu__dd__flag:checked ~ .menu__dd__trigger {
    box-shadow: 0 -3px 0 0 #353d47 inset;
  }
  .main-menu__submenu {
    position: absolute;
    z-index: 10;
    min-width: 100%;
    margin: 0;
    padding: 0.5em 0;
    text-align: left;
    background: #fff;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    pointer-events: none;
    opacity: 0;
    transform: translateY(-0.3em);
    transition-property: opacity, transform;
    transition-duration: 0.3s;
    transition-delay: 0, 0.1s;
  }
  .main-menu__submenu__item a {
    padding: 0.5em 1em;
  }
  .main-menu__submenu__item--active a {
    font-weight: 700;
  }
}
@media only screen and (min-width: 41em) and (max-width: 59.99em) {
  .main-menu {
    padding-bottom: 2rem ;
  }
}
@media only screen and (min-width: 41em) and (min-width: 60em) {
  .main-menu {
    justify-content: flex-end;
  }
}
@media only screen and (min-width: 41em) and (min-width: 60em) {
  .main-menu__item > a {
    line-height: 6rem;
  }
}
/**
 * Maximize space usage
 */
/*
@media only screen and (min-width: unit(@bp-wide, em)) and (max-width: 79.99em) {
    .menu {
        justify-content: flex-end;
        padding-top: .5em;
        text-align: right;
    }
}
*/
@media only screen and (min-width: 60em) {
  .main-menu {
    font-size: 1em;
  }
}
.sidebar {
  position: relative;
  padding: 1em 1em 3em;
  background: #e6e7e7;
}
@media only screen and (min-width: 36em) {
  .sidebar {
    padding: 2em 2em 3em;
  }
}
@media only screen and (min-width: 60em) {
  .sidebar {
    align-self: flex-end;
    margin-top: 3em;
    padding: 2em;
    z-index: 2;
  }
}
@media only screen and (min-width: 51em) {
  .sidebar {
    padding: 3em;
  }
}
.sidebar__widgets {
  width: 100%;
  text-align: center;
}
@media only screen and (min-width: 40em) {
  .sidebar__widgets {
    display: flex;
    justify-content: center;
  }
}
.sidebar .search__submit {
  display: none;
}
.widget {
  text-align: left;
  color: #969a9e;
  background: #fff;
  border-radius: 5px;
  overflow: hidden;
}
.widget__title {
  display: inline-block;
  width: 35%;
  padding: 0 1ex;
  white-space: nowrap;
  line-height: 2;
  border-right: 1px solid #c9ced4;
}
.widget--archive .widget__title:before {
  content: '\23F0';
}
.widget--categories .widget__title:before {
  content: '\2661';
}
.widget--search .widget__title:before {
  content: '\2315';
}
.widget .dropdown,
.widget .search__field {
  padding: 0;
  height: 2em;
  line-height: 2em;
  border: none;
}
.widget .search__field {
  width: 100%;
}
@media only screen and (max-width: 39.99em) {
  .widget + .widget {
    margin-top: 1em;
  }
  .widget .dropdown,
  .widget .search__form {
    width: 63%;
  }
}
@media only screen and (min-width: 40em) and (max-width: 58.99em) {
  .widget {
    display: inline-block;
    width: 30%;
    margin: 0 1%;
    text-align: center;
  }
  .widget__title {
    width: 50%;
    border-right: 0;
    border-bottom: 1px solid #c9ced4;
  }
  .widget .dropdown,
  .widget .search__form {
    width: 100%;
    text-align: center;
    vertical-align: top;
  }
  .widget .search__field {
    text-align: center;
  }
  .widget .dropdown option {
    text-align: left;
  }
}
@media only screen and (min-width: 59em) {
  .widget {
    display: inline-block;
    margin: 0 1ex;
  }
  .widget__title {
    width: auto;
  }
  .widget .dropdown,
  .widget .search__form {
    width: 11em;
    vertical-align: top;
  }
}
/*** modules ***/
.article + .article {
  padding-top: 3rem;
  display: block;
}
@media (min-width: 41rem) {
  .article + .article {
    margin-top: 3rem;
  }
}
.article + .article .article__header.no-thumb {
  margin-top: 0;
}
.article__content {
  padding-bottom: 3rem;
}
.article__content .link {
  color: #353d47;
  text-decoration: none;
}
.article__content a[href]:not([class]) {
  color: #353d47;
  text-decoration: none;
}
.article--frontpage {
  background-color: #353d47;
  color: #fff;
}
.article--frontpage .link {
  color: #969a9e;
  text-decoration: none;
}
.article--frontpage a[href]:not([class]) {
  color: #969a9e;
  text-decoration: none;
}
.article__logo {
  display: block;
  width: 100%;
  height: auto;
}
.article--customer {
  background-color: #353d47;
  padding-bottom: 3rem;
}
.article__thumbnail {
  display: block;
  position: relative;
  overflow: hidden;
}
.article__thumbnail__title {
  padding: 1.5rem;
  box-shadow: 2px 2px 4px #00000040;
  position: relative;
  text-align: left;
  font-size: 1.5625em;
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}
@media (min-width: 50rem) {
  .article__thumbnail__title {
    padding: 1rem;
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 5px;
    z-index: 9;
  }
}
.article__thumbnail__contact {
  background-color: #fff;
  font-size: 1em;
  flex-grow: 1;
}
.article__thumbnail__contact__title {
  font-size: 1.5em;
  background-color: #979797;
  color: #fff;
  height: 5rem;
  line-height: 3.5em;
  padding: 0 1em;
}
.article__thumbnail__contact p {
  font-size: 1.3em;
  padding: 0.8em 0.8em 0;
}
.article__thumbnail__contact p a .icon {
  margin-right: 0.5rem;
}
.article__thumbnail__contact p:last-of-type {
  padding-bottom: 0.8rem;
}
.article__thumbnail__textbox {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
  z-index: 9;
}
@media (min-width: 50rem) {
  .article__thumbnail .active {
    color: #fff;
    top: 50%;
    transform: translate(0, -50%);
    transition: transform 3s ease;
    left: 2rem;
  }
}
.article__thumbnail__text {
  text-shadow: 5px 3px 2px #000;
  font-size: 3.05175781rem;
}
.article__thumbnail__mail {
  display: none;
  position: fixed;
  top: 13em;
  right: 0;
  width: 26em;
  transform: translateX(21em);
  transition: transform 0.5s;
  z-index: 999;
}
.article__thumbnail__mail:hover {
  transform: translateX(0);
}
@media (min-width: 41rem) {
  .article__thumbnail__mail {
    display: flex;
  }
}
.article__thumbnail__mail .icon__mail {
  background-color: #be0000;
  padding: 1.5em;
  color: #fff;
  height: 5em;
  width: 5em;
}
.article__thumbnail .wp-post-image,
.article__thumbnail__img,
.article__thumbnail__img img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 70em) {
  .article__thumbnail .wp-post-image,
  .article__thumbnail__img,
  .article__thumbnail__img img {
    max-width: 100%;
  }
}
@media (min-width: 50rem) {
  .article__thumbnail + .article__header {
    margin-top: 3rem;
  }
}
.article__header.no-thumb {
  margin-top: 5rem;
}
.article__title {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.1;
  color: #353d47;
  text-align: center;
}
@media (min-width: 50rem) {
  .article__title {
    font-size: 1.953125em;
  }
}
.article__subtitle {
  margin-top: 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: #353d47;
}
@media (max-width: 49.99rem) {
  .article__subtitle {
    text-align: center;
  }
}
.article__summary .read-on {
  display: block;
  padding-top: 0.5rem;
}
.slider {
  position: relative;
  margin-top: 3rem;
}
.slider__list {
  display: flex;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.no-js .slider__list {
  flex-wrap: wrap;
  justify-content: center;
}
.js .slider__list {
  flex-wrap: nowrap;
  height: 13rem;
}
.js .slider--brand .slider__list {
  height: 11rem;
}
.slider__item {
  width: 100%;
  text-align: center;
}
.js .slider__item {
  position: absolute;
  transition: transform 0.3s;
  transform: translateX(-300%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.js .slider__item--activ {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
@media (min-width: 33rem) {
  .js .slider__item--next,
  .js .slider__item--prev {
    opacity: 0.5;
    visibility: visible;
    pointer-events: all;
  }
  .js .slider__item--next:hover,
  .js .slider__item--prev:hover {
    opacity: 1;
  }
}
@media (min-width: 60rem) {
  .js .slider__item--next--2,
  .js .slider__item--prev--2 {
    opacity: 0.2;
    visibility: visible;
    pointer-events: all;
  }
  .js .slider__item--next--2:hover,
  .js .slider__item--prev--2:hover {
    opacity: 1;
  }
}
.js .slider__item--prev {
  transform: translateX(-100%);
}
.js .slider__item--prev--2 {
  transform: translateX(-200%);
}
.js .slider__item--prev--3 {
  transform: translateX(-300%);
}
.js .slider__item--next {
  transform: translateX(100%);
}
.js .slider__item--next--2 {
  transform: translateX(200%);
}
.js .slider__item--next--3 {
  transform: translateX(300%);
}
@media (min-width: 33rem) {
  .slider__item {
    width: 33.33%;
  }
}
@media (min-width: 60rem) {
  .slider__item {
    width: 20%;
  }
}
.slider__item__text {
  margin-top: 1em;
  font-weight: 700;
  font-style: italic;
  text-transform: uppercase;
}
@media (min-width: 33rem) {
  .slider__item__text {
    font-size: 1.25em;
  }
}
.slider__link {
  display: block;
  padding: 2rem;
}
.slider__link:hover {
  color: #969a9e;
}
.slider__img {
  width: 100%;
  height: auto;
}
.slider__btn {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 1rem;
  height: 1rem;
  padding: 0;
  border: 0 solid #353d47;
  border-top-width: 2px;
  border-right-width: 2px;
  transform-origin: 50%, 50%;
  transform: translateY(-50%);
  border-color: #353d47;
}
.slider__btn--next {
  right: 1rem;
  transform: translateY(-50%) rotate(45deg);
}
@media (min-width: 72rem) {
  .slider__btn--next {
    right: 0;
  }
}
.slider__btn--prev {
  left: 1rem;
  transform: translateY(-50%) rotate(-135deg);
}
@media (min-width: 72rem) {
  .slider__btn--prev {
    left: 0;
  }
}
.no-js .slider__btn {
  display: none;
  visibility: hidden;
}
.factsheet {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 3rem;
}
@media (min-width: 41rem) {
  .factsheet {
    justify-content: space-between;
  }
}
.factsheet__item {
  min-width: 10em;
  max-width: 16em;
  margin: 1em;
  text-align: center;
}
.factsheet__icon {
  font-size: 3rem;
}
.factsheet .fact {
  font-size: 3.05175781rem;
  color: #1782c5;
}
.factsheet .desc {
  font-size: 1.5625rem;
}
.factsheet__fact {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 2em;
  color: #353d47;
}
.factsheet__fact .prefix,
.factsheet__fact .suffix {
  font-weight: 200;
  letter-spacing: -0.04em;
}
.products__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.5rem;
}
.products__list .product {
  position: relative;
  width: 100%;
  margin: 1rem 0.5rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);
}
@media (min-width: 41rem) {
  .products__list .product {
    width: calc(50% - 1rem);
  }
}
@media (min-width: 60rem) {
  .products__list .product {
    width: calc(33.33% - 1rem);
  }
}
.products__list .product:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.32);
}
.products__list .product__image {
  display: block;
  width: 100%;
  height: auto;
}
.products__list .product__content .title {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 1.5rem 0;
  color: #353d47;
  text-align: center;
  width: 100%;
  font-size: 1.5625rem;
  z-index: 10;
  color: #334046;
}
.product__title {
  font-size: 1.5625rem;
  margin-bottom: 1rem;
}
@media (min-width: 41rem) {
  .product__title {
    font-size: 2.44140625rem;
  }
}
@media (min-width: 60rem) {
  .productItems {
    display: flex;
    justify-content: space-between;
  }
}
.productItems__item {
  width: 100%;
  margin-bottom: 1rem;
}
@media (min-width: 60rem) {
  .productItems__item {
    width: calc(33.33% - 1rem);
  }
}
.productItems__image {
  position: relative;
}
.productItems__icon {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.productItems__icon .icon {
  transform: rotate(180deg);
}
.productItems__flag:checked ~ .productItems__description {
  height: auto;
  transform: scaleY(1);
  opacity: 1;
  padding-top: 1em;
  padding-bottom: 1em;
  transition: padding 0.1s;
}
.productItems__descriptionItem {
  text-align: center;
  margin: auto;
  padding: 0.5rem;
  border-bottom: 1px solid #e9edf2;
}
.productItems__descriptionItem:hover {
  background-color: #e9edf2;
  transition: all 0.2s;
}
.productItems__flag:checked ~ .productItems__image .icon {
  transform: rotate(0);
  transition: transform 0.3s;
}
.productItems__price {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 1.5rem 0;
  color: #353d47;
  text-align: center;
  width: 100%;
  font-size: 1.5625rem;
  z-index: 10;
  color: #334046;
  text-transform: uppercase;
}
.productItems__description {
  height: 0;
  overflow: hidden;
  padding-left: 1em;
  padding-right: 1em;
  transform: scaleY(0);
  transform-origin: top;
  background: #fff;
  border: 1px solid #e9edf2;
  border-top: 0;
  opacity: 0;
  transition: opacity 0.2s, transform 0.2s, padding 0.2s;
}
.productItems__img {
  display: block;
  width: 100%;
  height: auto;
}
.header_slider {
  display: none;
  position: relative;
  width: 100%;
  overflow: hidden;
  transition: height 0.5s ease-in-out;
}
@media (min-width: 41rem) {
  .header_slider {
    display: block;
  }
}
.header_slider .header_slider__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  pointer-events: none;
}
.header_slider .header_slider__item.active {
  opacity: 1;
  transform: scale(1);
  pointer-events: all;
  z-index: 2;
}
.header_slider .header_slider__item .header_slider__text--box {
  width: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fbf9ed;
  color: #353d47;
}
.header_slider .header_slider__item__text {
  margin: auto;
}
.header_slider .header_slider__item .header_slider__image {
  width: 60%;
  overflow: hidden;
}
.header_slider .header_slider__item .header_slider__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  transform: scale(1.05);
  transition: transform 3s ease-in-out;
}
.header_slider .header_slider__item.active .header_slider__image img {
  transform: scale(1);
}
/*** blog ***/
/**
 * Blog relevant styles
 */
.blog .article__header--blog + .article {
  margin-top: 3rem;
}
/**
 * We extend the article module with blog relevant stuff
 */
.article {
  /* tags */
}
.article__meta {
  margin-bottom: 1ex;
  font-size: 0.7em;
  text-transform: uppercase;
}
.article__meta a {
  color: #969a9e;
}
.article__meta a:hover,
.article__meta a:focus {
  color: #1782c5;
}
.article__meta > span {
  margin-right: 1em;
}
footer.article__meta {
  margin: 2em 0 0;
}
.article__meta__edit a:before,
.article__meta__comments a:before,
.article__meta__date a:before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 1ex;
}
.article__meta__date a:before {
  background-image: url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E%3Csvg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"%3E%3Cpath style="fill:%23353d47" d="M14.5,1.5h-1.5V0h-1.5v3.6h-1.5V1.5H5.8V0H4.4v3.6H2.9V1.5H1.5C0.7,1.5,0,2.1,0,2.9v10.9c0,0.8,0.7,1.5,1.5,1.5h13.1 c0.8,0,1.5-0.7,1.5-1.5V2.9C16,2.1,15.3,1.5,14.5,1.5z M5.1,13.1H2.2v-2.9h2.9V13.1z M5.1,8.7H2.2V5.8h2.9V8.7z M9.5,13.1H6.5v-2.9 h2.9V13.1z M9.5,8.7H6.5V5.8h2.9V8.7z M13.8,8.7h-2.9V5.8h2.9V8.7z"/%3E%3C/svg%3E%0A');
}
.article__meta__edit a:before {
  background-image: url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E%3Csvg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"%3E%3Cpath style="fill:%23353d47" d="M8.8,2.6l4.6,4.6l-6.9,6.9L1.9,9.5L8.8,2.6z M15.1,0.9c-1.3-1.3-3.3-1.3-4.6,0L9.9,1.5l4.6,4.6l0.6-0.6 C16.3,4.2,16.3,2.2,15.1,0.9z M0,15c-0.1,0.3,0,0.6,0.2,0.8C0.4,16,0.7,16,1,16l4.1-1l-4.1-4.1L0,15z"/%3E%3C/svg%3E%0A');
}
.article__meta__comments a:before {
  background-image: url('data:image/svg+xml,%3C%3Fxml version="1.0" encoding="utf-8"%3F%3E%3Csvg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"%3E%3Cpath style="fill:%23353d47" d="M14.4,0H1.6C0.7,0,0,0.7,0,1.6v9.6c0,0.9,0.7,1.6,1.6,1.6h0.8V16l3.2-3.2h8.8c0.9,0,1.6-0.7,1.6-1.6V1.6 C16,0.7,15.3,0,14.4,0z M4.8,7.2H3.2V5.6h1.6V7.2z M8.8,7.2H7.2V5.6h1.6V7.2z M12.8,7.2h-1.6V5.6h1.6V7.2z"/%3E%3C/svg%3E%0A');
}
.article__categories {
  font-weight: 700;
}
.article__categories a {
  color: #334046;
}
.article__tags a {
  position: relative;
  display: inline-block;
  margin: 0 0.7em 0.5em;
  padding: 0.3em 0.6em 0.3em 1em;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #fff;
  background-color: #888;
  border-radius: 0 2px 2px 0;
}
.article__tags a:focus,
.article__tags a:hover {
  color: #fff;
  background-color: #353d47;
}
.article__tags a:before {
  content: '';
  position: absolute;
  left: -0.9ex;
  top: 0;
  height: 0;
  width: 0;
  border-top: 0.82em solid transparent;
  border-right: 1ex solid #888;
  border-bottom: 0.82em solid transparent;
}
.article__tags a:focus:before,
.article__tags a:hover:before {
  border-right-color: #353d47;
}
.article__tags a:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0.56em;
  height: 0.4em;
  width: 0.4em;
  background-color: #fff;
  border-radius: 50%;
}
/*
 * Post pagination
 */
.pager {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  text-align: center;
}
.pager__wrap {
  text-align: center;
}
.pager__item {
  display: none;
  margin: 0 0.1em;
}
.pager a {
  display: inline-block;
  width: 2em;
  height: 2em;
  text-align: center;
  text-decoration: none;
  line-height: 2em;
  color: #353d47;
  border-radius: 5px;
  border-radius: 0.3rem;
  background: #fff;
  transition-property: background-color;
  transition-duration: 0.2s;
}
.pager a:focus,
.pager a:hover {
  color: #222;
  background: #dedede;
}
.pager__num {
  line-height: 1.8em;
  vertical-align: 0.05em;
}
.pager__button {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager__icon {
  display: block;
  position: relative;
  width: 2em;
  height: 2em;
}
.pager__icon::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5em;
  height: 0.5em;
  border: 0 solid #353d47;
  border-right-width: 1px;
  border-bottom-width: 1px;
  transform-origin: 50% 50%;
}
.pager__icon--first::before,
.pager__icon--last::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 0;
  height: 0.75em;
  border-left: 1px solid #353d47;
  transform: translate(-50%, -50%);
  transform-origin: 50% 50%;
}
.pager__icon--first::after,
.pager__icon--prev::after {
  transform: translate(-30%, -50%) rotate(135deg);
}
.pager__icon--first::before,
.pager__icon--prev::before {
  left: 0.7em;
}
.pager__icon--last::after,
.pager__icon--next::after {
  transform: translate(-70%, -50%) rotate(-45deg);
}
.pager__icon--last::before,
.pager__icon--next::before {
  right: 0.7em;
}
.pager__item--active a {
  color: #fff;
  background: #353d47;
}
.pager__item {
  display: inline;
}
.post-navigation {
  clear: both;
  margin-top: 3rem;
}
.post-navigation__links {
  border-top: 1px solid #c9ced4;
  border-bottom: 1px solid #c9ced4;
}
.post-navigation a {
  display: block;
  width: 100%;
  margin-bottom: -1px;
  padding: 1em 0;
  font-size: 0.9em;
  border-bottom: 1px solid #c9ced4;
}
.post-navigation__caption {
  display: block;
  font-size: 0.8em;
  font-weight: 700;
  line-height: 2;
  text-transform: uppercase;
  color: #969a9e;
}
@media (min-width: 33rem) {
  .post-navigation a {
    float: left;
    width: 50%;
    border: none;
  }
  .post-navigation a[rel='next'] {
    float: right;
    text-align: right;
  }
}
/*** misc. modules ***/
.alert,
.wpcf7-mail-sent-ok,
.wpcf7-validation-errors {
  padding: 1em;
  background: #1e2a4a;
  line-height: 1.2;
  color: #fff;
  border-radius: 5px;
  border-radius: 0.3rem;
  /* stylelint-disable */
  /* stylelint-enable */
}
.alert:empty {
  display: none;
}
.alert a {
  color: inherit;
}
.alert--success,
.alert.success,
.wpcf7-mail-sent-ok {
  color: #fff;
  background: #32b643;
}
.alert--warning,
.alert.warning {
  color: #fff;
  background: #e67e22;
}
.alert--error,
.alert.error,
.wpcf7-validation-errors {
  color: #fff;
  background: #c0392b;
}
.search__form {
  margin-top: 1rem;
}
.search__form,
.search__label {
  display: inline-block;
}
.search__field,
.search__submit {
  display: inline-block;
  padding: 0.8rem 1rem;
  line-height: 1rem;
}
.search__submit {
  margin-left: 1ex;
}
/*** shortcodes ***/
.attribution__flag {
  display: none;
}
.attribution__trigger {
  font-size: 0.8em;
}
.attribution__trigger:after {
  padding-left: 1ex;
  speak: none;
  content: '\25BE';
}
.attribution__content {
  height: 0;
  transform: scaleY(0);
  padding-top: 0.5em;
  transform-origin: top;
  overflow: hidden;
  opacity: 0;
  font-size: 0.9em;
  transition: opacity 0.2s, transform 0.2s;
}
.attribution__flag:checked ~ .attribution__trigger:after {
  content: '×';
}
.attribution__flag:checked ~ .attribution__content {
  height: auto;
  transform: scaleY(1);
  opacity: 1;
}
@media only screen and (min-width: 40em) {
  .u-column {
    column-count: 2;
    column-gap: 3em;
  }
}
.download a {
  display: inline-block;
  padding: 10px;
  text-decoration: none;
  border: 1px solid;
  border-radius: 5px;
  transition: background-color 0.3s;
}
.download a:hover {
  color: #fff;
  border-color: #1782c5;
  background: #1782c5;
}
.extend__flag {
  display: none;
}
.extend__trigger {
  position: relative;
  display: block;
  padding: 1em;
  padding-right: 2.5em;
  background: #e9edf2;
  font-size: 1.25rem;
  font-weight: 700;
}
.extend__trigger:after {
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  speak: none;
  content: '\25BE';
}
.extend__content {
  height: 0;
  overflow: hidden;
  padding-left: 1em;
  padding-right: 1em;
  transform: scaleY(0);
  transform-origin: top;
  background: #fff;
  border: 1px solid #e9edf2;
  border-top: 0;
  opacity: 0;
  transition: opacity 0.2s, transform 0.2s, padding 0.2s;
}
.extend__flag:checked ~ .extend__trigger:after {
  content: '×';
}
.extend__flag:checked ~ .extend__content {
  height: auto;
  transform: scaleY(1);
  opacity: 1;
  padding-top: 1em;
  padding-bottom: 1em;
  transition: padding 0.1s;
}
.map {
  height: 325px;
  margin-bottom: -25px;
}
.map__interactive {
  position: relative;
  overflow: hidden;
}
.map__fallback {
  position: absolute;
  overflow: hidden;
}
.map__fallback img {
  display: block;
  width: 100%;
  height: auto;
}
.map__wrap {
  position: relative;
}
.map__wrap .button {
  position: absolute;
  right: 10px;
  bottom: 10px;
}
@media only screen and (min-width: 600px) {
  .map__fallback {
    width: 100%;
  }
}
.tipp {
  padding: 1em;
  border: 1px solid #353d47;
}
.tipp--solid {
  color: #fff;
  background: #353d47;
  border: 0;
}
.tipp--solid a {
  color: #fff;
}
.tipp--solid .text-link {
  text-shadow: 0.03em 0 #353d47, -0.03em 0 #353d47, 0 0.03em #353d47, 0 -0.03em #353d47, 0.06em 0 #353d47, -0.06em 0 #353d47, 0.09em 0 #353d47, -0.09em 0 #353d47, 0.12em 0 #353d47, -0.12em 0 #353d47, 0.15em 0 #353d47, -0.15em 0 #353d47;
  background-image: linear-gradient(to bottom, currentColor, currentColor);
  background-repeat: repeat-x;
  background-size: 0.06em 0.06em;
  background-position: 0 96%;
}
/*** media ***/
.gallery {
  margin-top: 2em;
  margin-bottom: 2em;
}
.gallery__item {
  position: relative;
}
.gallery__item a {
  cursor: zoom-in;
}
.gallery__image {
  display: block;
  width: 100%;
  height: auto;
}
.gallery--default {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  text-align: center;
}
.gallery--default .gallery__item {
  display: inline-block;
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 25em) {
  .gallery--default {
    justify-content: center;
  }
  .gallery--default .gallery__item {
    margin: 0.5em;
  }
}
.gallery_default figcaption {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(255, 255, 255, 0.8);
  padding: 1.5rem 0;
  color: #353d47;
  text-align: center;
  width: 100%;
  z-index: 10;
  height: auto;
}
@media (min-width: 41rem) {
  .gallery_default figcaption {
    font-size: 1.953125rem;
  }
}
/* list gallery with captions */
.gallery--list .gallery__item {
  display: table;
  width: 100%;
  margin: 1em 0;
}
.gallery--list .gallery__icon,
.gallery--list .gallery__caption {
  vertical-align: top;
  display: table-cell;
}
.gallery--list .gallery__icon {
  width: 60px;
}
.gallery--list .gallery__caption {
  padding-left: 1em;
  font-size: 0.9em;
}
@media (min-width: 25rem) {
  .gallery--list .gallery__icon {
    width: 150px;
  }
  .gallery--list .gallery__caption {
    vertical-align: middle;
    font-size: 1em;
  }
}
.gallery--column {
  text-align: center;
}
.gallery--column .gallery__item + .gallery__item {
  margin-top: 1em;
}
.gallery--column .gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1ex;
  font-size: 0.8em;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
}
.gallery--column[data-caption='true'] .gallery__item > a[title] {
  position: relative;
  display: block;
}
.gallery--column[data-caption='true'] .gallery__item > a[title]::after {
  content: attr(title);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1ex;
  font-size: 0.8em;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
}
@media (min-width: 40rem) {
  .gallery--column {
    column-count: 2;
    column-gap: 1em;
  }
}
.LB {
  cursor: zoom-in;
}
.LB--hint {
  display: inline-block;
  position: relative;
  /* circle
        &::after {
            speak: none;
            content: '\2795';
            position: absolute;
            top: .5em;
            left: .5em;
            width: 1.5em;
            height: 1.5em;
            line-height: 1.5;
            text-align: center;
            color: #fff;
            background: @brand-color;
            border-radius: 50%;
        }
        /**/
  /**/
}
.LB--hint::after {
  speak: none;
  content: '+';
  position: absolute;
  top: 0;
  left: 0.1em;
  line-height: 1;
  font-size: 0.9em;
  color: #fff;
}
.LB--hint::before {
  speak: none;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.5em 1.5em 0 0;
  border-color: #353d47 transparent transparent;
}
/*** pages ***/
@media (max-width: 40.99rem) {
  .home .content--frontpage {
    display: none;
  }
}
@media (max-width: 41rem) {
  .home .article__title {
    margin-bottom: 0.5em;
    text-align: left;
    font-size: 1.5625em;
    font-weight: 400;
    line-height: 1.1;
    color: #fff;
  }
  .home .article__subtitle {
    font-size: 1.25em;
    font-weight: 700;
    color: #fff;
  }
  .home .article__header {
    margin-top: 0;
  }
}
@media (min-width: 41rem) {
  .home .article__thumbnail .header_slider {
    display: block;
  }
}
@media (max-width: 41rem) {
  .home .article__thumbnail .article__thumbnail__img {
    display: block;
  }
}
@media (min-width: 41rem) {
  .home .article__thumbnail .article__thumbnail__img {
    display: none;
  }
}
.archive__header {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.archive__title {
  font-size: 1.5625em;
}
@media (min-width: 41rem) {
  .archive__title {
    font-size: 1.953125rem;
  }
}
.archive__title q {
  color: #353d47;
  font-weight: 700;
}
.search__needle {
  padding: 0.2rem;
  color: #1782c5;
}
.e404-search {
  margin-top: 3em;
}
/*** plugins ***/
/* WP Contact Form 7
--------------------------------------------------- */
.wpcf7-form {
  margin-top: 1.5em;
}
.wpcf7-not-valid {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-color: #c0392b;
}
.wpcf7-not-valid-tip {
  display: block;
  padding: 1ex;
  font-size: 0.8em;
  color: #fff;
  background: #c0392b;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}
.wpcf7-response-output {
  margin-top: 1.5em;
}
.cf__fields,
.pager__fields,
.post-navigation__links__fields {
  margin-bottom: 1.5em;
}
.cf__field,
.cf__msg,
.pager__field,
.pager__msg,
.post-navigation__links__field,
.post-navigation__links__msg,
.cf__fields__field,
.cf__fields__msg,
.pager__fields__field,
.pager__fields__msg,
.post-navigation__links__fields__field,
.post-navigation__links__fields__msg {
  position: relative;
}
@media only screen and (min-width: 30em) {
  .cf__fields,
  .pager__fields,
  .post-navigation__links__fields,
  .cf__fields__fields,
  .pager__fields__fields,
  .post-navigation__links__fields__fields {
    margin-bottom: 0;
  }
  .cf__field,
  .pager__field,
  .post-navigation__links__field,
  .cf__fields__field,
  .pager__fields__field,
  .post-navigation__links__fields__field {
    float: left;
    width: 50%;
  }
  .cf__field:nth-child(even),
  .pager__field:nth-child(even),
  .post-navigation__links__field:nth-child(even),
  .cf__fields__field:nth-child(even),
  .pager__fields__field:nth-child(even),
  .post-navigation__links__fields__field:nth-child(even) {
    padding-right: 1em;
  }
  .cf__email,
  .pager__email,
  .post-navigation__links__email,
  .cf__fields__email,
  .pager__fields__email,
  .post-navigation__links__fields__email {
    width: 100%;
  }
  .cf__msg,
  .cf__submit,
  .pager__msg,
  .pager__submit,
  .post-navigation__links__msg,
  .post-navigation__links__submit,
  .cf__fields__msg,
  .cf__fields__submit,
  .pager__fields__msg,
  .pager__fields__submit,
  .post-navigation__links__fields__msg,
  .post-navigation__links__fields__submit {
    clear: left;
  }
}
@media only screen and (min-width: 50em) {
  .cf__fields,
  .pager__fields,
  .post-navigation__links__fields,
  .cf__fields__fields,
  .pager__fields__fields,
  .post-navigation__links__fields__fields {
    float: left;
    padding-right: 2em;
  }
  .cf__field,
  .pager__field,
  .post-navigation__links__field,
  .cf__fields__field,
  .pager__fields__field,
  .post-navigation__links__fields__field {
    float: none;
    width: 100%;
  }
  .cf__field:nth-child(even),
  .pager__field:nth-child(even),
  .post-navigation__links__field:nth-child(even),
  .cf__fields__field:nth-child(even),
  .pager__fields__field:nth-child(even),
  .post-navigation__links__fields__field:nth-child(even) {
    padding-right: 0;
  }
  .cf__msg,
  .pager__msg,
  .post-navigation__links__msg,
  .cf__fields__msg,
  .pager__fields__msg,
  .post-navigation__links__fields__msg {
    clear: none;
    overflow: hidden;
  }
  .cf__msg textarea,
  .pager__msg textarea,
  .post-navigation__links__msg textarea,
  .cf__fields__msg textarea,
  .pager__fields__msg textarea,
  .post-navigation__links__fields__msg textarea {
    height: 13.1em;
  }
}
/* --- the real ramabzamba shit --- */
.lightbox {
  position: fixed;
  z-index: 999;
}
.lightbox__item {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  text-decoration: none;
  visibility: hidden;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.9) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#222222', endColorstr='#000000', GradientType=1);
}
.lightbox__item:target {
  visibility: visible;
  pointer-events: auto;
}
.lightbox__item:target .lightbox__image {
  transform: translateX(0);
  opacity: 1;
}
.lightbox__item:target::after {
  content: attr(data-caption);
  position: fixed;
  left: 0;
  right: 0;
  bottom: 3%;
  height: auto;
  text-align: center;
  color: #fff;
  z-index: 99;
}
.lightbox__item--next .lightbox__image {
  transform: translateX(2em);
}
.lightbox__item--prev .lightbox__image {
  transform: translateX(-2em);
}
.lightbox__image {
  display: block;
  position: relative;
  max-width: 80%;
  width: auto;
  max-height: 80%;
  height: auto;
  margin: 0 auto;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.5s, transform 0.7s;
  pointer-events: none;
  z-index: 88;
}
.lightbox__button {
  display: none;
  position: fixed;
  top: 50%;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  background: none;
  transform: translateY(-50%);
  z-index: 111;
}
.lightbox__button::after {
  content: '';
  position: absolute;
  top: 33%;
  width: 1em;
  height: 1em;
  border: 0 solid #fff;
  transform-origin: 50% 50%;
}
.lightbox__button--prev {
  left: 3%;
}
.lightbox__button--prev::after {
  left: 38%;
  border-top-width: 2px;
  border-left-width: 2px;
  transform: rotate(-45deg);
}
.lightbox__button--next {
  right: 3%;
}
.lightbox__button--next::after {
  right: 38%;
  border-top-width: 2px;
  border-right-width: 2px;
  transform: rotate(45deg);
}
.lightbox__pagination {
  display: none;
  position: fixed;
  top: 3%;
  left: 50%;
  font-size: 0.8em;
  color: #fff;
  z-index: 99;
  transform: translateX(-50%);
}
.lightbox__pagination__item {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0.2em;
  border: 1px solid #fff;
  border-radius: 50%;
}
.lightbox__pagination__item.aktiv {
  background-color: #fff;
}
.lightbox .show {
  display: block;
}
@media (max-width: 30em) {
  .has-touch .lightbox__button.show {
    display: none;
  }
}
.Wallop {
  /**
     * wallop--fade.css
     */
  /*
        In order to fade out properly we need to make sure
        that the item that is going to be the previous one
        has a higer z-index that the next one
     */
}
.Wallop-item--hidePrevious,
.Wallop-item--hideNext {
  visibility: visible;
  animation: wallopFade 450ms cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
}
.Wallop-item--hidePrevious,
.Wallop-item--hideNext {
  z-index: 2;
}
.Wallop-item--showPrevious,
.Wallop-item--showNext {
  z-index: 1;
}
/*==========  FADE ANIMATIONS  ==========*/
@keyframes wallopFade {
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
.md h4 {
  font-size: 1.25em;
  font-weight: 700;
}
.md table {
  width: 100%;
  margin-top: 1.5em;
  border: 1px solid #e9edf2;
}
.md td,
.md th {
  padding: 1ex;
  border-bottom: 1px solid #e9edf2;
}
.md th {
  background-color: #e9edf2;
}
.md li {
  position: relative;
  list-style: none;
}
.md li::before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% + 1px);
  left: -1em;
  width: 1ex;
  height: 1px;
  background-color: #969a9e;
}
.md pre {
  margin-top: 1.5em;
  color: #fff;
  border-radius: 0.3em;
  background-color: #969a9e;
}
/*** always last ***/
/**
 * TODO : Refactor https://uxdesign.cc/i-totally-forgot-about-print-style-sheets-f1e6604cfd6#.i4grmelwd
 */
/* debug */
@media print {
  /* */
  /* stylelint-disable declaration-no-important */
  /* stylelint-disable selector-list-comma-newline-after */
  * {
    background: transparent !important;
    color: #444 !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    color: #00f !important;
    text-decoration: underline;
  }
  @page {
    margin: 0.5cm;
  }
  .main a:after {
    content: ' (' attr(href) ')';
    font-size: 0.9em;
  }
  .main a[rel='tag']:after,
  .main .wp-caption a:after {
    content: '';
  }
  abbr:after {
    content: ' (' attr(title) ')';
  }
  .ir a:after {
    content: '';
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  body {
    width: auto;
    font-size: 10pt !important;
  }
  .wrapper,
  .container,
  .content-wrap,
  .main,
  .footer__info {
    margin: 0;
    max-width: 100%;
  }
  hr {
    clear: both;
    width: 100%;
    margin: 1em 0;
    border: 0;
    border-bottom: 1px solid #ccc;
  }
  blockquote {
    margin: 1.5em 0;
    padding: 1em;
    border: 0.2em solid #ccc;
    font-style: italic;
    font-size: 0.9em;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #000;
  }
  q {
    color: #444;
  }
  .gallery a::after {
    content: '';
  }
  .do-not-print,
  .header,
  .footer {
    display: none;
  }
  /* debug */
}
/* */
/*** a11y resources and tests ***/
/* make sure you moved them in a dependency section of bower.json */
/*
@import '../../libs/a11y.css/css/a11y-en.css';
@import '../../libs/lint-html-with-css/dist/lint.css';
*/
/*
protanopia
protanomaly
deuteranopia
deuteranomaly
tritanopia
tritanomaly
achromatopsia
achromatomaly

body {
    filter: url('../../libs/color-blindness-emulation/filters.svg#tritanopia');
}
/* */
