@charset "UTF-8";
@-ms-viewport {
  width: device-width; }

*,
*:before,
*:after {
  border: 0 none;
  outline: 0 none;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

a,
a:link,
a:visited,
a:hover,
a:focus,
a:active {
  outline: 0;
  border: none;
  text-decoration: none; }

nav ul,
nav ul li,
.nav ul,
.nav ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

textarea {
  resize: vertical; }

img {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

body {
  background: #2f3335; }

.site {
  background: #f9f9f9;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
  position: relative; }

.maincontent {
  min-height: 50vh; }

.wrapper {
  max-width: 1600px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-right: auto;
  margin-left: auto; }
  .wrapper.slim {
    max-width: 1200px; }
  .wrapper.xslim {
    max-width: 800px; }
  @media only screen and (min-width: 820px) {
    .wrapper {
      padding-left: 2.7rem;
      padding-right: 2.7rem; } }
  @media only screen and (min-width: 1020px) {
    .wrapper {
      padding-left: 4.5rem;
      padding-right: 4.5rem; } }

.innerwrap {
  margin-right: auto;
  margin-left: auto;
  max-width: 1040px; }

.main:after,
.maincontent:after,
.wrapper:after,
.row:after,
.block:after,
.block_bg:after {
  content: "";
  display: table;
  clear: both; }

.block {
  margin-top: 6rem;
  margin-bottom: 6rem; }
  .block:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (min-width: 760px) {
    .block {
      margin-top: 8rem;
      margin-bottom: 8rem; } }
  @media only screen and (min-width: 1600px) {
    .block {
      margin-top: 14rem;
      margin-bottom: 14rem; } }

.block_top {
  margin-top: 6rem; }
  .block_top:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (min-width: 760px) {
    .block_top {
      margin-top: 8rem; } }
  @media only screen and (min-width: 1600px) {
    .block_top {
      margin-top: 14rem; } }

.block_bottom {
  margin-bottom: 6rem; }
  .block_bottom:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (min-width: 760px) {
    .block_bottom {
      margin-bottom: 8rem; } }
  @media only screen and (min-width: 1600px) {
    .block_bottom {
      margin-bottom: 14rem; } }

.block_bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding-top: 6rem;
  padding-bottom: 6rem; }
  .block_bg:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (min-width: 760px) {
    .block_bg {
      padding-top: 8rem;
      padding-bottom: 8rem; } }
  @media only screen and (min-width: 1600px) {
    .block_bg {
      padding-top: 14rem;
      padding-bottom: 14rem; } }

.block_bg_top {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding-top: 6rem; }
  .block_bg_top:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (min-width: 760px) {
    .block_bg_top {
      padding-top: 8rem; } }
  @media only screen and (min-width: 1600px) {
    .block_bg_top {
      padding-top: 14rem; } }

.block_bg_bottom {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding-bottom: 6rem; }
  .block_bg_bottom:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (min-width: 760px) {
    .block_bg_bottom {
      padding-bottom: 8rem; } }
  @media only screen and (min-width: 1600px) {
    .block_bg_bottom {
      padding-bottom: 14rem; } }

.block_bg + .block_bg,
.block_bg_top + .block_bg,
.block_bg_bottom + .block_bg {
  padding-top: 0; }
  @media only screen and (min-width: 760px) {
    .block_bg + .block_bg,
    .block_bg_top + .block_bg,
    .block_bg_bottom + .block_bg {
      padding-top: 0; } }
  @media only screen and (min-width: 1600px) {
    .block_bg + .block_bg,
    .block_bg_top + .block_bg,
    .block_bg_bottom + .block_bg {
      padding-top: 0; } }

.block *:first-child,
.block_top *:first-child,
.block_bottom *:first-child,
.block_bg *:first-child,
.block_bg_top *:first-child,
.block_bg_bottom *:first-child,
.box *:first-child {
  margin-top: 0; }

.block *:last-child,
.block_top *:last-child,
.block_bottom *:last-child,
.block_bg *:last-child,
.block_bg_top *:last-child,
.block_bg_bottom *:last-child,
.box *:last-child {
  margin-bottom: 0; }

.row {
  margin-right: -2%;
  margin-left: -2%; }

.inlinerow {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem; }
  @media only screen and (min-width: 1020px) {
    .inlinerow {
      margin-top: 1.875rem;
      margin-bottom: 1.875rem; } }
  .inlinerow.slim {
    margin-right: auto;
    margin-left: auto;
    max-width: 880px; }

.inlineheading {
  margin-bottom: 4.5rem !important; }
  @media only screen and (min-width: 760px) {
    .inlineheading {
      margin-bottom: 6rem !important; } }
  .inlineheading.slim {
    margin-right: auto;
    margin-left: auto;
    max-width: 880px; }

.inlinebox {
  margin-top: 6rem;
  margin-bottom: 6rem; }
  @media only screen and (min-width: 760px) {
    .inlinebox {
      margin-top: 7.5rem;
      margin-bottom: 7.5rem; } }
  .inlinebox.slim {
    margin-right: auto;
    margin-left: auto;
    max-width: 880px; }

.doublerow {
  margin-top: 7.8rem;
  margin-bottom: 7.8rem; }
  @media only screen and (min-width: 760px) {
    .doublerow {
      margin-top: 9.75rem;
      margin-bottom: 9.75rem; } }
  .doublerow.slim {
    margin-right: auto;
    margin-left: auto;
    max-width: 880px; }

.bg_white {
  background-color: #fff; }

.bg_light_gray {
  background-color: #bbbbbd; }

.bg_gray {
  background-color: #55565a; }

.bg_dark {
  background-color: #bdbdbd; }

.bg_black {
  background-color: #222; }

.bg_brand {
  background-color: #55565a; }

.min100,
.min100 > body {
  min-height: 100%;
  min-height: 100vh; }

.va {
  display: table;
  width: 100%;
  height: 100%; }
  .va .vat {
    display: table-cell;
    vertical-align: top;
    float: none; }
  .va .vam {
    display: table-cell;
    vertical-align: middle;
    float: none; }
  .va .vab {
    display: table-cell;
    vertical-align: bottom;
    float: none; }

.header_spacer {
  height: 120px; }
  @media only screen and (max-width: 1020px) {
    .header_spacer {
      height: 90px; } }

.intro {
  overflow: hidden;
  position: relative; }
  .intro ul,
  .intro ul li {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0; }
  .intro .wrapper {
    padding-left: 4.5rem;
    padding-right: 4.5rem; }
    .intro .wrapper .button, .intro .wrapper form .senden, form .intro .wrapper .senden,
    .intro .wrapper form button, form .intro .wrapper button,
    .intro .wrapper form input[type="submit"], form .intro .wrapper input[type="submit"] {
      margin-right: 0.5rem;
      margin-top: 1.25rem;
      margin-bottom: 1.25rem;
      width: auto !important;
      display: inline-block; }
  .loaded .intro .wrapper {
    -webkit-animation: fadeup 1s;
    animation: fadeup 1s; }
  .intro .content {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute; }
    @media only screen and (min-width: 780px) {
      .intro .content .wrapper * {
        width: 50%; } }
  @media only screen and (max-width: 779px) {
    .intro .align {
      text-align: center;
      vertical-align: bottom;
      padding-bottom: 3rem; } }
  @media only screen and (max-width: 540px) {
    .intro .align {
      padding-bottom: 1.75rem; } }
  .intro .unslider-nav {
    width: 3rem; }
    .intro .unslider-nav ol li {
      margin: 4px 0; }
  .intro .font_white * {
    text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.8); }
  @media only screen and (max-width: 440px) {
    .intro h1, .intro h2 {
      font-size: 1.33333rem; }
    .intro h3, .intro h4 {
      font-size: 1.08333rem; } }
  @media only screen and (max-width: 390px) {
    .intro h1, .intro h2 {
      font-size: 1.14286rem; }
    .intro h3, .intro h4 {
      font-size: 0.92857rem; } }
  .intro .more {
    display: none; }
    @media only screen and (min-width: 1040px) {
      .intro .more {
        display: block;
        position: absolute; }
        .intro .more a:hover .link {
          opacity: 1;
          margin-left: 4px; }
        .intro .more a:hover .plus {
          -webkit-transform: translate(-50%, 0) rotate(-180deg);
          -ms-transform: translate(-50%, 0) rotate(-180deg);
          transform: translate(-50%, 0) rotate(-180deg); }
        .intro .more a,
        .intro .more .link,
        .intro .more .plus {
          height: 23px;
          line-height: 23px;
          display: block;
          position: relative;
          vertical-align: inherit; }
          .loaded .intro .more a, .loaded
          .intro .more .link, .loaded
          .intro .more .plus {
            -webkit-transition: 0.2s margin, 0.5s opacity, -webkit-transform 0.25s ease-in-out;
            transition: 0.2s margin, 0.5s opacity, -webkit-transform 0.25s ease-in-out;
            -o-transition: transform 0.25s ease-in-out, 0.2s margin, 0.5s opacity;
            transition: transform 0.25s ease-in-out, 0.2s margin, 0.5s opacity;
            transition: transform 0.25s ease-in-out, 0.2s margin, 0.5s opacity, -webkit-transform 0.25s ease-in-out; }
        .intro .more .link,
        .intro .more .plus {
          float: left; }
        .intro .more .link {
          opacity: 0;
          font-size: 12px;
          margin-left: -8px;
          background: rgba(255, 255, 255, 0.8);
          padding: 0 0.5rem;
          border-radius: 1px; }
        .intro .more .plus {
          width: 23px;
          height: 23px;
          border-radius: 100%;
          border: 1px solid #fff;
          -webkit-transform: translate(-50%, 0);
          -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0); }
          .intro .more .plus:before, .intro .more .plus:after {
            content: '';
            display: block;
            position: absolute;
            background: #fff; }
          .intro .more .plus:before {
            left: 25%;
            width: 50%;
            top: 50%;
            height: 1px;
            margin-top: -0.5px; }
          .intro .more .plus:after {
            top: 25%;
            height: 50%;
            left: 50%;
            width: 1px;
            margin-left: -0.5px; } }
    @media only screen and (min-width: 1420px) {
      .intro .more .plus {
        width: 27px;
        height: 27px; }
      .intro .more a,
      .intro .more .link {
        line-height: 27px;
        height: 27px; } }

.maincontent {
  overflow: hidden; }

.hero_product {
  padding: 7rem 0;
  background: #F2F2F2; }
  .hero_product .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -ms-flexbox | -ms-inline-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .hero_product .image {
    width: 40%;
    padding: 0 7%; }
  .hero_product .content {
    width: 60%; }

.multi_slider {
  padding-top: 8rem;
  padding-bottom: 8rem; }
  @media only screen and (min-width: 760px) {
    .multi_slider {
      padding-top: 14rem;
      padding-bottom: 14rem; } }
  @media only screen and (min-width: 1600px) {
    .multi_slider {
      padding-top: 19rem;
      padding-bottom: 19rem; } }
  .multi_slider .font_white * {
    text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.8); }

.mainfooter {
  border-top: 1px solid #eee;
  background-color: #fff; }
  .mainfooter .logo_wrap {
    padding: 2.5rem 0;
    border-bottom: 1px solid #eee; }
    .mainfooter .logo_wrap .logo,
    .mainfooter .logo_wrap .logo img {
      margin: 0 auto;
      width: 120px;
      height: auto;
      display: block; }
      .mainfooter .logo_wrap .logo:hover path,
      .mainfooter .logo_wrap .logo:hover rect,
      .mainfooter .logo_wrap .logo:hover polygon,
      .mainfooter .logo_wrap .logo img:hover path,
      .mainfooter .logo_wrap .logo img:hover rect,
      .mainfooter .logo_wrap .logo img:hover polygon {
        fill: #222; }
    @media only screen and (min-width: 760px) {
      .mainfooter .logo_wrap {
        padding: 4rem 0; }
        .mainfooter .logo_wrap .logo,
        .mainfooter .logo_wrap .logo img {
          width: 150px; } }
  .mainfooter .navs {
    overflow: hidden;
    padding: 2.5rem 0;
    text-transform: uppercase;
    font-size: 0.9rem; }
  @media only screen and (max-width: 760px) {
    .mainfooter .navs {
      padding: 1.5rem 0; }
    .mainfooter .meta,
    .mainfooter .sm {
      padding: .75rem 0;
      text-align: center; }
      .mainfooter .meta *,
      .mainfooter .sm * {
        text-align: center; }
    .mainfooter .smnav {
      margin-top: 0.75rem; } }
  @media only screen and (min-width: 760px) {
    .mainfooter .meta {
      float: right; } }
  .mainfooter .meta nav ul li a {
    font-size: 0.8rem; }
  .mainfooter .sm {
    overflow: hidden; }
    @media only screen and (min-width: 760px) {
      .mainfooter .sm {
        float: left; }
        .mainfooter .sm div,
        .mainfooter .sm nav {
          float: left; } }
    .mainfooter .sm div {
      padding-top: 0.25rem;
      padding-right: 0.5rem; }
    .mainfooter .sm nav a svg {
      vertical-align: middle; }
    .mainfooter .sm nav a svg path {
      fill: #999a9c; }
    .mainfooter .sm nav a:hover svg path {
      fill: #222; }

.error_page,
.error_page > body,
.error_page > body .maincontent .wrap {
  min-height: 85%;
  min-height: 85vh; }

.error_page .maincontent {
  color: #D94747;
  text-align: center; }
  .error_page .maincontent * {
    color: inherit; }

.error_page .error {
  position: relative;
  -webkit-animation: error_noise 2s linear infinite;
  animation: error_noise 2s linear infinite;
  overflow: default;
  font-weight: 600;
  font-size: 5rem; }
  @media only screen and (min-width: 1280px) {
    .error_page .error {
      font-size: 12rem; } }
  .error_page .error:before, .error_page .error:after {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0; }
  .error_page .error:after {
    content: '404';
    color: blue;
    -webkit-animation: error_noise_before .2s linear infinite;
    animation: error_noise_before .2s linear infinite; }
  .error_page .error:before {
    content: '404';
    -webkit-animation: error_noise_after .2s linear infinite;
    animation: error_noise_after .2s linear infinite; }

.error_page .info {
  -webkit-animation: error_noise_info 1s linear infinite;
  animation: error_noise_info 1s linear infinite;
  padding-bottom: 3rem; }

@-webkit-keyframes error_noise {
  0%, 3%, 5%, 42%, 44%, 100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }
  4.3% {
    opacity: 1;
    -webkit-transform: scaleY(1.7);
    transform: scaleY(1.7); }
  43% {
    opacity: 1;
    -webkit-transform: scaleX(1.5);
    transform: scaleX(1.5); } }

@keyframes error_noise {
  0%, 3%, 5%, 42%, 44%, 100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }
  4.3% {
    opacity: 1;
    -webkit-transform: scaleY(1.7);
    transform: scaleY(1.7); }
  43% {
    opacity: 1;
    -webkit-transform: scaleX(1.5);
    transform: scaleX(1.5); } }

@-webkit-keyframes error_noise_before {
  0%, 20%, 40%, 60%, 70%, 90% {
    opacity: 0; }
  10% {
    opacity: .1; }
  50% {
    opacity: .5;
    left: -6px; }
  80% {
    opacity: .3; }
  100% {
    opacity: .6;
    left: 2px; } }

@keyframes error_noise_before {
  0%, 20%, 40%, 60%, 70%, 90% {
    opacity: 0; }
  10% {
    opacity: .1; }
  50% {
    opacity: .5;
    left: -6px; }
  80% {
    opacity: .3; }
  100% {
    opacity: .6;
    left: 2px; } }

@-webkit-keyframes error_noise_after {
  0%, 20%, 40%, 60%, 70%, 90% {
    opacity: 0; }
  10% {
    opacity: .1; }
  50% {
    opacity: .5;
    left: 6px; }
  80% {
    opacity: .3; }
  100% {
    opacity: .6;
    left: -2px; } }

@keyframes error_noise_after {
  0%, 20%, 40%, 60%, 70%, 90% {
    opacity: 0; }
  10% {
    opacity: .1; }
  50% {
    opacity: .5;
    left: 6px; }
  80% {
    opacity: .3; }
  100% {
    opacity: .6;
    left: -2px; } }

@-webkit-keyframes error_noise_info {
  0%, 3%, 5%, 42%, 44%, 100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }
  4.3% {
    opacity: 1;
    -webkit-transform: scaleY(4);
    transform: scaleY(4); } }

@keyframes error_noise_info {
  0%, 3%, 5%, 42%, 44%, 100% {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }
  4.3% {
    opacity: 1;
    -webkit-transform: scaleY(4);
    transform: scaleY(4); } }

.encyclopedia .wrapper:after {
  content: "";
  display: table;
  clear: both; }

.encyclopedia .main {
  padding: 2rem 4rem;
  background: #fff; }

.encyclopedia .back {
  text-align: right;
  margin-bottom: 1.5rem; }

@media only screen and (max-width: 819px) {
  .encyclopedia .aside {
    width: 60%;
    margin: 0 auto; } }

@media only screen and (min-width: 820px) {
  .encyclopedia .aside {
    width: 33%;
    float: left;
    z-index: 2;
    position: relative; }
    .encyclopedia .aside .image {
      -webkit-transform: scale(1.15);
      -ms-transform: scale(1.15);
      transform: scale(1.15); }
  .encyclopedia .back {
    width: 67%;
    float: right; }
  .encyclopedia .main {
    width: 67%;
    float: right;
    padding: 2rem 4rem; }
  .encyclopedia .back.full,
  .encyclopedia .main.full {
    width: 100%;
    float: none; } }

@media only screen and (max-width: 1019px) {
  .infoform .wrapper {
    max-width: 700px; } }

@media only screen and (min-width: 1020px) {
  .infoform .heading {
    float: left;
    width: 45%; }
  .infoform .form {
    float: right;
    background: #fff;
    width: 48%;
    padding: 3rem; }
    .infoform .form label, .infoform .form a {
      color: #222;
      font-size: .9rem; }
    .infoform .form h3 {
      color: #222; } }

.shop_header .info {
  /*
		background: #ebebeb;
		background: -moz-radial-gradient(center, ellipse cover, #fcfcfc 0%, #d7d7d7 100%);
		background: -webkit-radial-gradient(center, ellipse cover, #fcfcfc 0%, #d7d7d7 100%);
		background: radial-gradient(ellipse at center, #fcfcfc 0%, #d7d7d7 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#d7d7d7',GradientType=1 );
*/ }
  .shop_header .info h1, .shop_header .info h2, .shop_header .info h3, .shop_header .info h4 {
    text-align: center;
    margin-bottom: 2rem; }

.shop_header .form {
  background: #fff;
  padding: 3rem; }

.shop_header .back {
  text-align: right;
  margin-bottom: 1.5rem; }

@media only screen and (min-width: 1020px) {
  .shop_header .info {
    float: left;
    width: 50%; }
  .shop_header .form_wrap {
    float: right;
    width: 45%; } }

.image_multi ul,
.image_multi ul li {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none; }

.image_multi.list li,
.image_multi.gallery li {
  margin-bottom: 1.6%; }

.image_multi.gallery ul {
  overflow: hidden;
  margin-right: -0.8%;
  margin-left: -0.8%; }
  .image_multi.gallery ul li {
    float: left;
    width: 98.4%;
    margin-right: 0.8%;
    margin-left: 0.8%; }
  @media only screen and (min-width: 580px) {
    .image_multi.gallery ul li {
      width: 48.4%;
      margin-right: 0.8%;
      margin-left: 0.8%; } }
  @media only screen and (min-width: 1280px) {
    .image_multi.gallery ul li {
      width: 31.73333%;
      margin-right: 0.8%;
      margin-left: 0.8%; } }

.image_multi.masonry ul {
  -webkit-column-gap: 1.6%;
  column-gap: 1.6%;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-column-fill: initial;
  column-fill: initial; }
  @media only screen and (min-width: 580px) and (max-width: 1019px) {
    .image_multi.masonry ul {
      -webkit-column-count: 2;
      column-count: 2; } }
  @media only screen and (min-width: 1020px) and (max-width: 1599px) {
    .image_multi.masonry ul {
      -webkit-column-count: 3;
      column-count: 3; } }
  @media only screen and (min-width: 1600px) {
    .image_multi.masonry ul {
      -webkit-column-count: 3;
      column-count: 3; } }
  .image_multi.masonry ul li {
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 2.4%; }

.between_image {
  min-height: 50vh;
  height: 60vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

.nav:after,
nav:after {
  content: "";
  display: table;
  clear: both; }

.nav ul,
.nav ul li,
.nav ul ul,
nav ul,
nav ul li,
nav ul ul {
  padding: 0;
  margin: 0; }

.nav ul li a,
nav ul li a {
  display: inline-block;
  color: #55565a; }
  .nav ul li a:hover, .nav ul li a:focus,
  nav ul li a:hover,
  nav ul li a:focus {
    color: #55565a; }
  .nav ul li a.active,
  nav ul li a.active {
    color: #55565a; }

.nav.white_color ul li a,
nav.white_color ul li a {
  display: inline-block;
  color: #fff; }
  .nav.white_color ul li a:hover, .nav.white_color ul li a:focus,
  nav.white_color ul li a:hover,
  nav.white_color ul li a:focus {
    color: #55565a; }
  .nav.white_color ul li a.active,
  nav.white_color ul li a.active {
    color: #55565a; }

.nav.iconnav ul li,
nav.iconnav ul li {
  display: inline-block;
  margin-right: 0.3rem;
  margin-left: 0.3rem;
  max-width: 28px; }
  .nav.iconnav ul li a, .nav.iconnav ul li img, .nav.iconnav ul li svg,
  nav.iconnav ul li a,
  nav.iconnav ul li img,
  nav.iconnav ul li svg {
    vertical-align: middle;
    max-width: 28px;
    width: 26px;
    height: 26px;
    display: inline-block; }
  .nav.iconnav ul li span,
  nav.iconnav ul li span {
    display: none; }

.nav.horizontal > ul > li,
nav.horizontal > ul > li {
  display: inline-block;
  margin-right: 0.6rem;
  margin-left: 0.6rem; }
  .nav.horizontal > ul > li:first-child,
  nav.horizontal > ul > li:first-child {
    margin-left: 0; }
  .nav.horizontal > ul > li:last-child,
  nav.horizontal > ul > li:last-child {
    margin-right: 0; }

.nav.vertical > ul > li,
nav.vertical > ul > li {
  display: block;
  margin-top: 0.3rem;
  margin-bottom: 0.3rem; }
  .nav.vertical > ul > li:first-child,
  nav.vertical > ul > li:first-child {
    margin-top: 0; }
  .nav.vertical > ul > li:last-child,
  nav.vertical > ul > li:last-child {
    margin-bottom: 0; }

.menu_open {
  overflow: hidden; }

.nav_trigger {
  display: none; }
  @media only screen and (max-width: 1020px) {
    .nav_trigger {
      margin-top: 0.8rem;
      height: 40px;
      width: 28px;
      display: block;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      color: transparent;
      padding: 10px 0;
      position: absolute;
      top: 0;
      right: 0; }
      .nav_trigger .wrap {
        height: 20px;
        width: 28px;
        position: relative; }
      .nav_trigger span {
        position: absolute;
        height: 2px;
        width: 100%;
        left: 0;
        right: 100%;
        -webkit-transition: background 0.2s 0.2s;
        -o-transition: background 0.2s 0.2s;
        transition: background 0.2s 0.2s; }
        .nav_trigger span::before, .nav_trigger span::after {
          content: '';
          position: absolute;
          height: 2px;
          background-color: #55565a; }
      .nav_trigger .l1::before, .nav_trigger .l1::after,
      .nav_trigger .l3::before,
      .nav_trigger .l3::after {
        width: 50%;
        -webkit-transition: width 0.2s 0.2s;
        -o-transition: width 0.2s 0.2s;
        transition: width 0.2s 0.2s; }
      .nav_trigger .l1::before,
      .nav_trigger .l3::before {
        left: 50%; }
      .nav_trigger .l1::after,
      .nav_trigger .l3::after {
        right: 50%; }
      .nav_trigger .l1 {
        top: 0; }
      .nav_trigger .l2 {
        top: 50%;
        margin-top: -1px; }
        .nav_trigger .l2::before, .nav_trigger .l2:after {
          width: 100%;
          left: 0;
          top: 0;
          -webkit-transition: -webkit-transform 0.2s 0.2s;
          transition: -webkit-transform 0.2s 0.2s;
          -o-transition: transform 0.2s 0.2s;
          transition: transform 0.2s 0.2s;
          transition: transform 0.2s 0.2s, -webkit-transform 0.2s 0.2s; }
      .nav_trigger .l3 {
        bottom: 0; }
      .menu_open .nav_trigger .l1::before, .menu_open .nav_trigger .l1::after,
      .menu_open .nav_trigger .l3::before,
      .menu_open .nav_trigger .l3::after {
        width: 0%; }
      .menu_open .nav_trigger .l2::before, .menu_open .nav_trigger .l2::after {
        background-color: #55565a; }
      .menu_open .nav_trigger .l2::before {
        -webkit-transform: translateY(0) rotate(-45deg);
        -ms-transform: translateY(0) rotate(-45deg);
        transform: translateY(0) rotate(-45deg); }
      .menu_open .nav_trigger .l2::after {
        -webkit-transform: translateY(0) rotate(45deg);
        -ms-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg); } }

.navbar {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 8; }
  .navbar .wrapper {
    position: relative; }
  .navbar .topbar {
    overflow: hidden;
    height: 96px;
    padding: 14px 0;
    /*
	    max-width: 1920px;
	    margin: 0 auto;
	    overflow: hidden;
	    position: relative;
	    transition: background-color 0.3s, background 0.3s, box-shadow 0.2s;
*/ }
  .navbar .logo {
    display: block;
    width: 148.104px;
    height: 68px;
    line-height: 68px;
    margin: 0 auto;
    vertical-align: middle;
    -webkit-transition: ease-in width 0.2s, ease-in height 0.2s;
    -o-transition: ease-in width 0.2s, ease-in height 0.2s;
    transition: ease-in width 0.2s, ease-in height 0.2s; }
    .navbar .logo img,
    .navbar .logo svg {
      width: 100%;
      height: auto;
      display: inline-block;
      vertical-align: middle; }
  .navbar .mainnav_opener,
  .navbar .servicenav {
    display: none; }
  .navbar .logo_wrap {
    position: relative; }
  @media only screen and (min-width: 1020px) {
    .navbar {
      height: 120px;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      -webkit-transition: background-color 0.3s, -webkit-box-shadow 0.2s;
      transition: background-color 0.3s, -webkit-box-shadow 0.2s;
      -o-transition: background-color 0.3s, box-shadow 0.2s;
      transition: background-color 0.3s, box-shadow 0.2s;
      transition: background-color 0.3s, box-shadow 0.2s, -webkit-box-shadow 0.2s;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
      .navbar .topbar {
        overflow: hidden;
        height: 120px;
        padding: 24px 0; }
      .navbar .logo {
        width: 187.2px;
        height: 72px;
        line-height: 72px; }
        .navbar .logo:hover path,
        .navbar .logo:hover rect,
        .navbar .logo:hover polygon {
          fill: #222; }
      .navbar .mainnav_opener,
      .navbar .servicenav {
        display: block;
        height: 68px;
        line-height: 68px;
        width: 40%;
        float: left;
        text-align: left; }
      .navbar .logo_wrap {
        width: 20%;
        float: left;
        text-align: center; }
      .navbar .servicenav {
        text-align: right; }
      .navbar.is_fixed,
      .navbar.is_fixed .topbar {
        height: 96px; }
      .navbar.is_fixed {
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        -o-transition: transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
        top: -96px;
        background-color: #fff;
        position: fixed; }
        .navbar.is_fixed .topbar {
          padding: 14px 0; }
        .navbar.is_fixed .logo {
          width: 147.78947px;
          height: 37.89474px; }
      .navbar.is_visible {
        -webkit-box-shadow: 0 0 40px rgba(50, 50, 50, 0.05);
        box-shadow: 0 0 40px rgba(50, 50, 50, 0.05);
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0); }
      .navbar.nav_open {
        background: #fff; }
      .navbar .search a {
        vertical-align: sub;
        width: 20px; }
        .navbar .search a span {
          display: none; }
        .navbar .search a:hover svg path {
          fill: #55565a; }
      .navbar .search a,
      .navbar .search a svg {
        vertical-align: sub;
        width: 20px;
        height: 20px; }
      .navbar .mainnav_opener ul li,
      .navbar .servicenav ul li {
        font-size: 0.85rem;
        text-transform: uppercase;
        font-weight: 300; }
      .with_intro .navbar .mainnav_opener ul li {
        color: #fff; }
        .with_intro .navbar .mainnav_opener ul li.current {
          color: #222; }
      .with_intro .navbar.is_fixed .mainnav_opener ul li,
      .with_intro .navbar.nav_open .mainnav_opener ul li {
        color: #55565a; } }
  .navbar.white .topbar ul li a {
    color: #fff; }
    .navbar.white .topbar ul li a:hover {
      color: #55565a; }
  .navbar.white .topbar .search path,
  .navbar.white .topbar .search rect,
  .navbar.white .topbar .logo path,
  .navbar.white .topbar .logo rect {
    fill: #fff; }
  .navbar.white .topbar .search:hover path,
  .navbar.white .topbar .search:hover rect,
  .navbar.white .topbar .logo:hover path,
  .navbar.white .topbar .logo:hover rect {
    fill: #55565a; }
  .navbar.white.is_fixed .nav ul li a, .navbar.white.nav_open .nav ul li a {
    color: #55565a; }
  .navbar.white.is_fixed .search path,
  .navbar.white.is_fixed .search rect,
  .navbar.white.is_fixed .logo path,
  .navbar.white.is_fixed .logo rect, .navbar.white.nav_open .search path,
  .navbar.white.nav_open .search rect,
  .navbar.white.nav_open .logo path,
  .navbar.white.nav_open .logo rect {
    fill: #222; }
  .navbar.white.is_fixed .search:hover path,
  .navbar.white.is_fixed .search:hover rect,
  .navbar.white.is_fixed .logo:hover path,
  .navbar.white.is_fixed .logo:hover rect, .navbar.white.nav_open .search:hover path,
  .navbar.white.nav_open .search:hover rect,
  .navbar.white.nav_open .logo:hover path,
  .navbar.white.nav_open .logo:hover rect {
    fill: #222; }
  .navbar.black .topbar ul li a {
    color: #222; }
    .navbar.black .topbar ul li a:hover {
      color: #55565a; }
  .navbar.black .topbar .search path,
  .navbar.black .topbar .search rect,
  .navbar.black .topbar .logo path,
  .navbar.black .topbar .logo rect {
    fill: #222; }
  .navbar.black .topbar .search:hover path,
  .navbar.black .topbar .search:hover rect,
  .navbar.black .topbar .logo:hover path,
  .navbar.black .topbar .logo:hover rect {
    fill: #55565a; }
  .navbar.black.is_fixed .nav ul li a, .navbar.black.nav_open .nav ul li a {
    color: #55565a; }
  .navbar.black.is_fixed .search path,
  .navbar.black.is_fixed .search rect,
  .navbar.black.is_fixed .logo path,
  .navbar.black.is_fixed .logo rect, .navbar.black.nav_open .search path,
  .navbar.black.nav_open .search rect,
  .navbar.black.nav_open .logo path,
  .navbar.black.nav_open .logo rect {
    fill: #222; }
  .navbar.black.is_fixed .search:hover path,
  .navbar.black.is_fixed .search:hover rect,
  .navbar.black.is_fixed .logo:hover path,
  .navbar.black.is_fixed .logo:hover rect, .navbar.black.nav_open .search:hover path,
  .navbar.black.nav_open .search:hover rect,
  .navbar.black.nav_open .logo:hover path,
  .navbar.black.nav_open .logo:hover rect {
    fill: #222; }
  .navbar.gray .topbar ul li a {
    color: #55565a; }
    .navbar.gray .topbar ul li a:hover {
      color: #2f2f32; }
  .navbar.gray .topbar .search path,
  .navbar.gray .topbar .search rect,
  .navbar.gray .topbar .logo path,
  .navbar.gray .topbar .logo rect {
    fill: #55565a; }
  .navbar.gray .topbar .search:hover path,
  .navbar.gray .topbar .search:hover rect,
  .navbar.gray .topbar .logo:hover path,
  .navbar.gray .topbar .logo:hover rect {
    fill: #2f2f32; }
  .navbar.gray.is_fixed .nav ul li a, .navbar.gray.nav_open .nav ul li a {
    color: #55565a; }
  .navbar.gray.is_fixed .search path,
  .navbar.gray.is_fixed .search rect,
  .navbar.gray.is_fixed .logo path,
  .navbar.gray.is_fixed .logo rect, .navbar.gray.nav_open .search path,
  .navbar.gray.nav_open .search rect,
  .navbar.gray.nav_open .logo path,
  .navbar.gray.nav_open .logo rect {
    fill: #222; }
  .navbar.gray.is_fixed .search:hover path,
  .navbar.gray.is_fixed .search:hover rect,
  .navbar.gray.is_fixed .logo:hover path,
  .navbar.gray.is_fixed .logo:hover rect, .navbar.gray.nav_open .search:hover path,
  .navbar.gray.nav_open .search:hover rect,
  .navbar.gray.nav_open .logo:hover path,
  .navbar.gray.nav_open .logo:hover rect {
    fill: #222; }

.mainnav {
  background: #55565a;
  color: #fff; }
  .mainnav * {
    color: #fff; }
  .mainnav ul {
    overflow: hidden; }
    .mainnav ul li a {
      font-size: 1.1rem;
      text-transform: uppercase;
      display: block;
      color: #fff; }
      .mainnav ul li a:hover, .mainnav ul li a:active, .mainnav ul li a:focus {
        color: #808083; }
      .mainnav ul li a.active {
        color: #808083; }
      .mainnav ul li a.no_hover:hover, .mainnav ul li a.no_hover {
        cursor: default;
        color: #fff; }
  .mainnav .extra.nav_address .title {
    margin-top: 1rem; }
  .mainnav .extra.nav_search li {
    width: 100%; }
  @media only screen and (max-width: 1020px) {
    .mainnav {
      -webkit-transition: -webkit-transform ease-in-out 0.2s;
      transition: -webkit-transform ease-in-out 0.2s;
      -o-transition: transform ease-in-out 0.2s;
      transition: transform ease-in-out 0.2s;
      transition: transform ease-in-out 0.2s, -webkit-transform ease-in-out 0.2s;
      width: 370px;
      height: 100%;
      visibility: hidden;
      position: fixed;
      z-index: 0;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      overflow-x: scroll;
      display: none; }
      .mainnav.show, .mainnav.moved {
        display: block; }
      .mainnav_open .mainnav {
        visibility: visible; }
      .mainnav .wrapper {
        margin: 0;
        padding: 0; }
      .mainnav ul.navlevel_1 {
        padding: 2rem; }
      .mainnav .level_1 {
        padding: 1rem 0;
        border-top: 1px solid #66676b; }
        .mainnav .level_1:first-child {
          border: none; }
        .mainnav .level_1 > a {
          font-size: 1.1rem;
          font-weight: 600; }
        .mainnav .level_1.has_children {
          position: relative; }
          .mainnav .level_1.has_children > span {
            pointer-events: none;
            display: block;
            position: absolute;
            width: 12px;
            height: 12px;
            top: 50%;
            margin-top: -7px;
            right: 0; }
            .mainnav .level_1.has_children > span:before, .mainnav .level_1.has_children > span:after {
              -webkit-transition: -webkit-transform 0.2s;
              transition: -webkit-transform 0.2s;
              -o-transition: transform 0.2s;
              transition: transform 0.2s;
              transition: transform 0.2s, -webkit-transform 0.2s;
              content: '';
              position: absolute;
              left: 50%;
              top: 50%;
              display: block;
              margin-left: -6px;
              width: 12px;
              height: 1px;
              background: #55565a; }
            .mainnav .level_1.has_children > span:after {
              -webkit-transform: rotate(90deg);
              -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
          .mainnav .level_1.has_children.m_active span:before {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
          .mainnav .level_1.has_children.m_active span:after {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
      .mainnav ul.navlevel_2 {
        display: none; }
      .mainnav .level_2 {
        margin: 1rem 0; }
      .mainnav ul.navlevel_3 {
        margin: 0.2rem 0 0.5rem; }
      .mainnav .level_3 > a {
        text-transform: none; }
      .mainnav .extra .search_form {
        margin-top: 1rem; } }
  @media only screen and (max-width: 480px) {
    .mainnav {
      width: 250px; } }
  @media only screen and (min-width: 1020px) {
    .mainnav .level_1 > span {
      display: none; }
    .mainnav .level_2 > a {
      margin-bottom: 0.55rem;
      font-weight: 400; }
    .mainnav ul.navlevel_1 li.level_1 {
      padding: 2.5rem 0;
      display: none; }
    .mainnav ul.navlevel_1 > li > a {
      display: none; }
    .mainnav ul.navlevel_2[style] {
      display: block !important; }
    .mainnav ul.navlevel_2 > li {
      width: 33%;
      float: left; } }
  @media only screen and (min-width: 1020px) and (min-width: 1280px) {
    .mainnav ul.navlevel_2 > li {
      width: 20%;
      float: left; } }

@media only screen and (max-width: 1020px) {
  .site {
    position: relative;
    z-index: 1;
    -webkit-transition: -webkit-transform ease-in-out 0.2s;
    transition: -webkit-transform ease-in-out 0.2s;
    -o-transition: transform ease-in-out 0.2s;
    transition: transform ease-in-out 0.2s;
    transition: transform ease-in-out 0.2s, -webkit-transform ease-in-out 0.2s; }
    .mainnav_open .site {
      -webkit-transform: translateX(-370px);
      -ms-transform: translateX(-370px);
      transform: translateX(-370px); } }

@media only screen and (max-width: 480px) {
  .site {
    -webkit-transition: -webkit-transform ease-in-out 0.2s;
    transition: -webkit-transform ease-in-out 0.2s;
    -o-transition: transform ease-in-out 0.2s;
    transition: transform ease-in-out 0.2s;
    transition: transform ease-in-out 0.2s, -webkit-transform ease-in-out 0.2s; }
    .mainnav_open .site {
      -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
      transform: translateX(-250px); } }

ul.accordion {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.accordion > li {
    -webkit-transition: background 0.3s ease-in, color 0.3s ease-in;
    -o-transition: background 0.3s ease-in, color 0.3s ease-in;
    transition: background 0.3s ease-in, color 0.3s ease-in;
    margin: 0;
    padding: 0;
    position: relative;
    background: #fff;
    margin-bottom: 0.75rem; }
  ul.accordion .content,
  ul.accordion .title {
    padding: 1rem 1em; }
    @media only screen and (min-width: 580px) {
      ul.accordion .content,
      ul.accordion .title {
        padding: 2rem 2.5rem; } }
  ul.accordion .title {
    line-height: 1;
    position: relative;
    padding-right: 10%; }
    ul.accordion .title span {
      display: block;
      position: absolute;
      width: 24px;
      height: 24px;
      margin-top: -12px !important;
      top: 50%;
      right: 0;
      border-radius: 100%;
      right: 1em; }
      @media only screen and (min-width: 580px) {
        ul.accordion .title span {
          right: 2.5rem; } }
      .no-js ul.accordion .title span {
        display: none; }
      ul.accordion .title span:before, ul.accordion .title span:after {
        -webkit-transition: -webkit-transform 0.2s;
        transition: -webkit-transform 0.2s;
        -o-transition: transform 0.2s;
        transition: transform 0.2s;
        transition: transform 0.2s, -webkit-transform 0.2s;
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        display: block;
        margin-left: -12px;
        margin-top: -1px;
        width: 24px;
        height: 1px;
        background: #55565a; }
      ul.accordion .title span:after {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg); }
      @media only screen and (max-width: 580px) {
        ul.accordion .title span {
          width: 18px;
          height: 18px;
          margin-top: -9px !important; }
          ul.accordion .title span:before, ul.accordion .title span:after {
            margin-left: -9px;
            width: 18px; } }
    ul.accordion .title.active span:before {
      -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }
    ul.accordion .title.active span:after {
      -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }
  ul.accordion .content {
    display: none;
    padding-top: 0; }
    .no-js ul.accordion .content {
      display: block; }

ul.tabs {
  margin: 0px;
  padding: 0px;
  list-style: none;
  text-align: left; }
  ul.tabs li {
    margin: 0;
    padding: 0;
    display: inline-block;
    cursor: pointer;
    vertical-align: bottom; }
    ul.tabs li .title {
      display: inline-block;
      border: 0;
      width: auto;
      padding: 15px 25px;
      text-transform: uppercase;
      font-weight: 600;
      color: #55565a;
      font-size: 0.9rem; }
    ul.tabs li.current {
      background: #fff; }

.tab_content {
  background: transparent;
  display: none;
  position: relative;
  padding-top: 2.5rem;
  border-top: 5px #fff solid; }
  .tab_content.current {
    display: inherit; }
  .tab_content .title {
    margin-bottom: 2rem; }

.fact_list {
  overflow: hidden; }
  .fact_list .fact {
    text-align: center;
    margin-bottom: 2.5rem;
    position: relative;
    font-size: 1rem; }
  .fact_list .icon {
    background-size: 36px 36px;
    position: relative;
    height: 36px;
    width: 36px;
    margin-bottom: 15px;
    margin-top: 6px;
    display: inline-block; }
  @media only screen and (min-width: 580px) {
    .fact_list {
      margin-right: -2%;
      margin-left: -2%; }
      .fact_list .fact {
        text-align: left; }
      .fact_list .content {
        margin-left: 75px;
        padding-right: 22px; }
      .fact_list .icon {
        float: left;
        background-size: 46px 46px;
        position: relative;
        height: 46px;
        width: 46px;
        margin-bottom: 15px;
        display: inline-block; } }
  @media only screen and (min-width: 580px) and (max-width: 819px) {
    .fact_list .fact {
      width: 46%;
      margin-right: 2%;
      margin-left: 2%;
      float: left; }
      .fact_list .fact:nth-child(2n) {
        clear: right; }
      .fact_list .fact:nth-child(2n+1) {
        clear: left; } }
  @media only screen and (min-width: 820px) {
    .fact_list .fact {
      width: 29.33333%;
      margin-right: 2%;
      margin-left: 2%;
      float: left; }
      .fact_list .fact:nth-child(3n) {
        clear: right; }
      .fact_list .fact:nth-child(3n+1) {
        clear: left; } }

.timeline {
  position: relative; }
  .timeline::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: #55565a;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px; }
    @media only screen and (max-width: 580px) {
      .timeline::after {
        width: 3px;
        left: 4px !important; } }
  .timeline .container {
    margin-bottom: 2rem;
    position: relative;
    width: 50%; }
    .timeline .container::after {
      content: '';
      position: absolute;
      width: 26px;
      height: 26px;
      right: -13px;
      background-color: #fff;
      border: 6px solid #55565a;
      top: 15px;
      border-radius: 50%;
      z-index: 1; }
      @media only screen and (max-width: 580px) {
        .timeline .container::after {
          width: 16px;
          height: 16px;
          right: -8px;
          border: 3px solid #55565a; } }
    .timeline .container:last-child {
      margin-bottom: 0; }
  .timeline .content {
    padding: 2rem 3rem;
    position: relative;
    background-color: #fff;
    border-radius: 5px; }
    .timeline .content * {
      color: inherit; }
    @media only screen and (max-width: 580px) {
      .timeline .content {
        padding: 1.2rem 1.5rem; }
        .timeline .content p {
          font-size: 1rem; } }
  .timeline .odd::before,
  .timeline .even::before,
  .timeline .left::before,
  .timeline .right::before {
    content: '';
    height: 0;
    position: absolute;
    top: 18px;
    width: 0;
    z-index: 1; }
  .timeline .odd,
  .timeline .left {
    left: 0; }
    .timeline .odd::before,
    .timeline .left::before {
      right: 40px;
      border: solid #fff;
      border-width: 10px 0 10px 10px;
      border-color: transparent transparent transparent #fff; }
    .timeline .odd .content,
    .timeline .left .content {
      margin-right: 50px; }
  .timeline .even,
  .timeline .right {
    left: 50%; }
    .timeline .even:before,
    .timeline .right:before {
      left: 40px;
      border: solid #fff;
      border-width: 10px 10px 10px 0;
      border-color: transparent #fff transparent transparent; }
    .timeline .even:after,
    .timeline .right:after {
      left: -13px; }
    .timeline .even .content,
    .timeline .right .content {
      margin-left: 50px; }
  @media only screen and (max-width: 580px) {
    .timeline::after {
      left: 8px; }
    .timeline .container {
      width: 100%;
      padding-left: 20px;
      left: 0; }
      .timeline .container:before {
        top: 14px;
        left: 15px;
        border: medium solid #fff;
        border-width: 10px 10px 10px 0;
        border-color: transparent #fff transparent transparent; }
    .timeline .odd::after,
    .timeline .even::after,
    .timeline .left::after,
    .timeline .right::after {
      left: -5px; }
    .timeline .content {
      margin: 0 !important; } }

.fact_nav ul,
.fact_nav li {
  margin: 0;
  padding: 0;
  list-style: none; }

.fact_nav_block {
  position: relative; }

.fact_nav_items {
  display: block; }
  .fact_nav_items li {
    margin-bottom: 0.35rem; }
  .fact_nav_items.slide-in {
    -webkit-transform: translateZ(0) translateX(0%);
    -moz-transform: translateZ(0) translateX(0%);
    -ms-transform: translateZ(0) translateX(0%);
    -o-transform: translateZ(0) translateX(0%);
    transform: translateZ(0) translateX(0%); }
  .no-js .fact_nav_items {
    position: static;
    height: auto;
    width: 100%;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0); }
  @media only screen and (min-width: 820px) {
    .fact_nav_items {
      width: 75%;
      float: right;
      overflow: visible;
      -webkit-transform: translateZ(0) translateX(0);
      -moz-transform: translateZ(0) translateX(0);
      -ms-transform: translateZ(0) translateX(0);
      -o-transform: translateZ(0) translateX(0);
      transform: translateZ(0) translateX(0);
      padding: 0;
      background: transparent; } }
  @media only screen and (min-width: 1020px) {
    .fact_nav_items {
      float: none;
      width: 100%;
      padding-left: 290px; }
      .no-js .fact_nav_items {
        padding-left: 0; } }

.fact_nav_group {
  margin-bottom: 2.5rem !important; }
  .fact_nav_group li {
    background: #fff; }
  .fact_nav_group li.fact_nav_title {
    margin-bottom: 1em;
    background: transparent; }
    .fact_nav_group li.fact_nav_title h2 {
      text-transform: uppercase;
      font-weight: 700;
      font-size: 1rem; }
  .fact_nav_group.legend {
    width: 100% !important;
    clip: auto; }

.fact_nav_trigger {
  position: relative;
  display: block;
  margin: 0;
  padding: 2rem 2.5rem;
  line-height: 1.2;
  font-size: 1.1rem;
  font-weight: 400; }
  .fact_nav_trigger::before, .fact_nav_trigger::after {
    content: '';
    position: absolute;
    right: 28px;
    right: calc(2.5rem + 0px);
    top: 50%;
    height: 2px;
    width: 13px;
    background: #87898e;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    transition-duration: 0.2s; }
  .fact_nav_trigger::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 36px;
    right: calc(2.5rem + 8px); }
  .fact_nav_trigger::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .content-visible .fact_nav_trigger::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg); }
  .content-visible .fact_nav_trigger::after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }

.fact_nav_content {
  padding: 0 2.5rem 2rem;
  font-size: 1.05rem;
  display: none; }
  .no-js .fact_nav_content {
    display: block; }
  .fact_nav_content p, .fact_nav_content li, .fact_nav_content a, .fact_nav_content span {
    font-size: inherit; }

.fact_nav_categories {
  display: none; }
  @media only screen and (min-width: 820px) {
    .fact_nav_categories {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      display: block; }
      .fact_nav_categories a {
        display: block;
        position: relative;
        padding: 12px 24px;
        font-size: 0.85rem;
        margin-bottom: 4px !important;
        font-weight: 600;
        background: #fff;
        text-transform: uppercase;
        -webkit-transition: background 0.2s, padding 0.2s;
        -moz-transition: background 0.2s, padding 0.2s;
        -o-transition: background 0.2s, padding 0.2s;
        transition: background 0.2s, padding 0.2s; }
      .no-js .fact_nav_categories {
        width: 100%;
        margin-bottom: 2em; }
      .fact_nav_categories .selected {
        color: #fff;
        background: #49494d !important; }
        .fact_nav_categories .selected::before {
          opacity: 1; }
      .fact_nav_categories.is-fixed {
        /* top and left value assigned in jQuery */
        position: fixed; }
      .no-js .fact_nav_categories {
        position: relative; }
      .fact_nav_categories.col3 li {
        width: 30%;
        display: inline-block;
        text-align: center; } }
  @media only screen and (min-width: 820px) {
    .fact_nav_categories {
      width: 20%; } }
  @media only screen and (min-width: 1020px) {
    .fact_nav_categories {
      width: 250px;
      display: block; } }

.product_card {
  text-align: center;
  font-size: 0; }
  .product_card:after {
    content: "";
    display: table;
    clear: both; }
  .product_card ul,
  .product_card ul li {
    margin: 0;
    padding: 0;
    list-style: none; }
  .product_card .item {
    width: 100%;
    vertical-align: top;
    position: relative;
    display: block;
    float: left;
    font-size: 0;
    cursor: pointer; }
    @media only screen and (min-width: 440px) {
      .product_card .item {
        width: 50%; } }
    @media only screen and (min-width: 1020px) {
      .product_card .item {
        width: 33.33333%; } }
    .product_card .item .visual {
      z-index: 0;
      width: 100%;
      left: 0;
      top: 0;
      left: 0;
      opacity: 0;
      position: absolute;
      -webkit-transform: translateY(-2px);
      -ms-transform: translateY(-2px);
      transform: translateY(-2px); }
    .product_card .item .image {
      z-index: 1;
      position: relative; }
    .product_card .item .content {
      padding: 2.2rem 1.8rem;
      z-index: 2;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0; }
    .product_card .item .link_more {
      display: block;
      margin-top: 0.7rem; }
    .product_card .item p, .product_card .item h4, .product_card .item h5, .product_card .item span {
      -webkit-transition: color 0.12s ease-out;
      -o-transition: color 0.12s ease-out;
      transition: color 0.12s ease-out;
      margin: 0; }
    .product_card .item p {
      margin-bottom: 0.2rem;
      font-size: 0.9rem; }
  .loaded .product_card .visual, .loaded
  .product_card .image, .loaded
  .product_card .image img, .loaded
  .product_card .content {
    -webkit-transition: opacity 0.3s ease-out, -webkit-transform 0.22s ease-out;
    transition: opacity 0.3s ease-out, -webkit-transform 0.22s ease-out;
    -o-transition: transform 0.22s ease-out, opacity 0.3s ease-out;
    transition: transform 0.22s ease-out, opacity 0.3s ease-out;
    transition: transform 0.22s ease-out, opacity 0.3s ease-out, -webkit-transform 0.22s ease-out; }
  @media only screen and (min-width: 1020px) and (max-width: 1440px) {
    .product_card h4 {
      font-size: 1.3rem; }
    .product_card .item .content {
      padding: 1.1rem 0.4rem; }
    .product_card .item .link_more {
      margin-top: 0.35rem; } }
  @media only screen and (max-width: 640px) {
    .product_card h5 {
      font-size: 1rem; }
    .product_card .item .content {
      padding: 1.7rem 1.2rem; }
    .product_card .item .link_more {
      margin-top: 0.35rem; } }
  @media only screen and (max-width: 500px) {
    .product_card .item .link_more {
      display: none; } }
  .product_card.slim {
    text-align: center; }
    .product_card.slim .item {
      float: none;
      display: inline-block;
      font-size: 0;
      width: 50%; }
      @media only screen and (min-width: 540px) {
        .product_card.slim .item {
          width: 33.33333%; } }
      @media only screen and (min-width: 760px) {
        .product_card.slim .item {
          width: 25%; } }
      @media only screen and (min-width: 1280px) {
        .product_card.slim .item {
          width: 16.66667%; } }
      .product_card.slim .item .content {
        padding: 1.2rem; }
      .product_card.slim .item h5 {
        font-size: 0.8rem; }
  .product_card .bright {
    color: #55565a; }
    .product_card .bright * {
      color: inherit; }
    .product_card .bright:hover p, .product_card .bright:hover h4, .product_card .bright:hover h5, .product_card .bright:hover a, .product_card .bright:hover span {
      color: #222 !important; }
  .product_card .medium {
    color: #55565a; }
    .product_card .medium * {
      color: inherit; }
    .product_card .medium:hover p, .product_card .medium:hover h4, .product_card .medium:hover h5, .product_card .medium:hover a, .product_card .medium:hover span {
      color: #222 !important; }
  .product_card .dark {
    color: #ddd; }
    .product_card .dark * {
      color: inherit; }
    .product_card .dark:hover p, .product_card .dark:hover h4, .product_card .dark:hover h5, .product_card .dark:hover a, .product_card .dark:hover span {
      color: #fff !important; }
  .product_card.collection .item .image {
    overflow: hidden; }
  .product_card.collection .item:hover .content {
    -webkit-transform: translateY(1.5%);
    -ms-transform: translateY(1.5%);
    transform: translateY(1.5%); }
  .product_card.collection .item:hover .image img {
    -webkit-transform: translateY(-4px) scale(1.04);
    -ms-transform: translateY(-4px) scale(1.04);
    transform: translateY(-4px) scale(1.04); }
  .product_card.product .item p, .product_card.product .item h4, .product_card.product .item h5, .product_card.product .item span {
    color: #55565a; }
  .product_card.product .item:hover .content {
    -webkit-transform: translateY(1.5%);
    -ms-transform: translateY(1.5%);
    transform: translateY(1.5%); }
  .product_card.product .item:hover .image {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }
  .product_card.product .item:hover .visual {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }
  .product_card.solo_bg .item .visual {
    height: 100%;
    width: 100%;
    background: white; }
  .product_card.solo_bg .item .visual.gray {
    background: #ebebeb;
    background: -moz-radial-gradient(center, ellipse cover, #fcfcfc 0%, #d7d7d7 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #fcfcfc 0%, #d7d7d7 100%);
    background: -webkit-radial-gradient(center, ellipse, #fcfcfc 0%, #d7d7d7 100%);
    background: -o-radial-gradient(center, ellipse, #fcfcfc 0%, #d7d7d7 100%);
    background: radial-gradient(ellipse at center, #fcfcfc 0%, #d7d7d7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfcfc', endColorstr='#d7d7d7',GradientType=1 ); }
  .product_card.solo_bg .item:hover .content {
    -webkit-transform: translateY(1.5%);
    -ms-transform: translateY(1.5%);
    transform: translateY(1.5%); }
  .product_card.solo_bg .item:hover .image {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }
  .product_card.solo_bg .item:hover .visual {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

.overview_card ul,
.overview_card ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

.overview_card ul {
  -webkit-flex-flow: row wrap;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -ms-flexbox | -ms-inline-flexbox;
  display: -webkit-flex;
  display: flex;
  margin-right: -2%;
  margin-left: -2%; }
  .overview_card ul li {
    -webkit-transition: 0.15s ease-in background;
    -o-transition: 0.15s ease-in background;
    transition: 0.15s ease-in background;
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    background: #fff;
    margin-bottom: 3rem !important;
    width: 96%;
    max-width: 96%;
    margin-right: 2%;
    margin-left: 2%; }
    @media only screen and (min-width: 580px) {
      .overview_card ul li {
        width: 46%;
        max-width: 46%;
        margin-right: 2%;
        margin-left: 2%; } }
    @media only screen and (min-width: 820px) {
      .overview_card ul li {
        width: 29.33333%;
        max-width: 29.33333%;
        margin-right: 2%;
        margin-left: 2%; } }

.overview_card .item {
  display: block;
  padding: 1rem 1.5rem;
  cursor: pointer; }
  .overview_card .item:after {
    content: "";
    display: table;
    clear: both; }
  .overview_card .item * {
    z-index: 1;
    position: relative;
    line-height: 1.7; }
  .overview_card .item p {
    font-size: 1.05rem; }
  .overview_card .item span {
    -webkit-transition: 0.15s ease-in opacity;
    -o-transition: 0.15s ease-in opacity;
    transition: 0.15s ease-in opacity; }

.overview_slim_card ul,
.overview_slim_card ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

.overview_slim_card ul {
  -webkit-flex-flow: row wrap;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -ms-flexbox | -ms-inline-flexbox;
  display: -webkit-flex;
  display: flex;
  margin-right: -2%;
  margin-left: -2%; }
  .overview_slim_card ul li {
    -webkit-transition: 0.15s ease-in background;
    -o-transition: 0.15s ease-in background;
    transition: 0.15s ease-in background;
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    background: #fff;
    margin-bottom: 0.75rem !important;
    width: 96%;
    max-width: 96%;
    margin-right: 2%;
    margin-left: 2%; }
    @media only screen and (min-width: 580px) {
      .overview_slim_card ul li {
        width: 46%;
        max-width: 46%;
        margin-right: 2%;
        margin-left: 2%; } }
    .overview_slim_card ul li:hover .item:after {
      right: 0.2rem; }

.overview_slim_card .item {
  display: block;
  padding: 0.75rem 3rem 0.75rem 1rem;
  cursor: pointer; }
  .overview_slim_card .item:after {
    content: "";
    display: table;
    clear: both; }
  .overview_slim_card .item:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.5rem;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(/a/i/icons/icon_arrow.svg) center/100%;
    background-repeat: no-repeat;
    background-size: 14px auto;
    width: 40px;
    height: 20px;
    -webkit-transition: right ease .25s;
    -ms-transition: right ease .25s;
    -o-transition: right ease .25s;
    transition: right ease .25s; }
  .overview_slim_card .item * {
    z-index: 1;
    position: relative;
    line-height: 1.7; }
  .overview_slim_card .item p {
    font-size: 1.05rem; }
  .overview_slim_card .item span {
    -webkit-transition: 0.15s ease-in opacity;
    -o-transition: 0.15s ease-in opacity;
    transition: 0.15s ease-in opacity; }

.overview_card_up_img ul,
.overview_card_up_img ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

.overview_card_up_img ul {
  -webkit-flex-flow: row wrap;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -ms-flexbox | -ms-inline-flexbox;
  display: -webkit-flex;
  display: flex;
  margin-right: -2%;
  margin-left: -2%; }
  .overview_card_up_img ul li {
    -webkit-transition: 0.15s ease-in background;
    -o-transition: 0.15s ease-in background;
    transition: 0.15s ease-in background;
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    background: #fff;
    margin-bottom: 3rem !important;
    width: 96%;
    max-width: 96%;
    margin-right: 2%;
    margin-left: 2%; }
    @media only screen and (min-width: 760px) {
      .overview_card_up_img ul li {
        width: 46%;
        max-width: 46%;
        margin-right: 2%;
        margin-left: 2%; } }
    .overview_card_up_img ul li:hover .image {
      -webkit-transform: translate(12px, 12px) scale(1.1);
      -ms-transform: translate(12px, 12px) scale(1.1);
      transform: translate(12px, 12px) scale(1.1); }

.overview_card_up_img .item {
  display: block;
  padding: 1.5rem;
  cursor: pointer; }
  .overview_card_up_img .item:after {
    content: "";
    display: table;
    clear: both; }
  .overview_card_up_img .item * {
    z-index: 1;
    position: relative;
    line-height: 1.7; }
  .overview_card_up_img .item p {
    font-size: 1.05rem; }
  .overview_card_up_img .item span {
    -webkit-transition: 0.15s ease-in opacity;
    -o-transition: 0.15s ease-in opacity;
    transition: 0.15s ease-in opacity; }

.overview_card_up_img .image {
  -webkit-transition: 0.3s -webkit-transform ease-out;
  transition: 0.3s -webkit-transform ease-out;
  -o-transition: 0.3s transform ease-out;
  transition: 0.3s transform ease-out;
  transition: 0.3s transform ease-out, 0.3s -webkit-transform ease-out;
  float: left;
  width: 130px;
  margin-top: -40px;
  margin-left: -40px; }
  @media only screen and (min-width: 1280px) {
    .overview_card_up_img .image {
      width: 230px;
      margin-top: -70px;
      margin-left: -70px; } }

.overview_card_up_img .content {
  margin-left: 110px; }
  @media only screen and (min-width: 1280px) {
    .overview_card_up_img .content {
      margin-left: 200px; } }

.overview_card_full ul,
.overview_card_full ul li {
  margin: 0;
  padding: 0;
  list-style: none; }

.overview_card_full ul {
  -webkit-column-gap: 1.6%;
  column-gap: 1.6%;
  -webkit-transition: all .5s ease-in-out;
  -o-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-column-fill: initial;
  column-fill: initial; }
  .overview_card_full ul li {
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 2.4%; }

.overview_card_full h5 {
  margin: 0; }

.overview_card_full .item {
  display: block;
  position: relative;
  padding: 0 1.3rem;
  cursor: pointer;
  margin-bottom: .5rem; }
  .overview_card_full .item * {
    z-index: 1;
    position: relative;
    line-height: 1.3; }
  .overview_card_full .item span {
    opacity: 0; }
  .overview_card_full .item:after {
    content: '';
    background: #f7f5f2;
    opacity: 0;
    top: -15px;
    bottom: -15px;
    left: -10px;
    right: -10px;
    z-index: 0;
    position: absolute; }
  .overview_card_full .item span, .overview_card_full .item:after {
    -webkit-transition: 0.15s ease-in opacity;
    -o-transition: 0.15s ease-in opacity;
    transition: 0.15s ease-in opacity; }
  .overview_card_full .item:hover span {
    opacity: 1; }
  .overview_card_full .item:hover:after {
    opacity: 1; }

.product_press .row {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -ms-flexbox | -ms-inline-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.product_press .item {
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
  width: 100%;
  float: left;
  text-align: center; }
  @media only screen and (min-width: 500px) {
    .product_press .item {
      width: 50%; } }
  @media only screen and (min-width: 1020px) {
    .product_press .item {
      width: 33.33333%; } }
  .product_press .item a, .product_press .item img {
    margin: 0 auto;
    cursor: pointer;
    max-width: 120px;
    display: block; }

.box {
  -webkit-flex-flow: row wrap;
  -webkit-flex-direction: row;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -ms-flexbox | -ms-inline-flexbox;
  display: -webkit-flex;
  display: flex; }
  @media only screen and (min-width: 820px) {
    .box {
      background-color: #fff; } }
  .box .image {
    -o-object-fit: cover;
    object-fit: cover;
    position: relative;
    overflow: hidden; }
    .box .image img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover; }
  .box .inner {
    /*
		padding-left: $wrapper_space;
		padding-right: $wrapper_space;
*/ }
    @media only screen and (min-width: 820px) {
      .box .inner {
        max-width: 550px;
        margin: 0 auto; } }
  @media only screen and (min-width: 820px) {
    .box video {
      position: absolute;
      right: 0;
      bottom: 0;
      min-width: 100%;
      min-height: 100%;
      position: absolute;
      top: 51%;
      left: 51%;
      -webkit-transform: translateX(-51%) translateY(-51%);
      -ms-transform: translateX(-51%) translateY(-51%);
      transform: translateX(-51%) translateY(-51%);
      min-width: 102%;
      min-height: 102%;
      width: auto;
      height: auto;
      overflow: hidden; } }
  .box.small {
    overflow: hidden;
    background: #fff;
    -webkit-box-shadow: 0px 0px 40px rgba(40, 40, 40, 0.1);
    box-shadow: 0px 0px 40px rgba(40, 40, 40, 0.1);
    margin-bottom: 1.5rem;
    margin-top: 1.5rem; }
    .box.small .content,
    .box.small .image {
      width: 100%; }
      @media only screen and (min-width: 820px) {
        .box.small .content,
        .box.small .image {
          width: 50%; } }
    .box.small .content {
      padding: 1.75rem; }
    @media only screen and (min-width: 580px) {
      .box.small .content {
        padding: 3rem; } }
    @media only screen and (min-width: 1020px) {
      .box.small .content {
        padding: 6rem; } }
  @media only screen and (min-width: 820px) {
    .box.small.left .content {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; }
    .box.small.left .image {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    .box.small.right .content {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    .box.small.right .image {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; } }
  .box.full {
    overflow: hidden; }
    .box.full .content,
    .box.full .image {
      position: relative;
      width: 100%; }
      @media only screen and (min-width: 820px) {
        .box.full .content,
        .box.full .image {
          width: 50%; } }
    .box.full .content {
      padding: 4rem 2rem; }
      @media only screen and (min-width: 580px) {
        .box.full .content {
          padding: 4rem 3rem; } }
      @media only screen and (min-width: 1020px) {
        .box.full .content {
          padding: 6rem; } }
  @media only screen and (min-width: 820px) {
    .box.full.left .content:before {
      z-index: 5;
      content: '';
      left: 0;
      top: 50%;
      height: 0;
      width: 0;
      position: absolute;
      border: solid transparent;
      border-width: 30px;
      margin-top: -30px;
      margin-right: -60px;
      right: 0;
      left: auto;
      border-color: transparent;
      border-left-color: #fff; }
    .box.full.left .content {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; }
    .box.full.left .image {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    .box.full.right .content:before {
      z-index: 5;
      content: '';
      margin-left: -60px;
      left: 0;
      top: 50%;
      height: 0;
      width: 0;
      position: absolute;
      border: solid transparent;
      border-width: 30px;
      margin-top: -30px;
      border-right-color: #fff; }
    .box.full.right .content {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    .box.full.right .image {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; } }
  .bg_white .box {
    background-color: #fff; }
  .bg_light_gray .box {
    background-color: #bbbbbd; }
  .bg_gray .box {
    background-color: #55565a; }
  .bg_dark .box {
    background-color: #bdbdbd; }
  .bg_black .box {
    background-color: #222; }
  .bg_brand .box {
    background-color: #55565a; }

ul.page_link {
  position: relative;
  z-index: 1; }
  ul.page_link, ul.page_link li {
    margin: 0;
    padding: 0;
    list-style: none; }
  ul.page_link .link {
    position: relative;
    overflow: hidden;
    margin-bottom: 4.5rem; }
  ul.page_link a {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 90px 0; }
  ul.page_link .text {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    position: relative;
    z-index: 1;
    min-height: 270px;
    width: 50%;
    padding-right: 150px; }
    ul.page_link .text:before {
      -webkit-transition: height ease .25s,top ease .25s;
      -ms-transition: height ease .25s,top ease .25s;
      -o-transition: height ease .25s,top ease .25s;
      transition: height ease .25s,top ease .25s;
      width: calc(100% - 149px);
      content: "";
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background: #f9f9f9;
      z-index: -1; }
    ul.page_link .text:after {
      content: "";
      position: absolute;
      top: 50%;
      right: 50px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      background: url(/a/i/icons/icon_arrow.svg) center/100%;
      width: 40px;
      height: 20px;
      -webkit-transition: right ease .25s;
      -ms-transition: right ease .25s;
      -o-transition: right ease .25s;
      transition: right ease .25s; }
    ul.page_link .text h4 {
      font-weight: 700;
      text-transform: uppercase; }
  ul.page_link .image {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    ul.page_link .image .inner {
      position: relative;
      height: 100%;
      left: 300px; }
    ul.page_link .image img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      max-width: 100%;
      height: auto; }
  ul.page_link .link:hover .text:before {
    height: calc(100% + 180px);
    top: -90px; }
  ul.page_link .link:hover .text:after {
    right: 30px; }

.fulllist.linkblocks ul > li {
  padding: 0; }

.fulllist.linkblocks a {
  padding: 1rem 2rem 1rem; }

.fulllist ul,
.fulllist ul li {
  list-style: none;
  margin: 0;
  padding: 0; }

.fulllist ul > li {
  background: #fff;
  margin-bottom: 1rem;
  padding: 1rem 1.5rem 1rem; }
  @media only screen and (max-width: 760px) {
    .fulllist ul > li h3 {
      font-size: 1.5rem; } }
  @media only screen and (min-width: 760px) {
    .fulllist ul > li {
      padding: 1.5rem 3rem 1.5rem; } }

.fulllist .link {
  font-size: 0.9rem; }

.fulllist a {
  display: block; }

.image_cards ul,
.image_cards ul li {
  list-style: none;
  margin: 0;
  padding: 0; }

.image_cards .element {
  width: 100%;
  float: left;
  text-align: center; }
  @media only screen and (min-width: 500px) {
    .image_cards .element {
      width: 50%; } }
  @media only screen and (min-width: 1020px) {
    .image_cards .element {
      width: 33.33333%; } }

.multi_slider_wrap {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }

.multi_slider {
  text-align: center; }
  .multi_slider li {
    height: 100%; }
  .multi_slider .content {
    margin: 0 auto;
    max-width: 700px;
    padding: 0 4rem; }
  .multi_slider .wrapper {
    padding: 0; }

.twentytwenty-before-label:before {
  content: 'Vorher'; }

.twentytwenty-after-label:before {
  content: 'Nachher'; }

html {
  font-size: 12px; }
  @media only screen and (min-width: 365px) {
    html {
      font-size: 13px; } }
  @media only screen and (min-width: 820px) {
    html {
      font-size: 14px; } }
  @media only screen and (min-width: 1020px) {
    html {
      font-size: 16px; } }
  @media only screen and (min-width: 1600px) {
    html {
      font-size: 18px; } }

body,
button,
input,
select,
textarea,
p {
  color: #55565a;
  font-family: "Lato", sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  font-style: normal;
  line-height: 1.9; }

p {
  margin-top: 0.4rem;
  margin-bottom: 0.8rem; }

strong,
b {
  font-weight: 600; }

em,
i {
  font-style: italic; }

small {
  font-size: 1rem; }

address {
  font-style: normal; }
  address span {
    display: block; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: #55565a;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-bottom: 0.4rem;
  margin-top: 0.8rem;
  line-height: 1.35; }

.h1_plus {
  font-size: 2.4rem; }
  @media only screen and (min-width: 480px) {
    .h1_plus {
      font-size: 3.48rem; } }

h1, .h1 {
  font-size: 2rem; }
  @media only screen and (min-width: 1020px) {
    h1, .h1 {
      font-size: 2.9rem; } }

h2, .h2 {
  font-size: 1.6rem; }
  @media only screen and (min-width: 1020px) {
    h2, .h2 {
      font-size: 2.32rem; } }

h3, .h3 {
  font-size: 1.3rem; }
  @media only screen and (min-width: 1020px) {
    h3, .h3 {
      font-size: 1.885rem; } }

h4, .h4 {
  font-size: 1.2rem; }
  @media only screen and (min-width: 1020px) {
    h4, .h4 {
      font-size: 1.74rem; } }

h5, .h5 {
  font-size: 1rem; }

h6, .h6 {
  font-size: 0.9rem; }

.little_upper {
  font-weight: 400;
  font-size: 0.95rem;
  text-transform: uppercase; }

.block.section_title {
  margin-bottom: 3rem; }
  @media only screen and (min-width: 760px) {
    .block.section_title {
      margin-bottom: 4rem; } }
  @media only screen and (min-width: 1600px) {
    .block.section_title {
      margin-bottom: 7rem; } }

.block_bg.section_title {
  padding-bottom: 3rem; }
  @media only screen and (min-width: 760px) {
    .block_bg.section_title {
      padding-bottom: 4rem; } }
  @media only screen and (min-width: 1600px) {
    .block_bg.section_title {
      padding-bottom: 7rem; } }

.block.section_title + .block.text_content,
.block_bg.section_title + .block.text_content {
  margin-top: 3rem; }
  @media only screen and (min-width: 760px) {
    .block.section_title + .block.text_content,
    .block_bg.section_title + .block.text_content {
      margin-top: 4rem; } }
  @media only screen and (min-width: 1600px) {
    .block.section_title + .block.text_content,
    .block_bg.section_title + .block.text_content {
      margin-top: 7rem; } }

.block.section_title + .block,
.block_bg.section_title + .block {
  margin-top: 4rem; }
  @media only screen and (min-width: 760px) {
    .block.section_title + .block,
    .block_bg.section_title + .block {
      margin-top: 5.33333rem; } }
  @media only screen and (min-width: 1600px) {
    .block.section_title + .block,
    .block_bg.section_title + .block {
      margin-top: 9.33333rem; } }

.block.section_title + .block_bg,
.block_bg.section_title + .block_bg {
  padding-top: 4rem; }
  @media only screen and (min-width: 760px) {
    .block.section_title + .block_bg,
    .block_bg.section_title + .block_bg {
      padding-top: 5.33333rem; } }
  @media only screen and (min-width: 1600px) {
    .block.section_title + .block_bg,
    .block_bg.section_title + .block_bg {
      padding-top: 9.33333rem; } }

.font_left {
  text-align: left; }

.font_center {
  text-align: center; }

.font_right {
  text-align: right; }

.font_left *,
.font_center *,
.font_right * {
  text-align: inherit; }

.font_big {
  font-size: 1.4rem; }

.font_small {
  font-size: 1rem; }

.font_light {
  font-weight: 300; }

.font_bold {
  font-weight: bold; }

.italic {
  font-style: italic; }

.upper {
  text-transform: uppercase; }

.font_white {
  color: #fff; }
  .font_white * {
    color: #fff; }

blockquote,
blockquote p {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 300;
  font-size: 120%;
  line-height: 1.7; }

.quote,
blockquote {
  border: 0;
  position: relative;
  color: #555;
  background: #fff;
  padding: 0;
  text-align: center; }
  .quote > div,
  blockquote > div {
    padding: 3rem 3rem; }
  .quote *,
  blockquote * {
    font-family: inherit !important; }
  .quote p:before, .quote p:after,
  blockquote p:before,
  blockquote p:after {
    display: block;
    font-size: 60px;
    height: 40px;
    color: #222; }
  .quote p:before,
  blockquote p:before {
    line-height: 0;
    content: "„" !important; }
  .quote p:after,
  blockquote p:after {
    line-height: 1; }
  .quote footer,
  blockquote footer {
    color: #aaa;
    letter-spacing: 0.5px;
    font-size: 14px;
    margin-top: 1.25rem;
    font-weight: 600;
    font-family: "Lato", sans-serif !important;
    text-transform: uppercase; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

.hide {
  display: none !important; }

.float_left {
  float: left; }

.float_right {
  float: right; }

.close {
  cursor: pointer;
  position: relative;
  width: 32px;
  height: 32px; }
  .close:before, .close:after {
    -webkit-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
    position: absolute;
    left: 50%;
    margin-left: -1px;
    content: ' ';
    height: 120%;
    width: 2px;
    background-color: #333; }
  .close:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  .close:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.overlay {
  display: block;
  position: fixed;
  top: 0px;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  z-index: 99;
  opacity: 0;
  left: -100%;
  -webkit-transition: all 0s 0.5s, opacity 0.5s 0s;
  -o-transition: all 0s 0.5s, opacity 0.5s 0s;
  transition: all 0s 0.5s, opacity 0.5s 0s; }
  .open .overlay {
    -webkit-transition: all 0s 0s, opacity 0.5s 0s;
    -o-transition: all 0s 0s, opacity 0.5s 0s;
    transition: all 0s 0s, opacity 0.5s 0s;
    left: 0px;
    opacity: 1; }

.form_note {
  display: none; }
  .form_note.show {
    display: block; }

form .form_row {
  overflow: hidden;
  margin-right: -2%;
  margin-left: -2%; }

form .form_1of3 {
  width: 29.33333%;
  margin-right: 2%;
  margin-left: 2%;
  float: left; }

form .form_1of2 {
  width: 46%;
  margin-right: 2%;
  margin-left: 2%;
  float: left; }

form .form_1of1 {
  width: 96%;
  margin-right: 2%;
  margin-left: 2%;
  float: left; }

@media only screen and (max-width: 820px) {
  form .form_1of4,
  form .form_1of2,
  form .form_2of2 {
    width: 96%;
    margin-right: 2%;
    margin-left: 2%;
    float: left; } }

form fieldset {
  margin-bottom: 15px; }

form .group {
  position: relative; }

form label {
  z-index: 2;
  font-size: 1rem;
  color: #55565a !important;
  line-height: 1rem;
  display: block;
  pointer-events: none; }
  form label.required:after {
    content: '*';
    color: #55565a;
    padding-left: 3px;
    margin-top: -3px;
    display: inline; }

form .over_label label {
  width: 80%;
  position: absolute;
  left: 20px;
  top: 20px;
  -webkit-transition: 0.2s ease all;
  -o-transition: 0.2s ease all;
  transition: 0.2s ease all;
  height: 1rem; }
  @media only screen and (max-width: 760px) {
    form .over_label label {
      left: 20px;
      top: 9.25px; } }

form .over_label input:focus ~ label,
form .over_label input:valid ~ label,
form .over_label textarea:focus ~ label,
form .over_label textarea:valid ~ label {
  top: 4px;
  font-size: 10px;
  color: #222; }
  @media only screen and (max-width: 760px) {
    form .over_label input:focus ~ label,
    form .over_label input:valid ~ label,
    form .over_label textarea:focus ~ label,
    form .over_label textarea:valid ~ label {
      top: 2px; } }

input,
select,
textarea,
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  vertical-align: initial;
  display: inline-block;
  position: relative; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
  width: 100%;
  padding: 10px 20px;
  line-height: 36px;
  border-radius: 0; }
  @media only screen and (max-width: 760px) {
    input[type="text"],
    input[type="password"],
    input[type="email"],
    input[type="url"],
    input[type="date"],
    input[type="month"],
    input[type="time"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="week"],
    input[type="number"],
    input[type="search"],
    input[type="tel"],
    input[type="color"],
    select,
    textarea {
      padding: 6.25px 12px; } }

form input,
form select,
form option,
form textarea {
  background-color: #f9f9f9;
  border: 1px solid #ececec;
  color: #55565a !important;
  font-size: 1rem; }
  form input:focus,
  form select:focus,
  form option:focus,
  form textarea:focus {
    background-color: #f9f9f9;
    border: 1px solid #ececec; }

input[type="checkbox"],
input[type=radio] {
  font-size: 1rem;
  line-height: 1rem;
  background: #fff;
  height: 20px;
  width: 20px;
  margin-right: 10px;
  vertical-align: middle; }
  input[type="checkbox"]:active, input[type="checkbox"]:checked,
  input[type=radio]:active,
  input[type=radio]:checked {
    background-color: #f9f9f9;
    border-color: #f9f9f9; }
  input[type="checkbox"]:checked,
  input[type=radio]:checked {
    background-size: 13px 13px;
    background-image: url("/a/i/icons/form_checkbox.svg");
    background-position: center center;
    background-repeat: no-repeat; }

input[type=radio] {
  border-radius: 100% !important; }

select {
  text-indent: 0;
  -o-text-overflow: '';
  text-overflow: '';
  cursor: pointer;
  background-image: url("/a/i/icons/form_select.svg");
  background-repeat: no-repeat;
  background-position: 96% center;
  background-size: 16px;
  font-size: 1rem;
  color: #55565a; }

textarea {
  vertical-align: top;
  margin-bottom: 0; }

.has_error,
.errors {
  border: 1px solid #D94747 !important; }

.has_error input,
.has_error select,
.has_error textarea,
.hasErrors input,
.hasErrors select,
.hasErrors textarea,
.errors input,
.errors select,
.errors textarea {
  border: 1px solid #D94747; }

ul.errors {
  list-style: none;
  padding: 0;
  margin: 0; }
  ul.errors li {
    background: #D94747;
    color: #fff;
    padding: 0.2rem 0.5rem;
    display: block;
    font-size: 1rem; }

.submit_loader {
  margin-left: 1rem;
  color: #ffffff;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  font-size: 13px !important;
  border-radius: 50%;
  position: relative;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: submitloader6 1s infinite ease, submitround 1s infinite ease;
  animation: submitloader6 1s infinite ease, submitround 1s infinite ease;
  display: none; }
  .submit_loader.show {
    display: inline-block; }

@-webkit-keyframes submitloader6 {
  0% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
  5%, 95% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
  10%, 59% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em; }
  20% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em; }
  38% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em; }
  100% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; } }

@keyframes submitloader6 {
  0% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
  5%, 95% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; }
  10%, 59% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em; }
  20% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em; }
  38% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em; }
  100% {
    -webkit-box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em; } }

@-webkit-keyframes submitround {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes submitround {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.search_form form:after {
  content: "";
  display: table;
  clear: both; }

.search_form form button,
.search_form form input {
  float: left;
  line-height: 40px;
  height: 40px;
  margin: 0; }
  @media only screen and (min-width: 820px) {
    .search_form form button,
    .search_form form input {
      height: 60px;
      padding-top: 60px; } }

.search_form form input {
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  width: calc(100% - 40px);
  padding: 0.3rem 1.7em 0;
  border-right: none;
  background: #fff; }
  .search_form form input:focus {
    color: #55565a; }
  @media only screen and (min-width: 820px) {
    .search_form form input {
      width: calc(100% - 4rem) !important; } }

.search_form form button {
  position: relative;
  border: none;
  width: 40px;
  padding: 0;
  text-indent: -4000px; }
  @media only screen and (min-width: 820px) {
    .search_form form button {
      width: 4rem; } }
  .search_form form button:after {
    content: '';
    display: block;
    z-index: 2;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    position: absolute;
    background-image: url(/a/i/icons/icon_suche_white.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 26px;
    -webkit-transition: background-size 0.3s ease;
    -o-transition: background-size 0.3s ease;
    transition: background-size 0.3s ease; }
  .search_form form button:hover:after {
    background-size: 32px; }

.search_results .search_form {
  margin-bottom: 3rem; }

img,
svg {
  width: 100%;
  height: auto; }

svg {
  display: block;
  vertical-align: top; }

svg path,
svg rect,
svg polygon {
  -webkit-transition: fill 0.2s ease;
  -o-transition: fill 0.2s ease;
  transition: fill 0.2s ease; }

.no-js .lazyload {
  display: none; }

.blur_up {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  transition: filter 400ms, -webkit-filter 400ms; }
  .blur_up.lazyloaded {
    -webkit-filter: blur(0);
    filter: blur(0); }

video,
.video {
  width: 100%;
  height: auto;
  display: block; }

.videoWrapper {
  position: relative;
  padding-bottom: 54.5%;
  padding-top: 25px;
  height: 0; }
  .videoWrapper object,
  .videoWrapper embed,
  .videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

audio {
  width: 100%;
  display: block; }

a {
  color: #555; }
  a:hover, a:focus, a:active {
    color: #55565a; }
  .loaded a {
    -webkit-transition: color 0.2s linear, border 0.2s linear, background 0.2s linear, background-image 0.2s linear, background-color 0.2s linear;
    -o-transition: color 0.2s linear, border 0.2s linear, background 0.2s linear, background-image 0.2s linear, background-color 0.2s linear;
    transition: color 0.2s linear, border 0.2s linear, background 0.2s linear, background-image 0.2s linear, background-color 0.2s linear; }

.content a,
.text a {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#222), to(#222));
  background-image: -webkit-linear-gradient(#222 0%, #222 100%);
  background-image: -o-linear-gradient(#222 0%, #222 100%);
  background-image: linear-gradient(#222 0%, #222 100%);
  background-repeat: no-repeat;
  background-size: 100% 0.1em;
  background-position: 0 95%;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
  margin-left: -0.15rem; }
  .content a:hover,
  .text a:hover {
    background-size: 100% 100%;
    color: #fff; }

.link_more {
  background: none !important;
  color: #222 !important;
  font-size: 0.8rem;
  margin-top: 0.7rem;
  text-transform: uppercase;
  font-weight: 600; }
  .link_more:hover {
    color: #222; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ddd; }
  hr.solid {
    border-top: 1px solid #ddd; }
  hr.solid.brand {
    border-top: 1px solid #55565a; }

.line_top {
  border-top: 1px solid #ddd; }

.line_bottom {
  border-bottom: 1px solid #ddd; }

ul,
ol,
ul ul,
ol ol,
ul ol,
ol ul {
  padding-left: 1.6rem;
  margin-bottom: 0.4rem;
  margin-top: 0.4rem; }

ul {
  display: block;
  list-style-type: disc;
  list-style-position: inside; }
  ul li {
    display: list-item;
    padding-bottom: 0.2rem; }

ol {
  display: block;
  list-style-position: inside;
  list-style-type: decimal-leading-zero; }
  ol li {
    list-style-type: decimal-leading-zero;
    display: list-item;
    padding-bottom: 0.2rem; }

.content ol {
  display: block;
  list-style-position: inside;
  list-style-type: decimal-leading-zero; }
  .content ol li {
    list-style-type: decimal-leading-zero;
    display: list-item;
    padding-bottom: 0.2rem; }

.content ul {
  list-style: none;
  padding-left: 25px; }
  .content ul li {
    position: relative;
    padding-bottom: 0.3rem; }
    .content ul li:before {
      content: '';
      position: absolute;
      border-right: 2px solid #55565a;
      border-bottom: 2px solid #55565a;
      width: 10px;
      height: 10px;
      top: 0.9rem;
      left: -24px;
      -webkit-transform: translateY(-50%) rotate(-45deg);
      -ms-transform: translateY(-50%) rotate(-45deg);
      transform: translateY(-50%) rotate(-45deg); }

ul.tags_info {
  list-style: none;
  padding: 0;
  max-width: 80%;
  margin-left: auto !important;
  margin-right: auto !important; }
  ul.tags_info li {
    line-height: 1.2;
    font-size: 0.8rem;
    padding: 0.25rem 0.5rem;
    margin-right: 0.5rem;
    background: #975f35;
    position: relative;
    display: inline-block; }
    ul.tags_info li:before {
      display: none; }
    ul.tags_info li h5, ul.tags_info li a {
      font-size: 0.8rem;
      margin: 0;
      display: block;
      color: #fff; }
    ul.tags_info li div {
      -webkit-box-shadow: 0px 0px 20px rgba(50, 50, 50, 0.1);
      box-shadow: 0px 0px 20px rgba(50, 50, 50, 0.1);
      position: absolute;
      top: 110%;
      left: 50%;
      max-width: 350px;
      min-width: 200px;
      padding: 1rem;
      display: none;
      background: #fff;
      z-index: 4; }
      ul.tags_info li div span {
        display: block;
        margin-bottom: 0.5rem !important;
        font-weight: 400; }
    ul.tags_info li:hover div {
      display: block; }

.hover_fx, .hover_fx_soft, .overview_card ul li, .overview_slim_card ul li, .overview_card_up_img ul li, .fulllist ul > li, .hover_fx_brand, button,
.button, form .senden,
form button,
form input[type="submit"],
a.button {
  position: relative;
  cursor: pointer;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  -webkit-transition-property: color;
  -o-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s; }
  .hover_fx:before, .hover_fx_soft:before, .overview_card ul li:before, .overview_slim_card ul li:before, .overview_card_up_img ul li:before, .fulllist ul > li:before, .hover_fx_brand:before, button:before,
  .button:before, form .senden:before,
  form button:before,
  form input[type="submit"]:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transform: scaleY(0);
    -ms-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .hover_fx:hover:before, .hover_fx_soft:hover:before, .overview_card ul li:hover:before, .overview_slim_card ul li:hover:before, .overview_card_up_img ul li:hover:before, .fulllist ul > li:hover:before, .hover_fx_brand:hover:before, button:hover:before,
  .button:hover:before, form .senden:hover:before,
  form input[type="submit"]:hover:before {
    -webkit-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1); }

.hover_fx_soft:before, .overview_card ul li:before, .overview_slim_card ul li:before, .overview_card_up_img ul li:before, .fulllist ul > li:before {
  background: #e8e8e8; }

.hover_fx_brand:before, button:before,
.button:before, form .senden:before,
form button:before,
form input[type="submit"]:before {
  background: #1b1b1b; }

button,
.button,
form .senden,
form button,
form input[type="submit"],
a.button,
form a.senden {
  background-image: none !important;
  -webkit-transition: color 0.3s, border 0.3s, background-color 0.3s;
  -o-transition: color 0.3s, border 0.3s, background-color 0.3s;
  transition: color 0.3s, border 0.3s, background-color 0.3s;
  padding: 0.4rem 1.6rem;
  letter-spacing: 1px;
  font-size: 0.9rem;
  text-transform: uppercase;
  display: inline-block;
  background-color: #4d4d51;
  color: #fff; }
  button:hover, button:focus,
  .button:hover,
  form .senden:hover,
  form button:hover,
  form input:hover[type="submit"],
  .button:focus,
  form .senden:focus,
  form button:focus,
  form input:focus[type="submit"],
  a.button:hover,
  form a.senden:hover,
  a.button:focus,
  form a.senden:focus {
    background-color: #1b1b1b;
    color: #fff; }
  button.small,
  .button.small,
  form .small.senden,
  form button.small,
  form input.small[type="submit"],
  a.button.small,
  form a.small.senden {
    padding: 0.2rem 1rem;
    letter-spacing: 0.5px;
    font-size: 0.85rem; }
  button.large,
  .button.large,
  form .large.senden,
  form button.large,
  form input.large[type="submit"],
  a.button.large,
  form a.large.senden {
    padding: 1rem 3rem;
    letter-spacing: 2px;
    font-size: 1.1rem; }
  button.white,
  .button.white,
  form .white.senden,
  form button.white,
  form input.white[type="submit"],
  a.button.white,
  form a.white.senden {
    background-color: #fff;
    border: 2px solid #fff;
    color: #4d4d51; }
    button.white:hover, button.white:focus,
    .button.white:hover,
    form .white.senden:hover,
    form button.white:hover,
    form input.white:hover[type="submit"],
    .button.white:focus,
    form .white.senden:focus,
    form button.white:focus,
    form input.white:focus[type="submit"],
    a.button.white:hover,
    form a.white.senden:hover,
    a.button.white:focus,
    form a.white.senden:focus {
      border: 2px solid #1b1b1b;
      background-color: #1b1b1b;
      color: #fff; }
  button.ghost,
  .button.ghost,
  form .ghost.senden,
  form button.ghost,
  form input.ghost[type="submit"],
  a.button.ghost,
  form a.ghost.senden {
    background-color: transparent;
    border: 2px solid #4d4d51;
    color: #4d4d51; }
    button.ghost:hover, button.ghost:focus,
    .button.ghost:hover,
    form .ghost.senden:hover,
    form button.ghost:hover,
    form input.ghost:hover[type="submit"],
    .button.ghost:focus,
    form .ghost.senden:focus,
    form button.ghost:focus,
    form input.ghost:focus[type="submit"],
    a.button.ghost:hover,
    form a.ghost.senden:hover,
    a.button.ghost:focus,
    form a.ghost.senden:focus {
      border: 2px solid #1b1b1b;
      color: #1b1b1b; }
  button.white.ghost,
  .button.white.ghost,
  form .white.ghost.senden,
  form button.white.ghost,
  form input.white.ghost[type="submit"],
  a.button.white.ghost,
  form a.white.ghost.senden {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff; }
    button.white.ghost:hover, button.white.ghost:focus,
    .button.white.ghost:hover,
    form .white.ghost.senden:hover,
    form button.white.ghost:hover,
    form input.white.ghost:hover[type="submit"],
    .button.white.ghost:focus,
    form .white.ghost.senden:focus,
    form button.white.ghost:focus,
    form input.white.ghost:focus[type="submit"],
    a.button.white.ghost:hover,
    form a.white.ghost.senden:hover,
    a.button.white.ghost:focus,
    form a.white.ghost.senden:focus {
      background: #1b1b1b;
      border: 2px solid #1b1b1b; }
  button.full,
  .button.full,
  form .full.senden,
  form button.full,
  form input.full[type="submit"],
  a.button.full,
  form a.full.senden {
    width: 100%;
    display: block;
    text-align: center; }

.download_link,
a.download_link {
  color: #4d4d51;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: bottom;
  padding-left: 30px;
  background-image: url(/a/i/icons/icon_download.svg) !important;
  background-repeat: no-repeat;
  background-position: 0px 45%;
  background-size: 20px 20px; }
  .download_link:hover, .download_link:focus,
  a.download_link:hover,
  a.download_link:focus {
    background-size: 20px 20px;
    background-position: 0px 60%;
    color: #1b1b1b; }

.arrow_link,
a.arrow_link {
  color: #4d4d51;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: middle;
  padding-left: 30px;
  background-image: url(/a/i/icons/icon_pfeil.svg) !important;
  background-repeat: no-repeat;
  background-position: 0px center;
  background-size: 20px 10px; }
  .arrow_link.small,
  a.arrow_link.small {
    background-size: 16px 8px;
    font-size: 0.9rem; }
    .arrow_link.small:hover, .arrow_link.small:focus,
    a.arrow_link.small:hover,
    a.arrow_link.small:focus {
      background-size: 16px 8px; }
  .arrow_link:hover, .arrow_link:focus,
  a.arrow_link:hover,
  a.arrow_link:focus {
    background-size: 20px 10px;
    background-position: 5px center;
    color: #1b1b1b; }

.paginate {
  margin-top: 6rem;
  margin-bottom: 6rem; }

::-moz-selection {
  background: #55565a;
  color: #fff; }

::selection {
  background: #55565a;
  color: #fff; }

::-moz-selection {
  background: #55565a;
  color: #fff; }

table,
td,
th {
  border: 1px solid #ddd;
  text-align: left; }

table {
  width: 100%;
  border-collapse: collapse;
  width: 100%; }
  table td {
    margin: 0;
    padding: 0.5rem 1rem;
    text-align: left; }
  table th {
    font-weight: bold; }

.map_wrap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0; }
  .map_wrap .map {
    border: 4px #fff solid;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

@-webkit-keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadein {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeup {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
    transform: translateY(25px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes fadeup {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
    transform: translateY(25px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.notifications {
  background-color: #111;
  border-radius: 3px;
  color: #eee;
  position: fixed;
  overflow: hidden;
  right: 1.5rem;
  bottom: 1.5rem;
  -webkit-box-shadow: 0px 0px 60px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 60px rgba(0, 0, 0, 0.2);
  max-width: 400px;
  min-width: 260px;
  width: 30%;
  z-index: 100; }
  .notifications .notification {
    padding: 1.2rem 1.5rem;
    font-size: 15px;
    display: none; }
    .notifications .notification.hide {
      display: none; }
    .notifications .notification.show {
      display: block; }
  .notifications .h {
    text-transform: uppercase;
    font-size: 18px; }
  .notifications * {
    font-size: 15px;
    color: inherit; }
  .notifications .header {
    width: 80%;
    margin-bottom: 1.25rem; }
  .notifications .close {
    cursor: pointer;
    position: absolute;
    width: 22px;
    height: 22px;
    right: 1.5rem;
    top: 1.2rem; }
    .notifications .close:after, .notifications .close:before {
      background-color: #fff;
      height: 18px; }
    .notifications .close:hover:after, .notifications .close:hover:before {
      background-color: #222; }
  .notifications .btn {
    border: none;
    text-transform: uppercase;
    font-size: 0.85em;
    margin: 0;
    cursor: pointer;
    padding: 0.5rem 0.75rem;
    line-height: 1.2;
    font-weight: 700;
    background: #222;
    color: #fff; }
    .notifications .btn:active, .notifications .btn:focus, .notifications .btn:hover {
      background: #fff;
      color: #222; }
  .notifications form label {
    margin-bottom: 0.5rem; }
  .notifications form input[type="email"],
  .notifications form input[type="text"],
  .notifications form select,
  .notifications form textarea {
    padding: 6px 12px;
    line-height: 18px;
    border-radius: 0; }
  .notifications form input[type="checkbox"],
  .notifications form input[type=radio] {
    height: 14px;
    width: 14px;
    vertical-align: unset; }
  .notifications *:first-child {
    margin-top: 0; }
  .notifications *:last-child {
    margin-bottom: 0; }
  .notifications .happy_with_js {
    background: #D94747; }
    .js .notifications .happy_with_js {
      display: none; }
