/**
 * Set value from map for each breakpoint
 *
 * @author FOURDEGREES
 * @param {string} $attribute  - css attribute 
 * @param {string} $map        - map with value for each breakpoint
 * @param {string} $before     - optional: string before value (needed for 'calc')
 * @param {string} $after      - optional: string after value
 */
/**
 * Animate a list of elements sequentially
 *
 * @author FOURDEGREES
 * @param {string} $target             - selector of animated item 
 * @param {number} $initialDelay = 0.3 - delay until animation begins
 * @param {number} $duration = 0.5     - duration for each animation
 * @param {number} $delay = 0.2        - delay between each animation
 * @param {number} $itemCount = 10     - number of animated items
 */
body.cke_editable {
  padding: 15px; }
  body.cke_editable ol, body.cke_editable ul {
    margin-left: 1.1em; }
    body.cke_editable ol li, body.cke_editable ul li {
      margin-bottom: 0.6em; }
  body.cke_editable ul {
    list-style-type: disc; }
  body.cke_editable ol {
    list-style-type: decimal; }

@font-face {
  font-family: 'Work Sans';
  font-weight: 400;
  src: url("../Fonts/work-sans-v8-latin-regular.woff2") format("woff2"), url("../Fonts/work-sans-v8-latin-regular.woff") format("woff"); }
@font-face {
  font-family: 'Work Sans';
  font-weight: 700;
  src: url("../Fonts/work-sans-v8-latin-700.woff2") format("woff2"), url("../Fonts/work-sans-v8-latin-700.woff") format("woff"); }
@font-face {
  font-family: 'icomoon';
  font-weight: normal;
  font-style: normal;
  src: url('../Fonts/icomoon.woff2') format('woff2'), url('../Fonts/icomoon.woff') format('woff'); }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-copy:before {
  content: "\e900"; }

.icon-email:before {
  content: "\e901"; }

.icon-burger_black:before {
  content: "\e902"; }

.icon-close_white:before {
  content: "\e903"; }

.icon-close:before {
  content: "\e904"; }

.icon-compare_add_white:before {
  content: "\e905"; }

.icon-compare_add:before {
  content: "\e906"; }

.icon-compare_finish:before {
  content: "\e907"; }

.icon-delete_black:before {
  content: "\e908"; }

.icon-facebook:before {
  content: "\e909"; }

.icon-filter:before {
  content: "\e90a"; }

.icon-GECO_Logo:before {
  content: "\e90b"; }

.icon-ico_10_years:before {
  content: "\e90c"; }

.icon-ico_360:before {
  content: "\e90d"; }

.icon-ico_add_compare:before {
  content: "\e90e"; }

.icon-ico_aluminium:before {
  content: "\e90f"; }

.icon-ico_arrow:before {
  content: "\e910"; }

.icon-ico_check:before {
  content: "\e911"; }

.icon-ico_close:before {
  content: "\e912"; }

.icon-ico_compare:before {
  content: "\e913"; }

.icon-ico_delete:before {
  content: "\e914"; }

.icon-ico_download:before {
  content: "\e915"; }

.icon-ico_filter:before {
  content: "\e916"; }

.icon-ico_fov:before {
  content: "\e917"; }

.icon-ico_geco_dot:before {
  content: "\e918"; }

.icon-ico_gecobright:before {
  content: "\e919"; }

.icon-ico_gecotrac:before {
  content: "\e91a"; }

.icon-ico_heavy_game:before {
  content: "\e91b"; }

.icon-ico_hunting:before {
  content: "\e91c"; }

.icon-ico_ipsc:before {
  content: "\e91d"; }

.icon-ico_light_game:before {
  content: "\e91e"; }

.icon-ico_lightweight:before {
  content: "\e91f"; }

.icon-ico_medium_game:before {
  content: "\e920"; }

.icon-ico_menu:before {
  content: "\e921"; }

.icon-ico_minus:before {
  content: "\e922"; }

.icon-ico_newsletter .path1:before {
  content: "\e923"; }

.icon-ico_newsletter .path2:before {
  content: "\e924"; }

.icon-ico_newsletter .path3:before {
  content: "\e925"; }

.icon-ico_newsletter .path4:before {
  content: "\e926"; }

.icon-ico_plus:before {
  content: "\e927"; }

.icon-ico_search:before {
  content: "\e928"; }

.icon-ico_self_defence:before {
  content: "\e929"; }

.icon-ico_shooting:before {
  content: "\e92a"; }

.icon-ico_static_shooting:before {
  content: "\e92b"; }

.icon-ico_training:before {
  content: "\e92c"; }

.icon-ico_varmint:before {
  content: "\e92d"; }

.icon-ico_view:before {
  content: "\e92e"; }

.icon-ico_xxx_game:before {
  content: "\e92f"; }

.icon-instagram:before {
  content: "\e930"; }

.icon-minus:before {
  content: "\e931"; }

.icon-newsletter:before {
  content: "\e932"; }

.icon-play:before {
  content: "\e933"; }

.icon-plus:before {
  content: "\e934"; }

.icon-retailers:before {
  content: "\e935"; }

.icon-search_black:before {
  content: "\e936"; }

.icon-up:before {
  content: "\e937"; }

.icon-youtube:before {
  content: "\e938"; }

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  outline: none; }

ul, ol {
  list-style: none; }

li, p, .image {
  break-inside: avoid; }

.image img {
  display: block; }

a {
  text-decoration: none;
  color: inherit; }

main {
  display: block; }

button {
  background-color: transparent;
  border: none;
  font-size: inherit;
  color: inherit;
  font-weight: inherit;
  cursor: pointer; }

html {
  font-family: "Work Sans", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.7;
  color: #323232;
  font-weight: 400; }
@media (min-width: 1025px) {
  html {
    font-size: 20px;
    line-height: 1.7; } }

strong {
  font-weight: bold; }

h1 {
  margin-bottom: 0.7em;
  font-weight: bold;
  font-size: 40px; }
@media (min-width: 576px) {
  h1 {
    font-size: 48px; } }
@media (min-width: 769px) {
  h1 {
    font-size: 56px; } }
@media (min-width: 1025px) {
  h1 {
    font-size: 64px; } }
@media (min-width: 1200px) {
  h1 {
    font-size: 72px; } }
@media (min-width: 1500px) {
  h1 {
    font-size: 72px; } }

h2 {
  font-weight: normal;
  margin-bottom: 1em;
  font-size: 22px;
  line-height: 1.3; }
@media (min-width: 576px) {
  h2 {
    font-size: 30px; } }
@media (min-width: 769px) {
  h2 {
    font-size: 30px; } }
@media (min-width: 1025px) {
  h2 {
    font-size: 30px; } }
@media (min-width: 1200px) {
  h2 {
    font-size: 36px; } }
@media (min-width: 1500px) {
  h2 {
    font-size: 36px; } }

p + h2 span {
  font-weight: bold; }

h3 {
  margin-bottom: 0.7em;
  font-weight: bold;
  font-size: 18px; }
@media (min-width: 576px) {
  h3 {
    font-size: 20px; } }
@media (min-width: 769px) {
  h3 {
    font-size: 20px; } }
@media (min-width: 1025px) {
  h3 {
    font-size: 20px; } }
@media (min-width: 1200px) {
  h3 {
    font-size: 24px; } }
@media (min-width: 1500px) {
  h3 {
    font-size: 24px; } }

p {
  font-size: 0.8em; }
  p:not(:last-child) {
    margin-bottom: 1.5rem; }
  p.small {
    font-size: 18px;
    line-height: 1.7; }
  p.large {
    font-size: 1.3em; }
  p.subheader {
    font-size: 0.8em;
    font-weight: bold;
    letter-spacing: 0.5em;
    color: #ff001a;
    margin-bottom: 0.6em; }

header {
  width: 100%;
  text-transform: uppercase; }

p a:not(.button) {
  text-decoration: none;
  color: #ff001a;
  transition: all 0.3s; }
  p a:not(.button):hover {
    color: #b2b2b2; }

.list-normal {
  list-style-type: disc;
  margin-left: 1.1em; }
  .list-normal li {
    margin-bottom: 0.6em; }

@media (min-width: 769px) {
  .columnized {
    column-count: 2;
    column-gap: 60px; } }
.columnized.ul {
  list-style-type: none; }
  .columnized.ul li {
    break-inside: avoid; }

.rte ul {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .rte ul li {
    position: relative;
    padding: 0 0 0 1em;
    margin-bottom: 1em;
    width: 100%;
    display: flex;
    align-items: center; }
    .rte ul li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0.6em;
      display: block;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #323232; }

.toUppercase {
  text-transform: uppercase; }

.hidden {
  display: none !important; }

body {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

.content {
  flex-grow: 1;
  position: relative;
  background-color: #fff; }

.container, .frame-container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding-left: 20px;
  padding-right: 20px; }
@media (min-width: 576px) {
  .container, .frame-container {
    padding-left: 32px; } }
@media (min-width: 769px) {
  .container, .frame-container {
    padding-left: 42px; } }
@media (min-width: 1025px) {
  .container, .frame-container {
    padding-left: 42px; } }
@media (min-width: 1200px) {
  .container, .frame-container {
    padding-left: 42px; } }
@media (min-width: 1500px) {
  .container, .frame-container {
    padding-left: 60px; } }
@media (min-width: 576px) {
  .container, .frame-container {
    padding-right: 32px; } }
@media (min-width: 769px) {
  .container, .frame-container {
    padding-right: 42px; } }
@media (min-width: 1025px) {
  .container, .frame-container {
    padding-right: 42px; } }
@media (min-width: 1200px) {
  .container, .frame-container {
    padding-right: 42px; } }
@media (min-width: 1500px) {
  .container, .frame-container {
    padding-right: 60px; } }
@media (min-width: 769px) {
  .container, .frame-container {
    max-width: 1364px; } }
.container--center, .frame-container--center {
  justify-content: center; }

.frame-background-lightGrey {
  background-color: #fafafa; }

.preload * {
  transition: none !important; }

.footer {
  background-color: #323232;
  display: flex;
  flex-direction: column;
  padding: 0; }
  .footer__row {
    display: block;
    padding-top: 1em;
    padding-bottom: 1em; }
  @media (min-width: 576px) {
    .footer__row {
      display: flex; } }
  .footer__container {
    display: flex;
    flex-wrap: wrap; }
    .footer__container--left {
      flex-wrap: wrap;
      padding: 0 1em 0 0;
      margin: 0; }
    @media (min-width: 769px) {
      .footer__container--left {
        width: 33.333%; } }
    .footer__container--leftTop {
      align-items: center;
      margin: 0 0 -1em 0;
      padding: 0; }
      .footer__container--leftTop h6 {
        color: #ff001a;
        min-width: 12em; }
    .footer__container--leftCenter {
      flex-wrap: wrap;
      padding: 0;
      width: 100%;
      min-width: 14em; }
      .footer__container--leftCenter p {
        color: #ececec;
        font-size: 0.6em;
        margin: 0 0 -1em 0;
        padding-top: 3em; }
    .footer__container--leftBottom {
      font-size: 2em;
      padding: 0;
      margin: 0; }
    .footer__container--right {
      margin: 0;
      padding: 0;
      width: 100%; }
    @media (min-width: 576px) {
      .footer__container--right {
        justify-content: flex-end; } }
  @media (min-width: 769px) {
    .footer__container--right {
      justify-content: center; } }
  .footer__logo {
    padding-right: 2rem; }
  .footer__logoImage {
    width: 130%;
    height: auto; }

.footerNav {
  font-size: 0.6em;
  color: #fff;
  display: flex; }
  .footerNav__column {
    white-space: nowrap;
    padding-top: 3em; }
    .footerNav__column li {
      padding-bottom: 1em; }
  .footerNav__title {
    display: flex;
    color: #ff001a;
    font-weight: bold;
    align-items: center;
    padding-bottom: 1em;
    text-transform: uppercase;
    letter-spacing: 0.25em; }
    .footerNav__title p {
      font-size: 1em; }
  .footerNav__column:not(:last-child) {
    display: none; }
  @media (min-width: 769px) {
    .footerNav__column:not(:last-child) {
      display: block;
      padding-right: 10%; } }
@media (min-width: 1025px) {
  .footerNav__column:not(:last-child) {
    padding-right: 20%; } }
@media (min-width: 1200px) {
  .footerNav__column:not(:last-child) {
    padding-right: 30%; } }

.footerSocial {
  padding-top: 0.6em; }
  .footerSocial__list {
    display: flex; }
  .footerSocial__item {
    color: #ececec; }
  .footerSocial__item:not(:last-child) {
    margin-right: 1em; }

.footerMeta {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 10px; }
  .footerMeta__list {
    display: flex; }
  .footerMeta__item {
    margin-right: 2em;
    margin-left: 2em;
    position: relative; }

.header {
  background-color: #fff; }
  .header__container {
    display: block; }
  .header__logo {
    display: flex;
    padding-right: 3em;
    margin: 0.5em 0; }
  @media (min-width: 576px) {
    .header__logo {
      margin: 1.5em 0; } }
  .header__logoImage {
    width: 3rem;
    height: auto; }
  .header__top {
    display: flex;
    align-items: center; }
    .header__top--right {
      width: 100%;
      display: flex;
      font-weight: bold;
      font-size: 0.8em;
      white-space: nowrap;
      justify-content: flex-end; }
  .header__bottom {
    font-weight: bold; }
    .header__bottom nav {
      display: flex; }
      .header__bottom nav li {
        padding-right: 3em; }
  .header .headerMainNav {
    display: flex;
    width: 100%;
    text-transform: uppercase; }
    .header .headerMainNav__item {
      padding-right: 3em; }
      .header .headerMainNav__link .icon-newsletter {
        padding-right: 0.5em; }
    .header .headerMainNav__link:hover {
      color: #ff001a; }
  .header .language-menu__activeLink {
    display: flex;
    align-items: center; }
    .header .language-menu__activeLink .icon-ico_arrow {
      font-size: 1.5em;
      transform: rotate(90deg); }
  .header .language-menu__list {
    position: absolute;
    z-index: 1; }
  .header .header__search {
    margin: 0 2.8em;
    font-size: 1.2em;
    font-weight: bold; }
  .header .burgerButton {
    z-index: 2;
    font-size: 1.2em;
    font-weight: bold; }
  .header .burgerNav {
    display: block;
    z-index: 2;
    position: absolute;
    left: 0;
    background: #fff;
    box-shadow: inset 0 0.5em 2em -2em #323232;
    top: 4.6rem; }
  @media (min-width: 576px) {
    .header .burgerNav {
      top: 6rem; } }
  .header .burgerNav li {
    border-bottom: 1px #ececec solid;
    padding: 0.5em 0;
    padding-left: 20px;
    padding-right: 20px; }
  @media (min-width: 576px) {
    .header .burgerNav li {
      padding-left: 32px; } }
@media (min-width: 769px) {
  .header .burgerNav li {
    padding-left: 42px; } }
@media (min-width: 1025px) {
  .header .burgerNav li {
    padding-left: 42px; } }
@media (min-width: 1200px) {
  .header .burgerNav li {
    padding-left: 42px; } }
@media (min-width: 1500px) {
  .header .burgerNav li {
    padding-left: 60px; } }
@media (min-width: 576px) {
  .header .burgerNav li {
    padding-right: 32px; } }
@media (min-width: 769px) {
  .header .burgerNav li {
    padding-right: 42px; } }
@media (min-width: 1025px) {
  .header .burgerNav li {
    padding-right: 42px; } }
@media (min-width: 1200px) {
  .header .burgerNav li {
    padding-right: 42px; } }
@media (min-width: 1500px) {
  .header .burgerNav li {
    padding-right: 60px; } }
.header .burgerNav li:last-child {
  border: none;
  background-color: #ececec;
  box-shadow: inset 0 -0.5em 2em -2em #323232;
  padding-top: 2em;
  padding-bottom: 2em;
  width: 100%; }
.header .toggleSlide {
  height: 0;
  transition: height 0.4s ease-in-out;
  overflow: hidden; }

.frame {
  position: relative;
  padding-top: 40px;
  padding-bottom: 40px; }
@media (min-width: 576px) {
  .frame {
    padding-top: 60px; } }
@media (min-width: 769px) {
  .frame {
    padding-top: 60px; } }
@media (min-width: 1025px) {
  .frame {
    padding-top: 60px; } }
@media (min-width: 1200px) {
  .frame {
    padding-top: 75px; } }
@media (min-width: 1500px) {
  .frame {
    padding-top: 75px; } }
@media (min-width: 576px) {
  .frame {
    padding-bottom: 60px; } }
@media (min-width: 769px) {
  .frame {
    padding-bottom: 60px; } }
@media (min-width: 1025px) {
  .frame {
    padding-bottom: 60px; } }
@media (min-width: 1200px) {
  .frame {
    padding-bottom: 75px; } }
@media (min-width: 1500px) {
  .frame {
    padding-bottom: 75px; } }

.frame-space-after--half {
  padding-bottom: 20px; }
@media (min-width: 576px) {
  .frame-space-after--half {
    padding-bottom: 30px; } }
@media (min-width: 769px) {
  .frame-space-after--half {
    padding-bottom: 30px; } }
@media (min-width: 1025px) {
  .frame-space-after--half {
    padding-bottom: 30px; } }
@media (min-width: 1200px) {
  .frame-space-after--half {
    padding-bottom: 37px; } }
@media (min-width: 1500px) {
  .frame-space-after--half {
    padding-bottom: 37px; } }

.frame-space-before--half {
  padding-top: 20px; }
@media (min-width: 576px) {
  .frame-space-before--half {
    padding-top: 30px; } }
@media (min-width: 769px) {
  .frame-space-before--half {
    padding-top: 30px; } }
@media (min-width: 1025px) {
  .frame-space-before--half {
    padding-top: 30px; } }
@media (min-width: 1200px) {
  .frame-space-before--half {
    padding-top: 37px; } }
@media (min-width: 1500px) {
  .frame-space-before--half {
    padding-top: 37px; } }

.frame-space-after--double {
  padding-bottom: 80px; }
@media (min-width: 576px) {
  .frame-space-after--double {
    padding-bottom: 120px; } }
@media (min-width: 769px) {
  .frame-space-after--double {
    padding-bottom: 120px; } }
@media (min-width: 1025px) {
  .frame-space-after--double {
    padding-bottom: 120px; } }
@media (min-width: 1200px) {
  .frame-space-after--double {
    padding-bottom: 150px; } }
@media (min-width: 1500px) {
  .frame-space-after--double {
    padding-bottom: 150px; } }

.frame-space-before--double {
  padding-top: 80px; }
@media (min-width: 576px) {
  .frame-space-before--double {
    padding-top: 120px; } }
@media (min-width: 769px) {
  .frame-space-before--double {
    padding-top: 120px; } }
@media (min-width: 1025px) {
  .frame-space-before--double {
    padding-top: 120px; } }
@media (min-width: 1200px) {
  .frame-space-before--double {
    padding-top: 150px; } }
@media (min-width: 1500px) {
  .frame-space-before--double {
    padding-top: 150px; } }

.frame-space-before--none {
  padding-top: 0 !important; }

.frame-space-after--none {
  padding-bottom: 0; }

.frame-container {
  display: flex; }
  .frame-container .frame-inner {
    width: 100%;
    position: relative; }

@media (min-width: 1025px) {
  .frame-type-text .frame-inner, .frame-type-textmedia .frame-inner {
    width: 70%; } }

@media (min-width: 1200px) {
  .frame-default .frame-inner {
    width: 100%; } }

@media (min-width: 576px) {
  .frame-indent .frame-container .frame-inner {
    width: 74%; } }

@media (min-width: 769px) {
  .frame-layout-201 .rte {
    column-count: 2;
    column-gap: 60px; } }

@media (min-width: 576px) {
  .frame-layout-204 .rte {
    column-count: 2;
    column-gap: 30px; } }
@media (min-width: 769px) {
  .frame-layout-204 .rte {
    column-count: 3;
    column-gap: 5.5%; } }

.button {
  text-transform: uppercase;
  font-weight: bold;
  color: #ff001a;
  display: inline-block;
  text-align: center; }
  .button--red {
    color: #fff;
    background-color: #ff001a;
    font-weight: normal;
    font-size: 0.8em;
    padding: 1em 3.5em;
    letter-spacing: 0.25em; }
  @media (min-width: 576px) {
    .button--view {
      left: 5em;
      float: left;
      padding-right: 3em; } }
  .button--border {
    font-size: 0.8em;
    background-color: #fff;
    border: 3px #ff001a solid;
    padding: 0.5em;
    display: inline-block;
    text-align: center;
    letter-spacing: 0.1em;
    /* button icons style*/ }
  .button__icon {
    display: flex; }
    .button__icon:before, .button__icon:after {
      /* use !important to prevent issues with browser extensions that change fonts */
      font-family: 'icomoon' !important;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      font-size: 1.5em;
      line-height: 1;
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
    .button__icon:before {
      padding-right: 0.5em; }
    .button__icon:after {
      padding-left: 0.25em;
      padding-top: 0.1em; }
    .button__icon--view:before {
      content: "\e92e"; }
    .button__icon--download:before {
      content: "\e915"; }
    .button__icon--arrow:after {
      content: "\e910"; }

.scroll-top {
  display: flex;
  justify-content: center;
  position: fixed;
  bottom: 10px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  box-shadow: 0 0 4px 0 rgba(50, 50, 50, 0.3);
  transform: rotate(180deg) scale(1);
  transition: all 0.3s;
  z-index: 90;
  background-color: #fff;
  opacity: 0;
  pointer-events: none; }
  .scroll-top.active {
    opacity: 1;
    pointer-events: all; }
  .scroll-top:hover {
    transform: rotate(180deg) scale(1.1); }
  .scroll-top .scroll-top-icon {
    position: relative;
    margin-top: 12px; }
    .scroll-top .scroll-top-icon:before {
      font-family: 'icomoon' !important;
      content: "\e900";
      font-size: 18px;
      line-height: 1; }

.nav--level1 {
  display: flex;
  width: 100%; }

.breadcrumb-section {
  border-bottom: 1px solid #323232;
  padding: 20px 0;
  display: none; }
@media (min-width: 576px) {
  .breadcrumb-section {
    display: block; } }

.breadcrumb {
  border-bottom: 1px solid #323232;
  padding: 20px 0;
  display: none; }
@media (min-width: 576px) {
  .breadcrumb {
    display: block; } }
.breadcrumb__list {
  width: 100%;
  display: flex; }
.breadcrumb__item {
  position: relative;
  display: flex; }
  .breadcrumb__item:not(:last-child)::after {
    content: '|';
    position: relative;
    padding: 0 1em; }

.sidebar {
  position: fixed;
  top: 240px;
  right: -80px;
  z-index: 80;
  transition: all 0.3s;
  background: #b2b2b2;
  display: none; }
@media (min-width: 769px) {
  .sidebar {
    display: block; } }
.sidebar.active {
  right: 0; }
.sidebar__item {
  display: block;
  width: 60px;
  height: 60px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  position: relative; }
  .sidebar__item:not(:last-child) {
    border-bottom: 1px solid #323232; }
  .sidebar__item:hover {
    color: #323232; }
.sidebar__icon {
  font-size: 24px; }

.search {
  width: 100vw;
  height: 100vh;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  top: 0;
  left: 0;
  z-index: 900;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s;
  color: #323232; }
  .search.active {
    opacity: 1;
    pointer-events: all; }
  .search__content {
    display: flex;
    position: relative;
    align-items: center; }
  @media (min-width: 769px) {
    .search__content {
      margin-top: -6rem; } }
  .search__input {
    width: 90vw;
    font-size: 2rem;
    padding: 1em 0;
    background: transparent;
    color: #323232;
    border: 2px solid transparent;
    border-bottom-color: #323232; }
  @media (min-width: 769px) {
    .search__input {
      width: 50vw; } }
  .search__submit {
    position: absolute;
    right: 0; }
    .search__submit::before {
      font-size: 2rem;
      line-height: 1;
      transform: scale(1);
      transition: all 0.3s;
      display: block;
      color: #323232; }
    .search__submit:hover::before {
      transform: scale(1.3); }
  .search ::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #323232;
    opacity: 1;
    /* Firefox */
    font-weight: normal !important; }
  .search :-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #323232;
    font-weight: normal !important; }
  .search ::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #323232;
    font-weight: normal !important; }

.tx-solr-autosuggest {
  overflow: auto;
  border: none;
  width: calc(100% - 40px) !important;
  max-width: 1015px; }
@media (min-width: 576px) {
  .tx-solr-autosuggest {
    width: calc(100% - 64px) !important; } }
@media (min-width: 769px) {
  .tx-solr-autosuggest {
    width: calc(100% - 300px) !important; } }
@media (min-width: 1025px) {
  .tx-solr-autosuggest {
    width: calc(100% - 380px) !important; } }
.tx-solr-autosuggest strong, .tx-solr-autosuggest em {
  font-weight: normal;
  color: #b2b2b2;
  font-style: normal; }
.tx-solr-autosuggest .autocomplete-suggestion {
  padding: 20px 0 0;
  white-space: nowrap;
  overflow: hidden;
  color: #b2b2b2;
  font-size: 18px;
  display: none;
  position: relative; }
.tx-solr-autosuggest .autocomplete-selected {
  color: #b2b2b2;
  background-color: transparent; }
  .tx-solr-autosuggest .autocomplete-selected strong, .tx-solr-autosuggest .autocomplete-selected em {
    color: #b2b2b2; }
.tx-solr-autosuggest .autocomplete-group {
  display: none; }
.tx-solr-autosuggest .autocomplete-group ~ .autocomplete-suggestion {
  display: block; }

.tx_solr .results-highlight, .tx_solr .searched-for span {
  color: #b2b2b2; }
.tx_solr .searchinfo {
  margin-bottom: 2rem; }
.tx_solr .list-group-item {
  margin-bottom: 2rem; }
.tx_solr .results-topic {
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 0.2em; }
.tx_solr .result-content {
  font-size: 18px; }
.tx_solr .tx-solr-search-form {
  display: none; }

.frame-layout-210 {
  padding: 0; }
  .frame-layout-210 .frame-container {
    padding: 0;
    max-width: 1920px; }
  .frame-layout-210 .frame-inner {
    width: 100%; }
  .frame-layout-210 .textmedia {
    position: relative; }
    .frame-layout-210 .textmedia__gallery .image {
      height: 18em; }
    @media (min-width: 769px) {
      .frame-layout-210 .textmedia__gallery .image {
        height: auto; } }
    .frame-layout-210 .textmedia__gallery .image img {
      min-height: 100%;
      object-fit: cover; }
    .frame-layout-210 .textmedia__text {
      position: absolute;
      text-transform: uppercase;
      color: #ff001a;
      max-width: 30em;
      left: 0;
      height: 100%; }
    @media (min-width: 576px) {
      .frame-layout-210 .textmedia__text {
        left: 5em; } }
    .frame-layout-210 .textmedia__text header {
      border-left: 1.5em solid #ff001a;
      padding-left: 1.5em; }
    .frame-layout-210 .textmedia__text .subheader {
      letter-spacing: 0.5em;
      font-weight: bold;
      font-size: 0.8em;
      padding-top: 3em; }
    .frame-layout-210 .textmedia__text h1 {
      line-height: normal; }
    .frame-layout-210 .textmedia__text h5 {
      padding-left: 3.8em; }

@media (min-width: 769px) {
  .teasercolumn__container {
    column-count: 2; } }
@media (min-width: 769px) {
  .teasercolumn__item:first-child {
    padding-right: 3rem; } }
.teasercolumn__item__body {
  padding-bottom: 2rem; }
  .teasercolumn__item__body p {
    margin-bottom: 0;
    padding-bottom: 1rem; }
.teasercolumn__gallery {
  position: relative;
  padding-bottom: 5rem; }
.teasercolumn__galleryItem {
  width: 100%;
  height: auto; }
  .teasercolumn__galleryItem--image {
    position: absolute;
    top: 10%; }
  @media (min-width: 769px) {
    .teasercolumn__galleryItem--image {
      left: 5%; } }
@media (min-width: 1500px) {
  .teasercolumn__galleryItem--image {
    left: 10%; } }
@media (min-width: 769px) {
  .teasercolumn .image-container-0 {
    width: 87%; } }
@media (min-width: 769px) {
  .teasercolumn .image-container-2 {
    position: relative;
    width: 80%;
    right: -20%; } }

.frame-layout-220 .frame-inner {
  width: 100%; }
.frame-layout-220 .textmedia {
  flex-wrap: wrap-reverse !important; }
@media (min-width: 1025px) {
  .frame-layout-220 .textmedia {
    flex-wrap: nowrap !important; } }
.frame-layout-220 .textmedia__gallery {
  padding-bottom: 2em !important; }
@media (min-width: 1025px) {
  .frame-layout-220 .textmedia__gallery {
    width: 50% !important;
    padding-bottom: 0; } }
.frame-layout-220 .textmedia__text {
  padding-bottom: 1em !important; }
@media (min-width: 1025px) {
  .frame-layout-220 .textmedia__text {
    padding-right: 4rem; } }

.teaserSignUp {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  max-width: 1920px;
  padding-left: 0;
  padding-right: 0; }
  .teaserSignUp__item {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
    .teaserSignUp__item img {
      width: 100%;
      object-fit: cover;
      height: 14rem; }
    @media (min-width: 576px) {
      .teaserSignUp__item img {
        height: fit-content; } }
  .teaserSignUp__text {
    text-transform: uppercase;
    color: #fff;
    padding: 5% 0; }
    .teaserSignUp__text h2:first-child {
      margin-bottom: 0; }
    .teaserSignUp__text p {
      margin-bottom: 40px; }

.teaserHorizontal__container main {
  display: flex;
  flex-wrap: wrap; }
@media (min-width: 1500px) {
  .teaserHorizontal__container main {
    flex-wrap: nowrap; } }
@media (min-width: 1025px) {
  .teaserHorizontal__container main .rte {
    width: 70%; } }
@media (min-width: 1500px) {
  .teaserHorizontal__container main .rte {
    padding-top: 3rem;
    padding-right: 2rem;
    min-width: 345px; } }
.teaserHorizontal__container main .rte .large {
  line-height: 1.2; }
.teaserHorizontal__container main .teaserHorizontal__gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px; }
@media (min-width: 1025px) {
  .teaserHorizontal__container main .teaserHorizontal__gallery {
    width: 100%;
    flex-wrap: nowrap; } }
.teaserHorizontal__container main .teaserHorizontal__gallery__itemContainer {
  padding: 12px;
  min-width: 320px; }
@media (min-width: 769px) {
  .teaserHorizontal__container main .teaserHorizontal__gallery__itemContainer {
    width: 50%; } }
.teaserHorizontal__container main .teaserHorizontal__gallery__item {
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(88, 88, 88, 0.3);
  padding: 0 12px; }
  .teaserHorizontal__container main .teaserHorizontal__gallery__item .image img {
    margin-right: 0;
    width: 100%;
    height: auto; }
  @media (min-width: 1500px) {
    .teaserHorizontal__container main .teaserHorizontal__gallery__item .image img {
      max-width: 100%; } }
.teaserHorizontal__container main .teaserHorizontal__gallery__itemTitle {
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 0 !important;
  color: #585858; }
.teaserHorizontal__container main .teaserHorizontal__gallery__itemTitle, .teaserHorizontal__container main .teaserHorizontal__gallery .button {
  padding: 12px 0; }

.frame-layout-230 .flockler-carousel_v2-item__wrapper {
  border-radius: 0; }
.frame-layout-230 .flockler-carousel_v2-items:focus {
  outline: none; }
  .frame-layout-230 .instagram__top, .frame-layout-230 .instagram__buttonGroup {
    display: flex; }
  .frame-layout-230 .instagram__top {
    flex-wrap: wrap; }
  @media (min-width: 576px) {
    .frame-layout-230 .instagram__top {
      flex-wrap: nowrap; } }
  .frame-layout-230 .instagram__label {
    display: flex;
    align-items: center; }
    .frame-layout-230 .instagram__label .icon-instagram {
      font-size: 2em; }
  .frame-layout-230 .instagram__labelSubheader {
    font-size: 0.8em;
    font-weight: bold;
    letter-spacing: 0.5em;
    color: #ff001a;
    padding-left: 12px; }
  .frame-layout-230 .instagram__buttonWrapper {
    padding: 1rem 1rem 0 0; }
  @media (min-width: 576px) {
    .frame-layout-230 .instagram__buttonWrapper {
      padding: 0 0 0 2rem; } }

.frame-type-textmedia header {
  width: 100%;
  order: -3; }
.frame-type-textmedia figure.image {
  text-align: center; }
  .frame-type-textmedia figure.image img {
    max-width: 100%; }
.frame-type-textmedia .textmedia {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .frame-type-textmedia .textmedia__item {
    width: 100%;
    overflow: hidden; }
  .frame-type-textmedia .textmedia__gallery:not(:empty) {
    position: relative;
    padding-bottom: 2em;
    order: -1;
    overflow: visible; }
  @media (min-width: 769px) {
    .frame-type-textmedia .textmedia__gallery:not(:empty) {
      padding-bottom: 0;
      order: 0; } }
  .frame-type-textmedia .textmedia.textmedia--above .textmedia__gallery {
    width: 100%; }
.frame-type-textmedia .textmedia--centeredright .textmedia__gallery, .frame-type-textmedia .textmedia--centeredleft .textmedia__gallery, .frame-type-textmedia .textmedia--right .textmedia__gallery, .frame-type-textmedia .textmedia--left .textmedia__gallery {
  margin-bottom: 0; }
@media (min-width: 769px) {
  .frame-type-textmedia .textmedia--centeredright .textmedia__gallery, .frame-type-textmedia .textmedia--centeredleft .textmedia__gallery, .frame-type-textmedia .textmedia--right .textmedia__gallery, .frame-type-textmedia .textmedia--left .textmedia__gallery {
    width: 42%; } }
@media (min-width: 769px) {
  .frame-type-textmedia .textmedia--centeredright .textmedia__text, .frame-type-textmedia .textmedia--centeredleft .textmedia__text, .frame-type-textmedia .textmedia--right .textmedia__text, .frame-type-textmedia .textmedia--left .textmedia__text {
    width: 49%; } }
.frame-type-textmedia .textmedia--centeredright, .frame-type-textmedia .textmedia--centeredleft {
  align-items: center; }
@media (min-width: 769px) {
  .frame-type-textmedia .textmedia--right .textmedia__text, .frame-type-textmedia .textmedia--centeredright .textmedia__text {
    order: -1; } }
.frame-type-textmedia .caption {
  margin: 0.8rem 0; }
  .frame-type-textmedia .caption__container {
    display: inline-block;
    text-align: left; }
  .frame-type-textmedia .caption__description {
    text-align: left; }

.frame-type-textmedia.frame-default .textmedia__text {
  order: -2;
  padding-bottom: 2rem; }
@media (min-width: 769px) {
  .frame-type-textmedia.frame-default .textmedia__text {
    padding-bottom: 0; } }
.frame-type-textmedia.frame-default .textmedia__gallery {
  padding-bottom: 0; }
@media (min-width: 769px) {
  .frame-type-textmedia.frame-default .textmedia--left .textmedia__text, .frame-type-textmedia.frame-default .textmedia--centeredleft .textmedia__text {
    order: 1; } }
.frame-type-textmedia.frame-default .gallery-item img, .frame-type-textmedia.frame-default .gallery-item video {
  width: 100%; }

.frame-type-textmedia.frame-indent .gallery-item img {
  width: auto; }
@media (min-width: 769px) {
  .frame-type-textmedia.frame-indent .textmedia__item {
    width: 48%; }
  .frame-type-textmedia.frame-indent .textmedia__text {
    width: 65%; }
  .frame-type-textmedia.frame-indent .textmedia__gallery {
    width: 30%; }
  .frame-type-textmedia.frame-indent .gallery-item img {
    width: 100%; } }

@media (min-width: 769px) {
  .frame-type-textmedia.frame-indent--left .textmedia__text, .frame-type-textmedia.frame-indent--right .textmedia__text {
    width: 60%; }
  .frame-type-textmedia.frame-indent--left .textmedia__gallery, .frame-type-textmedia.frame-indent--right .textmedia__gallery {
    width: 35%; }
  .frame-type-textmedia.frame-indent--left .gallery-item img, .frame-type-textmedia.frame-indent--right .gallery-item img {
    width: 100%; } }

.frame-type-textmedia.frame-indent--left750 .gallery-item img, .frame-type-textmedia.frame-indent--right750 .gallery-item img {
  max-width: 230px; }
@media (min-width: 769px) {
  .frame-type-textmedia.frame-indent--left750 .textmedia__text, .frame-type-textmedia.frame-indent--right750 .textmedia__text {
    width: 65%; }
  .frame-type-textmedia.frame-indent--left750 .textmedia__gallery, .frame-type-textmedia.frame-indent--right750 .textmedia__gallery {
    width: 20%; }
  .frame-type-textmedia.frame-indent--left750 .gallery-item img, .frame-type-textmedia.frame-indent--right750 .gallery-item img {
    width: 100%;
    max-width: 230px; }
  .frame-type-textmedia.frame-indent--left750 figure.image, .frame-type-textmedia.frame-indent--right750 figure.image {
    text-align: center; } }

.frame-type-textmedia.frame-media-above .textmedia__gallery {
  order: 0; }

@media (min-width: 769px) {
  .images--circular .gallery-row .gallery-item {
    overflow: hidden; } }

.slick-arrow {
  position: absolute;
  top: 50%;
  margin-top: -20px;
  z-index: 10;
  width: 40px;
  height: 40px;
  transform: rotate(-45deg);
  border: 2px solid #323232;
  opacity: 1;
  transition: all 0.3s;
  display: none !important; }
@media (min-width: 1500px) {
  .slick-arrow {
    display: block !important; } }
.slick-arrow:hover {
  border-color: #b2b2b2; }
.slick-arrow.slick-prev {
  left: -50px;
  border-right-color: transparent;
  border-bottom-color: transparent; }
.slick-arrow.slick-next {
  right: -50px;
  border-left-color: transparent;
  border-top-color: transparent; }

.slick-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 13px;
  margin-bottom: 30px; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    padding: 0;
    margin-right: 10px;
    margin-bottom: 10px; }
  @media (min-width: 576px) {
    .slick-dots li {
      margin-right: 20px; } }
  .slick-dots li.slick-active button {
    background-color: #323232; }
  .slick-dots li button {
    border: 1px solid #b2b2b2;
    border-radius: 50%;
    display: block;
    height: 15px;
    width: 15px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer; }

.video img {
  position: absolute;
  z-index: 20;
  width: 100%; }
.video .embed-responsive {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%; }
.video .embed-youtube {
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden; }
  .video .embed-youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border: none; }
.video .video__element--canvas {
  display: none; }
.video .mfp-hide {
  display: block !important;
  opacity: 0;
  pointer-events: none; }
.video .video__element--cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: cover;
  z-index: 15; }
.video .video__element--controls {
  display: block;
  overflow: hidden;
  position: relative; }
.video .video__element--icon-play {
  width: 60px;
  height: 60px;
  background-color: #323232;
  position: absolute;
  z-index: 20;
  border-radius: 50%;
  opacity: 1;
  transition: all 0.3s;
  cursor: pointer;
  pointer-events: none; }
@media (min-width: 576px) {
  .video .video__element--icon-play {
    width: 88px;
    height: 88px; } }
.video .video__element--icon-play::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 28px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 14px;
  left: 20px; }
@media (min-width: 576px) {
  .video .video__element--icon-play::after {
    border-width: 24px 0 24px 42px;
    top: calc(50% - 24px);
    left: 27px; } }
.video .video__element--icon-play.hide {
  opacity: 0; }
