/*
 * GENERAL VARIABLES
 */
/* COLORS */
/* #ccc */
/* #f2f2f2 */
/* #000 */
/* opacity .8 */
/* opacity .8 */
/* opacity .7 */
/* SPACING */
/* FONTS */
/* font weight */
/* DEFAULT ELEMENTS */
/* WRAP */
/* BASIC ELEMENTS */
/* EXTENDED ELEMENTS */
/*
 * LOGIN-FORM FE
 */
/*
 * COLS
 */
/*
 * ColRight & ColLeft Space
 */
/*
 * Listings
 */
/*
 * Space If elements > cols-numer (4 items > .cols .items-x3) || .doubleSpace-break
 */
/*
 * Listings
 */
/* Card-Item */
/* Shadow */
/* Zoom */
/* link-cover */
/* List-View */
/* Border */
/* Zoom */
/* Vertical Align Content */
/* Vertical Align Image */
/* Spacing */
/* link-cover */
/* Oversize */
/*
 * BUTTON VARIABLES
 */
/*
 * NAVIGATION VARIABLES
 */
/*
 * Main Navigation
 */
/* General */
/* List-Elements */
/* Related for Level-0 */
/* Related for Level-1 */
/* Related for Level-2 */
/*
 * Main-Aside Navigation
 */
/* General */
/* Color */
/*
 * Main MegaDropdown Navigation
 */
/*
 * Mobile Navigation
 */
/*
 * MicroNav
 */
/*
 * FooterNavi
 */
/*
 * Aside
 */
/*
 * Pagination
 */
/*
 * Single-Content Navigation
 */
/*
 * PAGE VARIABLES
 */
/*
 * GENERAL VARIABLES
*/
/* COLORS */
/* red */
/* grey */
/* opacity .6 */
/* opacity .8 */
/* dunkler Untergrund (Footer, Topline, CTA, ..) */
/* FONT */
/* FONT-FAMILY */
/* Font-Size*/
/* Font-Weight */
/* Special Options */
/* WRAP */
/* SCROLL-TO-TOP */
/* Top-Line */
/* STICKY */
/* PAGE-ASIDE */
/* Aside Links */
/* SECTION / PAGE-CONTENT */
/* BREADCRUMBS */
/*
 * COLS
 */
/* List-View */
/* SEARCH */
/* background-hover */
/* background */
/*
 * NAVIGATION VARIABLES
 */
/*
 * Main
 */
/* General */
/* List-Elements */
/* Related for Level-0 */
/* Related for Level-1 */
/* Related for Level-2 */
/*
 * Mobile Navigation
 */
/* Pagination */
/* Nav-Pageview */
/* Single-Content Navigation */
/*
 * LOGO
 */
/* 
 * FOOTER
 */
/*
 * basic mixins
 */
/*
 * GRID MIXINS
 */
/*
 * IMAGE MIXINS
 */
/*
 * @deprecated - use .object-fit
 */
/*
 * COLOR MIXINS
 */
.background-gradient-pseudo {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background: linear-gradient(30deg, #e3051a 0%, #949597 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
/* KeyFrames for Animate-Border */
@-webkit-keyframes animate-border {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 200% 0%;
  }
}
@-moz-keyframes animate-border {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 200% 0%;
  }
}
@-webkit-keyframes animate-border {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 200% 0%;
  }
}
/* KeyFrames for Animate-Waves */
@keyframes transform-matrix-1 {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  100% {
    transform: matrix(1, 0, 0, 0.455, -526, 55.5);
    width: calc(100% + 526px);
  }
}
@keyframes transform-matrix-2 {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  100% {
    transform: matrix(1, 0, 0, 0.506, -250, 50.4);
    width: calc(100% + 250px);
  }
}
@keyframes transform-matrix-1-rotate {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
  100% {
    transform: matrix(1, 0, 0, 0.455, 526, 55.5);
    width: calc(100% + 526px);
  }
}
/*
 * HEADLINE MIXINS
 */
/*
 * LISTING MIXINS
 */
/*
 * LINK MIXINS
 */
/*
 * CONTENT MIXINS
 */
/*
 * REMARKS
 */
/*	simple-button		- Generiert normalen Button					*/
/*	btn-diagonal-close	- Größe der Border an Button anpassen		*/
/*	btn-double-swipe	- Größe der Border an Button anpassen		*/
/*	btn-zoning			- Größe der Border an Button anpassen		*/
/*	btn-slice			- Weite der Border an Button anpassen		*/
/*	btn-aware			- leeren span in a-Tag hinterlegen			*/
/*	btn-alternate		- Text/[WIDGET_LINK_MORE] in span einbinden	*/
/*	btn-v-overlap		- Text/[WIDGET_LINK_MORE] in span einbinden	*/
/*	btn-h-overlap		- Text/[WIDGET_LINK_MORE] in span einbinden	*/
button.screenreader {
  background: transparent;
  border: none;
}
button.screenreader:focus {
  left: auto;
  position: relative;
  outline: 1px dotted #333;
  outline-offset: -1px;
  text-decoration: underline;
  display: inline-block;
  padding: 5px 10px;
}
button.screenreader:focus.screenreader {
  background: #fff;
  color: #333;
}
/*
 * SIMPLE BUTTON
 */
.simple-button {
  padding: 10px 15px;
  position: relative;
  display: inline-block;
  background: #e3051a;
  border: 1px solid #fff;
  color: #fff;
  font-size: 120%;
  font-weight: 300;
  text-decoration: none;
  z-index: 0;
  -webkit-transition: all 0.3s ease-in;
  -moz-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  -ms-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.simple-button.text-small {
  padding: 5px 10px;
  font-size: calc(100% - 10%);
}
.simple-button.text-large {
  padding: 15px 25px;
  font-size: calc(100% + 20%);
}
.simple-button.text-larger {
  padding: 20px 40px;
  font-size: calc(100% + 40%);
}
.simple-button.simple-effect:hover,
.simple-button.simple-effect-fullsize:hover {
  background: #333;
  border: 1px solid #fff;
  color: #fff;
}
.simple-button.simple-effect-fullsize {
  width: 100%;
  text-align: center;
}
.simple-button.highlight {
  background: #949597;
  border: none;
  color: #fff;
  font-weight: 300;
  font-size: 120%;
}
.simple-button.highlight.simple-effect:hover,
.simple-button.highlight.simple-effect-fullsize:hover {
  background: #fff !important;
  color: #949597 !important;
  border: #949597 !important;
}
.simple-button.icon-effect a {
  border-radius: 30px;
  width: auto;
  max-width: 40px;
  height: 40px;
  background: transparent;
  overflow: hidden;
}
.simple-button.icon-effect a .link-text {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 10px;
  height: 100%;
}
.simple-button.icon-effect a .link-text > span {
  display: inline-block;
  padding-bottom: 1px;
  width: 100%;
  text-align: center;
  transition: opacity 0.2s ease-in-out;
  opacity: 0;
  overflow: hidden;
}
.simple-button.icon-effect a .link-text i {
  position: relative;
  right: -2px;
}
.simple-button.icon-effect a:hover {
  max-width: 100%;
  padding-left: calc(15px * 2) !important;
}
.simple-button.icon-effect a:hover .link-text > span {
  opacity: 1;
}
/*
 * SWIPE-BUTTON
 */
.btn-swipe {
  overflow: hidden;
}
.btn-swipe:not( .icon ).simple-button:before,
.btn-swipe > span:before {
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background-color: #333;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-swipe:hover.simple-button,
.btn-swipe:hover > span {
  color: #fff;
}
.btn-swipe:hover:not( .icon ).simple-button:before,
.btn-swipe:hover > span:before {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
/*
 * DIAGONAL-SWIPE BUTTON
 */
.btn-diagonal-swipe {
  overflow: hidden;
}
.btn-diagonal-swipe:not( .icon ).simple-button:before,
.btn-diagonal-swipe > span:before {
  content: '';
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-right: 50px solid transparent;
  border-bottom: 80px solid #333;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-swipe:not( .icon ).simple-button:after,
.btn-diagonal-swipe > span:after {
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-diagonal-swipe:hover > span,
.btn-diagonal-swipe:hover.simple-button {
  color: #fff;
}
.btn-diagonal-swipe:hover:not( .icon ).simple-button:before,
.btn-diagonal-swipe:hover > span:before {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.btn-diagonal-swipe {
  overflow: hidden;
}
.btn-diagonal-swipe:not( .icon ).simple-button:before,
.btn-diagonal-swipe > span:before {
  content: '';
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-right: 50px solid transparent;
  border-bottom: 80px solid #333;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-swipe:not( .icon ).simple-button:after,
.btn-diagonal-swipe > span:after {
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-diagonal-swipe:hover > span,
.btn-diagonal-swipe:hover.simple-button {
  color: #fff;
}
.btn-diagonal-swipe:hover:not( .icon ).simple-button:before,
.btn-diagonal-swipe:hover > span:before {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
/*
 * DOUBLE-SWIPE BUTTON
 */
.btn-double-swipe {
  overflow: hidden;
}
.btn-double-swipe:not( .icon ).simple-button:before,
.btn-double-swipe > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 0px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-double-swipe:not( .icon ).simple-button:after,
.btn-double-swipe > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: -50px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 0px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-double-swipe:hover > span,
.btn-double-swipe:hover.simple-button {
  color: #fff;
}
.btn-double-swipe:hover:not( .icon ).simple-button:before,
.btn-double-swipe:hover > span:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.btn-double-swipe:hover:not( .icon ).simple-button:after,
.btn-double-swipe:hover > span:after {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
.btn-double-swipe {
  overflow: hidden;
}
.btn-double-swipe:not( .icon ).simple-button:before,
.btn-double-swipe > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 0px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-double-swipe:not( .icon ).simple-button:after,
.btn-double-swipe > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: -50px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 0px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-double-swipe:hover > span,
.btn-double-swipe:hover.simple-button {
  color: #fff;
}
.btn-double-swipe:hover:not( .icon ).simple-button:before,
.btn-double-swipe:hover > span:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.btn-double-swipe:hover:not( .icon ).simple-button:after,
.btn-double-swipe:hover > span:after {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
/*
 * DIAGONAL-CLOSE BUTTON
 */
.btn-diagonal-close {
  overflow: hidden;
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 0px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: -50px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 0px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-diagonal-close:hover > span,
.btn-diagonal-close:hover.simple-button {
  color: #fff;
}
.btn-diagonal-close:hover:not( .icon ).simple-button:before,
.btn-diagonal-close:hover > span:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.btn-diagonal-close:hover:not( .icon ).simple-button:after,
.btn-diagonal-close:hover > span:after {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 0px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: -50px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 0px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-diagonal-close:hover > span,
.btn-diagonal-close:hover.simple-button {
  color: #fff;
}
.btn-diagonal-close:hover:not( .icon ).simple-button:before,
.btn-diagonal-close:hover > span:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.btn-diagonal-close:hover:not( .icon ).simple-button:after,
.btn-diagonal-close:hover > span:after {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
.btn-diagonal-close {
  overflow: hidden;
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-diagonal-close:hover > span,
.btn-diagonal-close:hover.simple-button {
  color: #fff;
}
/* Größe der Border an Button anpassen */
.btn-diagonal-close {
  overflow: hidden;
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 0px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: -50px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 0px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-diagonal-close:hover > span,
.btn-diagonal-close:hover.simple-button {
  color: #fff;
}
.btn-diagonal-close:hover:not( .icon ).simple-button:before,
.btn-diagonal-close:hover > span:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.btn-diagonal-close:hover:not( .icon ).simple-button:after,
.btn-diagonal-close:hover > span:after {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: -50px;
  bottom: 0px;
  left: 0px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 0px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: -50px;
  border-bottom: 80px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 0px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-diagonal-close:hover > span,
.btn-diagonal-close:hover.simple-button {
  color: #fff;
}
.btn-diagonal-close:hover:not( .icon ).simple-button:before,
.btn-diagonal-close:hover > span:before {
  -webkit-transform: translateX(-40%);
  transform: translateX(-40%);
}
.btn-diagonal-close:hover:not( .icon ).simple-button:after,
.btn-diagonal-close:hover > span:after {
  -webkit-transform: translateX(40%);
  transform: translateX(40%);
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-diagonal-close:hover > span,
.btn-diagonal-close:hover.simple-button {
  color: #fff;
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  right: -50px;
  border-right: 50px solid transparent;
  border-bottom: 80px solid #333;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  left: -50px;
  border-left: 50px solid transparent;
  border-top: 80px solid #333;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-diagonal-close:hover.simple-button,
.btn-diagonal-close:hover > span {
  color: #fff;
}
.btn-diagonal-close:hover:not( .icon ).simple-button:before,
.btn-diagonal-close:hover > span:before {
  -webkit-transform: translateX(-49%);
  transform: translateX(-49%);
}
.btn-diagonal-close:hover:not( .icon ).simple-button:after,
.btn-diagonal-close:hover > span:after {
  -webkit-transform: translateX(49%);
  transform: translateX(49%);
}
.btn-diagonal-close:not( .icon ).simple-button:before,
.btn-diagonal-close > span:before {
  right: -50px;
  border-right: 50px solid transparent;
  border-bottom: 80px solid #333;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-diagonal-close:not( .icon ).simple-button:after,
.btn-diagonal-close > span:after {
  left: -50px;
  border-left: 50px solid transparent;
  border-top: 80px solid #333;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-diagonal-close:hover.simple-button,
.btn-diagonal-close:hover > span {
  color: #fff;
}
.btn-diagonal-close:hover:not( .icon ).simple-button:before,
.btn-diagonal-close:hover > span:before {
  -webkit-transform: translateX(-49%);
  transform: translateX(-49%);
}
.btn-diagonal-close:hover:not( .icon ).simple-button:after,
.btn-diagonal-close:hover > span:after {
  -webkit-transform: translateX(49%);
  transform: translateX(49%);
}
/*
 * ZONING BUTTON
 */
/* Größe der Border an Button anpassen */
.btn-zoning {
  overflow: hidden;
}
.btn-zoning:not( .icon ).simple-button:before,
.btn-zoning > span:before {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  border-top: 25px solid #333;
  border-bottom: 25px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-right: 30px solid transparent;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}
.btn-zoning:not( .icon ).simple-button:after,
.btn-zoning > span:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  border-top: 25px solid #333;
  border-bottom: 25px solid #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  border-left: 30px solid transparent;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
.btn-zoning:hover > span,
.btn-zoning:hover.simple-button {
  color: #fff;
}
.btn-zoning:hover:not( .icon ).simple-button:before,
.btn-zoning:hover > span:before {
  -webkit-transform: translateX(-30%);
  transform: translateX(-30%);
}
.btn-zoning:hover:not( .icon ).simple-button:after,
.btn-zoning:hover > span:after {
  -webkit-transform: translateX(30%);
  transform: translateX(30%);
}
/*
 * SLICE BUTTON
 */
/* Größe der Border an Button anpassen */
.btn-slice {
  overflow: hidden;
}
.btn-slice:not( .icon ).simple-button:after,
.btn-slice > span:after {
  content: '';
  width: 0;
  height: 0;
  -webkit-transform: rotate(360deg);
  border-style: solid;
  border-width: 0 0 0 0;
  border-color: transparent #333 transparent transparent;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: unset;
  left: unset;
  border: 0 solid;
  transform: rotate(360deg);
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-slice:not( .icon ).simple-button:before,
.btn-slice > span:before {
  content: '';
  width: 0;
  height: 0;
  -webkit-transform: rotate(360deg);
  border-style: solid;
  border-width: 0 0 0 0;
  border-color: transparent transparent transparent #333;
  position: absolute;
  top: unset;
  right: unset;
  bottom: 0px;
  left: 0px;
  border: 0 solid;
  transform: rotate(360deg);
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.btn-slice:hover > span,
.btn-slice:hover.simple-button {
  color: #fff;
}
.btn-slice:hover:not( .icon ).simple-button:before,
.btn-slice:hover > span:before {
  border-width: 80px 262.5px;
  border-color: #333;
}
.btn-slice:hover:not( .icon ).simple-button:after,
.btn-slice:hover > span:after {
  border-width: 80px 262.5px;
  border-color: #333;
}
/*
 * AWARE BUTTON
 */
.btn-aware {
  overflow: hidden;
}
.btn-aware:not( .icon ).simple-button:after,
.btn-aware > span:after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-radius: 50%;
  background-color: #333;
  transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  -webkit-transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  -moz-transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  -ms-transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  -o-transition: width 0.4s ease-in-out, height 0.4s ease-in-out;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
}
.btn-aware:hover > span,
.btn-aware:hover.simple-button {
  color: #fff;
}
.btn-aware:hover:not( .icon ).simple-button:after,
.btn-aware:hover > span:after {
  width: 225%;
  height: 562.5px;
}
/* SMOOSH BUTTON */
.btn-smoosh {
  overflow: hidden;
}
.btn-smoosh:not( .icon ).simple-button:before,
.btn-smoosh > span:before {
  content: '';
  position: absolute;
  top: -1px;
  right: 0px;
  bottom: -1px;
  left: 0px;
  background-color: #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}
.btn-smoosh:not( .icon ).simple-button:after,
.btn-smoosh > span:after {
  content: '';
  position: absolute;
  top: -1px;
  right: 0px;
  bottom: -1px;
  left: 0px;
  background-color: #333;
  z-index: -1;
  box-sizing: border-box;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}
.btn-smoosh:hover > span,
.btn-smoosh:hover.simple-button {
  color: #fff;
}
.btn-smoosh:hover:not( .icon ).simple-button:before,
.btn-smoosh:hover > span:before {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.btn-smoosh:hover:not( .icon ).simple-button:after,
.btn-smoosh:hover > span:after {
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
}
/*
 * COLLISION BUTTON
 */
@-webkit-keyframes criss-cross-left {
  0% {
    left: -20px;
  }
  50% {
    left: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 50%;
    width: 375px;
    height: 375px;
  }
}
@keyframes criss-cross-left {
  0% {
    left: -20px;
  }
  50% {
    left: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 50%;
    width: 375px;
    height: 375px;
  }
}
@-webkit-keyframes criss-cross-right {
  0% {
    right: -20px;
  }
  50% {
    right: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 50%;
    width: 375px;
    height: 375px;
  }
}
@keyframes criss-cross-right {
  0% {
    right: -20px;
  }
  50% {
    right: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 50%;
    width: 375px;
    height: 375px;
  }
}
.btn-collision {
  overflow: hidden;
}
.btn-collision:not( .icon ).simple-button:before,
.btn-collision > span:before {
  content: '';
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background-color: #333;
  border-radius: 50%;
  z-index: -1;
  box-sizing: border-box;
  left: -20px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.btn-collision:not( .icon ).simple-button:after,
.btn-collision > span:after {
  content: '';
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  background-color: #333;
  border-radius: 50%;
  z-index: -1;
  box-sizing: border-box;
  right: -20px;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}
.btn-collision:hover > span,
.btn-collision:hover.simple-button {
  color: #fff !important;
}
.btn-collision:hover:not( .icon ).simple-button:before,
.btn-collision:hover > span:before {
  -webkit-animation: criss-cross-left 0.8s both;
  animation: criss-cross-left 0.8s both;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
.btn-collision:hover:not( .icon ).simple-button:after,
.btn-collision:hover > span:after {
  -webkit-animation: criss-cross-right 0.8s both;
  animation: criss-cross-right 0.8s both;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
/*
 * From Top
 */
.from-top a:before {
  left: -1px;
  height: 0;
  width: 100%;
  bottom: 0;
  border: 1px solid #333;
  border-top: 0;
  border-bottom: 0;
}
.from-top a:after {
  left: -1px;
  height: 0;
  width: 100%;
  top: 0;
}
.from-top:hover a:before {
  height: 100%;
}
.from-top:hover a:after {
  height: 100%;
}
/*
 * From Left
 */
.from-left a:before {
  top: -1px;
  width: 0;
  height: 100%;
  right: 0;
  border: 1px solid #333;
  border-left: 0;
  border-right: 0;
}
.from-left a:after {
  top: -1px;
  width: 0;
  height: 100%;
  left: 0;
}
.from-left:hover a:before {
  width: 100%;
}
.from-left:hover a:after {
  width: 100%;
}
/*
 * From right
 */
.from-right a:before {
  top: 0;
  width: 0;
  height: 100%;
  left: 0;
  border: 1px solid #333;
  border-left: 0;
  border-right: 0;
}
.from-right a:after {
  top: 0;
  width: 0;
  height: 100%;
  right: 0;
}
.from-right:hover a:before {
  width: 100%;
}
.from-right:hover a:after {
  width: 100%;
}
/*
 * From center
 */
.from-center a:before {
  top: -1px;
  left: 50%;
  height: 100%;
  width: 0;
  border: 1px solid #333;
  border-left: 0;
  border-right: 0;
}
.from-center a:after {
  bottom: 0;
  left: 0;
  height: 0;
  width: 100%;
  background: #333;
}
.from-center:hover a:before {
  left: 0;
  width: 100%;
}
.from-center:hover a:after {
  top: 0;
  height: 100%;
}
/*
 * From Bottom
 */
.from-bottom a:before {
  left: -1px;
  height: 0;
  width: 100%;
  top: 0px;
  border: 1px solid #333;
  border-top: 0;
  border-bottom: 0;
}
.from-bottom a:after {
  left: -1px;
  width: 100%;
  bottom: 0;
  height: 0;
}
.from-bottom:hover a:before {
  height: 100%;
}
.from-bottom:hover a:after {
  height: 100%;
}
/*
 * Rounded Svg
 */
.rounded-svg-fill {
  position: relative;
  margin: auto;
  padding: 19px 22px;
  transition: all .2s ease;
}
.rounded-svg-fill:before {
  content: "";
  top: 0px;
  right: unset;
  bottom: unset;
  left: 0px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-radius: 28px;
  opacity: .5;
  background: #333;
  width: 56px;
  height: 56px;
  transition: all .3s ease;
}
.rounded-svg-fill span {
  position: relative;
  font-size: 16px;
  line-height: 18px;
  font-weight: 900;
  letter-spacing: 4px;
  text-transform: uppercase;
  vertical-align: middle;
  color: #ffffff;
  transition: .4s;
}
.rounded-svg-fill svg {
  position: relative;
  top: 2px;
  margin-left: 10px;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: #fff6d9;
  stroke-width: 2;
  transform: translateX(-5px);
  transition: all .3s ease;
}
.rounded-svg-fill:hover span {
  color: #fff;
}
.rounded-svg-fill:hover::before {
  width: 100%;
  opacity: 1;
  background: #333;
}
.rounded-svg-fill:hover::before svg {
  transform: translateX(0);
}
.rounded-svg-fill:active {
  transform: scale(0.96);
}
/*
 * UNFILL-EFFECTS
 */
/*
.btn-unfill {
	line-height: 50px;
	height: 50px;
	text-align: center;
	width: 250px;
	cursor: pointer;
}
*/
/*
 * BORDERLINE TOP AND BUTTOM - BUTTON
 */
.btn-2border {
  color: #fff;
  transition: all 0.3s;
  position: relative;
}
.btn-2border:hover {
  color: #fff;
}
.btn-2border:hover a {
  letter-spacing: 2px;
  color: #fff !important;
}
.btn-2border:hover::before {
  opacity: 1;
  transform: scale(1, 1);
}
.btn-2border:hover::after {
  opacity: 0;
  transform: scale(0.1, 1);
}
.btn-2border a {
  transition: all 0.3s;
  background: transparent !important;
}
.btn-2border::before {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 1;
  opacity: 0;
  transition: all 0.3s;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-top-color: rgba(80, 43, 22, 0.5);
  border-bottom-color: rgba(80, 43, 22, 0.5);
  transform: scale(0.1, 1);
}
.btn-2border::after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  transition: all 0.3s;
  background-color: #502b16;
}
/* CROSS BUTTON */
.btn-cross {
  color: #ffffff;
  transition: all 0.5s;
  position: relative;
}
.btn-cross:hover {
  color: #502b16;
}
.btn-cross:hover a {
  color: #ffffff !important;
}
.btn-cross:hover::before {
  transform: rotate(-45deg);
  background-color: rgba(80, 43, 22, 0);
}
.btn-cross:hover::after {
  transform: rotate(45deg);
  background-color: rgba(80, 43, 22, 0);
}
.btn-cross a {
  background: transparent !important;
  z-index: 2;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.btn-cross::before {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 1;
  transition: all 0.5s;
  border: 1px solid rgba(80, 43, 22, 0.2);
  background-color: #502b16;
}
.btn-cross::after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: 1;
  transition: all 0.5s;
  border: 1px solid rgba(80, 43, 22, 0.2);
  background-color: #502b16;
}
/* COMPLETE BORDER - Button */
.btn-4border {
  color: #ffffff;
  transition: all 0.5s;
  position: relative;
}
.btn-4border a {
  background: transparent !important;
}
.btn-4border:hover {
  color: #502b16;
}
.btn-4border:hover a {
  color: #ffffff !important;
}
.btn-4border:hover::before {
  opacity: 0;
  transform: scale(0.5, 0.5);
}
.btn-4border:hover::after {
  opacity: 1;
  transform: scale(1, 1);
}
.btn-4border::before {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  background-color: #502b16;
  transition: all 0.3s;
}
.btn-4border::after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  z-index: -1;
  opacity: 0;
  transition: all 0.3s;
  border: 1px solid #502b16;
  transform: scale(1.2, 1.2);
}
/*
 * EFFECTS
 */
/*
 * PULSE EFFECT
 */
.pulse-effect {
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  -ms-transition: 0.4s ease-in-out;
  -o-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}
.pulse-effect:hover {
  animation: pulse 1s;
  -webkit-animation: pulse 1s;
  -moz-animation: pulse 1s;
  box-shadow: 0 0 0 32px rgba(0, 0, 0, 0);
  color: #fff;
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  -ms-transition: 0.4s ease-in-out;
  -o-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}
.pulse-effect:focus {
  animation: pulse 1s;
  -webkit-animation: pulse 1s;
  -moz-animation: pulse 1s;
  box-shadow: 0 0 0 32px rgba(0, 0, 0, 0);
  color: #502b16;
  -webkit-transition: 0.4s ease-in-out;
  -moz-transition: 0.4s ease-in-out;
  -ms-transition: 0.4s ease-in-out;
  -o-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 #fff;
  }
}
@-webkit-keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 #fff;
  }
}
/*
 * RAISE EFFECT
 */
.raise-effect {
  transition: .4s;
}
.raise-effect:hover {
  box-shadow: 0 8px 8px -2px #333;
  transform: translateY(-8px);
  border: 1px solid #fff;
  color: #fff;
}
.raise-effect:focus {
  box-shadow: 0 8px 8px -2px #914f1b;
  transform: translateY(-8px);
  border: 1px solid #fff;
  color: #fff;
}
/*
 * BORDERLINE EFFECT
 */
.borderline-effect a {
  position: relative;
  display: inline-block;
  width: 277px;
  font-size: 16px;
  font-weight: 600;
  line-height: 60px;
  text-align: center;
  background-color: transparent;
  cursor: pointer;
  text-decoration: none;
  font-weight: 900;
}
.borderline-effect svg {
  position: absolute;
  top: 0;
  left: 0;
}
.borderline-effect svg rect {
  stroke: #EC0033;
  stroke-width: 4;
  stroke-dasharray: 353, 0;
  stroke-dashoffset: 0;
  -webkit-transition: all 600ms ease;
  transition: all 600ms ease;
}
.borderline-effect span {
  color: #ffffff;
}
.borderline-effect:hover svg rect {
  stroke-width: 4;
  stroke-dasharray: 196, 543;
  stroke-dashoffset: 437;
  transition: .4s;
  -webkit-transition: .4s;
  -ms-transition: .4s;
}
/* Fallback */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .btn1:hover svg rect {
    stroke: #ffffff;
    transition: .4s;
    -webkit-transition: .4s;
  }
}
/*
 * SLIDE TEXT
 */
.slide-effect {
  background: transparent;
  outline: none;
  position: relative;
  border: 2px solid #ffffff;
  padding: 15px 50px;
  overflow: hidden;
}
.slide-effect:hover {
  cursor: pointer;
}
.slide-effect:hover:before {
  opacity: 1;
  transform: translate(0, 0);
}
.slide-effect:hover div {
  opacity: 0;
  transform: translate(100%, 0);
}
.slide-effect:before {
  content: attr(data-hover);
  position: absolute;
  top: 1.1em;
  left: 0;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 900;
  font-size: .8em;
  opacity: 0;
  transform: translate(-100%, 0);
  transition: all 0.3s ease-in-out;
}
.slide-effect div {
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 900;
  font-size: .8em;
  transition: all 0.3s ease-in-out;
}
/*
 * ICONS
 */
.icons-container {
  display: flex;
}
.background {
  background: #f06060;
}
.hi-icon-wrap {
  text-align: center;
  margin: 0 auto;
}
.hi-icon {
  display: inline-block;
  font-size: 0px;
  cursor: pointer;
  margin: 15px 30px;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  text-align: center;
  position: relative;
  z-index: 1;
  color: #fff;
}
.hi-icon:after {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  content: '';
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.hi-icon:before {
  font-family: 'ecoicon';
  speak: none;
  font-size: 48px;
  line-height: 90px;
  font-style: normal;
  font-weight: 300;
  font-variant: normal;
  text-transform: none;
  display: block;
  -webkit-font-smoothing: antialiased;
}
/*
 * Effect 1
 */
.hi-icon-effect-1 .hi-icon {
  background: rgba(255, 255, 255, 0.1);
  -webkit-transition: background 0.2s, color 0.2s;
  -moz-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}
.hi-icon-effect-1 .hi-icon:after {
  top: -7px;
  left: -7px;
  padding: 7px;
  box-shadow: 0 0 0 4px #fff;
  -webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
  -webkit-transform: scale(0.8);
  -moz-transition: -moz-transform 0.2s, opacity 0.2s;
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transition: transform 0.2s, opacity 0.2s;
  transform: scale(0.8);
  opacity: 0;
}
/*
 * Effect 1a
 */
.hi-icon-effect-1a .hi-icon:hover {
  background: #ffffff;
  color: #f06060;
}
.hi-icon-effect-1a .hi-icon:hover:after {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
/*
 * Effect 4
 */
.hi-icon-effect-4 .hi-icon {
  width: 92px;
  height: 92px;
  box-shadow: 0 0 0 4px #ffffff;
}
.hi-icon-effect-4 .hi-icon:before {
  line-height: 92px;
}
.hi-icon-effect-4 .hi-icon:after {
  top: -4px;
  left: -4px;
  padding: 0;
  z-index: 10;
  border: 4px dashed #fff;
}
.hi-icon-effect-4 .hi-icon:hover {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  color: #fff;
}
.hi-icon-effect-4a .hi-icon {
  -webkit-transition: box-shadow 0.2s;
  -moz-transition: box-shadow 0.2s;
  transition: box-shadow 0.2s;
}
.hi-icon-mail:before {
  content: "\f003";
  font-family: FontAwesome;
}
/*
 * BURGER-MENU
 */
.mobile-svg-btn {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.mobile-svg-rotate.active {
  transform: rotate(45deg);
}
.line {
  fill: none;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
  stroke: #000;
  stroke-width: 7.5;
  stroke-linecap: round;
}
/* FIRST ANIMATION */
.mobile-svg-btn-1 .top {
  stroke-dasharray: 40 139;
}
.mobile-svg-btn-1 .bottom {
  stroke-dasharray: 40 180;
}
.mobile-svg-btn-1.active .top {
  stroke-dashoffset: -98px;
}
.mobile-svg-btn-1.active .bottom {
  stroke-dashoffset: -138px;
}
/*
 * ARROW ANIMATION
 */
.mobile-svg-btn-arrow .top {
  stroke-dasharray: 40 121;
}
.mobile-svg-btn-arrow .bottom {
  stroke-dasharray: 40 121;
}
.mobile-svg-btn-arrow.active .top {
  stroke-dashoffset: -102px;
}
.mobile-svg-btn-arrow.active .bottom {
  stroke-dashoffset: -102px;
}
/*
 * SECOND ANIMATION
 */
.mobile-svg-btn-2 .top {
  stroke-dasharray: 40 121;
}
.mobile-svg-btn-2 .bottom {
  stroke-dasharray: 40 121;
}
.mobile-svg-btn-2.active .top {
  stroke-dashoffset: -68px;
}
.mobile-svg-btn-2.active .bottom {
  stroke-dashoffset: -68px;
}
/*
 * FALLBACK  FOR IE 10/11
 */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #webapp_cover {
    position: relative;
    width: 39px;
    margin: 0 auto;
    transform: translateY(-50%) scale(2);
  }
  #menu_button {
    width: 39px;
    overflow: hidden;
  }
  #menu_checkbox {
    display: none;
  }
  #menu_checkbox:checked + #menu_label:before {
    left: -39px;
  }
  #menu_checkbox:checked + #menu_label:after {
    left: 39px;
  }
  #menu_checkbox:checked + #menu_label #menu_text_bar:before {
    animation: moveUpThenDown 0.8s ease 0.2s forwards, shakeWhileMovingUp 0.8s ease 0.2s forwards, shakeWhileMovingDown 0.2s ease 0.8s forwards;
  }
  #menu_label {
    position: relative;
    display: block;
    height: 29px;
    cursor: pointer;
  }
  #menu_label:before {
    content: '';
    position: absolute;
    top: 0px;
    right: unset;
    bottom: unset;
    left: 0px;
    width: 100%;
    height: 5px;
    background-color: #ffffff;
    transition: 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) left;
  }
  #menu_label:after {
    content: '';
    position: absolute;
    top: 12px;
    right: unset;
    bottom: unset;
    left: 0px;
    width: 100%;
    height: 5px;
    background-color: #ffffff;
    transition: 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55) left;
  }
  #menu_text_bar {
    position: absolute;
    top: 24px;
    right: unset;
    bottom: unset;
    left: 0px;
    width: 100%;
    height: 5px;
    background-color: #ffffff;
  }
  #menu_text_bar:before {
    content: 'CLOSE';
    position: absolute;
    top: 5px;
    right: 0;
    bottom: unset;
    left: 0px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    font-family: 'Fira Sans Extra Condensed', sans-serif;
    text-align: center;
  }
  @keyframes moveUpThenDown {
    0% {
      top: 0;
    }
    50% {
      top: -27px;
    }
    100% {
      top: -14px;
    }
  }
  @keyframes shakeWhileMovingUp {
    0% {
      transform: rotateZ(0);
    }
    25% {
      transform: rotateZ(-10deg);
    }
    50% {
      transform: rotateZ(0deg);
    }
    75% {
      transform: rotateZ(10deg);
    }
    100% {
      transform: rotateZ(0);
    }
  }
  @keyframes shakeWhileMovingDown {
    0% {
      transform: rotateZ(0);
    }
    80% {
      transform: rotateZ(3deg);
    }
    90% {
      transform: rotateZ(-3deg);
    }
    100% {
      transform: rotateZ(0);
    }
  }
}
