/***
    Grid (Shaker)
*******************************************************************************/
/***
    Break-points
*******************************************************************************/
/***
    Color
*******************************************************************************/
/* Text Color  ********************************************/
/* Odd/Even Color ***********************************/
/* Form Input Felder ***********************************/
/***
    Font
*******************************************************************************/
/***
    Header
*******************************************************************************/
/***
    Menü
*******************************************************************************/
/***
    Components
*******************************************************************************/
/* Paragraphs *********************************************/
/* Paragraphs Timeline *********************************************/
/* Slider *************************************************/
/***
    Animation
*******************************************************************************/
/***
    Basic
****************************************************************************/
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
/***
    Layout
****************************************************************************/
.section {
  width: 100%;
}
/*Padding Abstand zwischen den Paragraphen (Aussen) in PIXEL!*/
.padding-abstand {
  padding-left: 3%;
  padding-right: 3%;
}
@media screen and (max-width: 567px) {
  .padding-abstand {
    padding-left: 17px;
    padding-right: 17px;
  }
}
.content {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .content {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 750px) and screen and (max-width: 567px) {
  .content {
    padding-left: 17px;
    padding-right: 17px;
  }
}
/* Font Max Size*/
/***
    Components
****************************************************************************/
/* Link mit Pfeil
 * --------------
 */
.link-mit-pfeil {
  text-decoration: none;
}
.link-mit-pfeil:hover {
  text-decoration: none;
}
.link-mit-pfeil:after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 1.2em;
  padding: 0 0.3em;
  transition: padding 0.3s cubic-bezier(.65,.05,.36,1);
}
.link-mit-pfeil:hover:after {
  padding-left: 0.5em;
}
/* Buttons
 * -------
 * dem a-Element hinzufügen
 */
/***
    States
****************************************************************************/
/* Button Animation
 * ----------------
 * dem a-Element hinzuf端gen
 */
.button-animation:hover {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  transform: scale(1.01);
  -webkit-transform: scale(1.01);
}
.button-animation:active {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
  transform: scale(1);
  -webkit-transform: scale(1);
}
@media only screen and (max-width: 768px) {
  .button-animation:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    transform: none;
    -webkit-transform: none;
  }
  .button-animation:active {
    transform: none;
    -webkit-transform: none;
  }
}
/* Mixin f端r Image Zoom Effekt.
 * ----------------------------
 * Dem das Bild umgebenden Element hinzuf端gen.
 */
.image-zoom {
  overflow: hidden;
  display: block;
}
.image-zoom img {
  transform: scale(1);
  -webkit-transform: scale(1);
  transition: transform 0.4s cubic-bezier(.65,.05,.36,1);
}
.image-zoom img:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
}
@media only screen and (max-width: 768px) {
  .image-zoom img {
    transform: none;
    -webkit-transform: none;
  }
  .image-zoom img:hover {
    transform: none;
    -webkit-transform: none;
  }
}
.noOpacity {
  opacity: 1;
}
@media only screen and (max-width: 992px) {
  .nomobile {
    display: none;
  }
}
/***
    Skins
****************************************************************************/
.box-bg {
  background-color: #fff;
}
/* Material Design Shadows
 * -----------------------
 * Author: Florian Kutschera (@gefangenimnetz), Conceptboard GmbH (@conceptboardapp)
 * https://medium.com/@Florian/freebie-google-material-design-shadow-helper-2a0501295a2d#.qwk59xyp0
 */
/***
    Vendor Prefixes
****************************************************************************/
.notselection {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  -khtml-user-select: none;
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently */
}
.borderBox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.animation_fadein {
  -webkit-animation: 1.2 ease 0s normal forwards 1 fadein;
  animation: 1.2s ease 0s normal forwards 1 fadein;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  33% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  33% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.animation_fade {
  -moz-transition: all 1s ease;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}
@media only screen and (max-width: 480px) {
  .mix--fade-responsive {
    max-width: 60vw;
  }
}
.mix--fade {
  transition: all 0.4s ease;
}
.mix--fade img {
  height: 65px;
  max-width: 300px;
}
@media only screen and (max-width: 480px) {
  .mix--fade img {
    max-width: 60vw;
  }
}
.mix--fade.big {
  height: 100px;
}
.mix--fade.big img {
  transition: all 0.4s ease;
  max-width: 300px;
  margin-top: 17px;
}
@media only screen and (max-width: 480px) {
  .mix--fade.big img {
    max-width: 60vw;
  }
}
.mix--fade.small {
  height: 65px;
}
.mix--fade.small img {
  height: 65px;
  transition: all 0.4s ease;
  max-width: 250px;
}
@media only screen and (max-width: 480px) {
  .mix--fade.small img {
    max-width: 60vw;
  }
}
.header-section.big.plusTop {
  height: 130px;
}
.header-section {
  width: 100%;
  z-index: 10;
  height: 100px;
  background: #fff;
  position: fixed;
  transition: all 0.4s ease;
}
.header-section img {
  height: 65px;
  max-width: 300px;
}
@media only screen and (max-width: 480px) {
  .header-section img {
    max-width: 60vw;
  }
}
.header-section.big {
  height: 100px;
}
.header-section.big img {
  transition: all 0.4s ease;
  max-width: 300px;
  margin-top: 17px;
}
@media only screen and (max-width: 480px) {
  .header-section.big img {
    max-width: 60vw;
  }
}
.header-section.small {
  height: 65px;
}
.header-section.small img {
  height: 65px;
  transition: all 0.4s ease;
  max-width: 250px;
}
@media only screen and (max-width: 480px) {
  .header-section.small img {
    max-width: 60vw;
  }
}
@media only screen and (orientation:landscape) and (max-width: 768px) {
  .header-section {
    position: absolute;
  }
}
.header-section a.logo img {
  transition: all 0.4s ease;
}
.header-section a.logo img img {
  height: 65px;
  max-width: 300px;
}
@media only screen and (max-width: 480px) {
  .header-section a.logo img img {
    max-width: 60vw;
  }
}
.header-section a.logo img.big {
  height: 100px;
}
.header-section a.logo img.big img {
  transition: all 0.4s ease;
  max-width: 300px;
  margin-top: 17px;
}
@media only screen and (max-width: 480px) {
  .header-section a.logo img.big img {
    max-width: 60vw;
  }
}
.header-section a.logo img.small {
  height: 65px;
}
.header-section a.logo img.small img {
  height: 65px;
  transition: all 0.4s ease;
  max-width: 250px;
}
@media only screen and (max-width: 480px) {
  .header-section a.logo img.small img {
    max-width: 60vw;
  }
}
.header-section .region--primary-menu {
  transition: all 0.4s ease;
  margin-top: 25px;
}
.header-section .region--primary-menu.big {
  margin-top: 25px;
  transition: all 0.4s ease;
}
.header-section .region--primary-menu.small {
  margin-top: 5px;
  transition: all 0.4s ease;
}
.header-section.small {
  background: #fff;
}
.header-content {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  max-width: 1500px;
}
@media screen and (max-width: 750px) {
  .header-content {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 750px) and screen and (max-width: 567px) {
  .header-content {
    padding-left: 17px;
    padding-right: 17px;
  }
}
@media only screen and (max-width: 1550px) {
  .header-content {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media only screen and (max-width: 1550px) and screen and (max-width: 567px) {
  .header-content {
    padding-left: 17px;
    padding-right: 17px;
  }
}
.logo {
  display: inline-block;
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  -khtml-user-select: none;
  /* Konqueror */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently */
}
@media only screen and (max-width: 480px) {
  .logo img {
    max-width: 60vw;
  }
}
.region--secondary-menu {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  height: 0;
}
@media screen and (max-width: 750px) {
  .region--secondary-menu {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 750px) and screen and (max-width: 567px) {
  .region--secondary-menu {
    padding-left: 17px;
    padding-right: 17px;
  }
}
.region--secondary-menu .contextual {
  right: -32px;
}
.region--primary-menu {
  float: right;
  max-width: 79%;
}
@media only screen and (max-width: 1200px) {
  .region--primary-menu {
    max-width: 70%;
  }
}
@media only screen and (max-width: 960px) {
  .region--primary-menu {
    max-width: 65%;
  }
}
.region--primary-menu .contextual {
  right: -32px;
}
section.top.topHidden {
  height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  padding: 0;
}
.header-content-top.topHidden {
  opacity: 0;
  transition: opacity 0.4s linear;
}
.header-content-top {
  opacity: 1;
  transition: opacity 0.4s linear 0.2s;
}
section.top {
  background-color: #949ea8;
  padding: 7px 0;
  height: 30px;
  transition: all 0.4s ease;
}
@media only screen and (max-width: 480px) {
  section.top {
    height: 25px;
    transition: height 0.4s ease;
  }
}
section.top ul {
  padding-left: 0;
  margin: 0;
}
section.top ul li {
  font-size: 0.85em;
  display: inline-block;
}
section.top ul li a {
  color: #f0f5f5;
  text-decoration: none;
  display: block;
  padding: 0.2em 1em;
}
section.top ul li a:hover {
  color: #f0f5f5;
  text-decoration: none;
  background-color: rgba(240, 245, 245, 0.3);
}
section.top ul li.is-active {
  background-color: #949ea8;
  color: #f0f5f5;
}
section.top ul li.is-active a {
  color: #f0f5f5;
}
section.top .region--header-top {
  display: inline-flex;
}
section.top .header-content-top {
  box-sizing: border-box;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  text-align: right;
}
@media screen and (max-width: 750px) {
  section.top .header-content-top {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 750px) and screen and (max-width: 567px) {
  section.top .header-content-top {
    padding-left: 17px;
    padding-right: 17px;
  }
}
section.top .header-content-top #block-sprachumschalter {
  float: right;
  z-index: 1;
  text-align: right;
}
section.top nav#block-top {
  float: right;
  z-index: 1;
  display: flex;
}
section.top nav#block-top:after {
  font-size: 0.85em;
  padding-top: 3px;
  content: "|";
  color: #949ea8;
}
section.top:before,
section.top:after {
  content: "";
  display: table;
}
section.top:after {
  clear: both;
}
body.de .block-language-blocklanguage-interface ul li {
  color: #f0f5f5;
}
body.de .block-language-blocklanguage-interface ul li a {
  color: #f0f5f5;
}
body.de .block-language-blocklanguage-interface ul li.de {
  color: #f0f5f5;
}
body.de .block-language-blocklanguage-interface ul li.de a {
  color: #f0f5f5;
}
body.fr .block-language-blocklanguage-interface ul li {
  color: #f0f5f5;
}
body.fr .block-language-blocklanguage-interface ul li a {
  color: #f0f5f5;
}
body.fr .block-language-blocklanguage-interface ul li.fr {
  color: #f0f5f5;
}
body.fr .block-language-blocklanguage-interface ul li.fr a {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li a {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li.en {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li.en a {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li a {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li.pt-br {
  color: #f0f5f5;
}
body.pt-br .block-language-blocklanguage-interface ul li.pt-br a {
  color: #f0f5f5;
}
.commerce-cart-block a {
  color: #fff;
  padding: 0.2em 1em;
  font-size: 0.85em;
}
.commerce-cart-block .commerce-cart-block--contents__inner a {
  color: #949ea8;
}
.commerce-cart-block .commerce-cart-block--contents__inner .commerce-cart-block--contents__links a {
  box-sizing: border-box;
  display: inline-block;
  padding: 0.3em 0.8em;
  font-size: 1em;
  text-align: center;
  text-decoration: none;
  color: #333333;
  background-color: transparent;
  border: 2px solid #e1e1f0;
  cursor: pointer;
  margin-left: 0;
  color: #fff;
  margin-right: 12px;
}
.commerce-cart-block .commerce-cart-block--contents__inner .commerce-cart-block--contents__links a a {
  color: #333333;
}
.commerce-cart-block .commerce-cart-block--contents__inner .commerce-cart-block--contents__links a:hover {
  background-color: #e1e1f0;
}
.commerce-cart-block--type-button .commerce-cart-block--contents {
  width: auto;
}
.overlay {
  height: 100%;
  width: 0%;
  position: fixed;
  z-index: 800;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
  overflow-x: hidden;
  transition: 0.5s;
}
.overlay .overlay-content {
  position: relative;
  top: 25%;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  font-size: 2.5em;
  padding-left: 0;
}
.overlay .overlay-content a {
  color: #ffffff;
  font-weight: 200;
}
.overlay .overlay-content a:hover {
  text-decoration: none;
  color: #bfbfbf;
}
.open {
  width: 100%;
}
.burgerwrapper {
  height: 35px;
  width: 35px;
  padding: 10px;
}
.burgerwrapper .burger,
.burgerwrapper .burger:before,
.burgerwrapper .burger:after {
  background: #949ea8;
  content: '';
  display: block;
  width: 35px;
  height: 3px;
  position: relative;
  top: 15px;
  transition: all 0.4s ease;
}
.burgerwrapper .burger:before {
  top: -12px;
}
.burgerwrapper .burger:after {
  top: 10px;
}
.burgerwrapper .closebutton,
.closebutton.burgerwrapper::after,
.closebutton.burgerwrapper::before {
  z-index: 800;
  position: relative;
}
.burgerwrapper .closebutton {
  background-color: transparent;
  transition: all 0.4s ease;
}
.burgerwrapper .closebutton::after {
  transform: rotate(45deg);
  transition: all 0.4s ease;
  top: -2px;
  background-color: #ffffff;
}
.burgerwrapper .closebutton::before {
  transform: rotate(-45deg);
  transition: all 0.4s ease;
  top: 0;
  background-color: #ffffff;
}
