@charset "UTF-8";
/* ==========================================================================
   Main
   ========================================================================== */
/* Swiper */
/**
 * Swiper 4.5.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 13, 2019
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  -o-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms top, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms left, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms right, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/* ==========================================================================
   Settings
   ========================================================================== */
/* ==========================================================================
   Settings - Breakpoints
   ========================================================================== */
/* ==========================================================================
   Color settings
   ========================================================================== */
/* Yellow (primary) */
/* Teal (secondary) */
/* Brown */
/* Navy */
/* Green */
/* Neutral */
/* Highlight */
/* Mark */
/* Box-shadow */
/* ==========================================================================
   Settings - Layout variables
   ========================================================================== */
/* Widths */
/* Heights */
/* ==========================================================================
   Transition settings
   ========================================================================== */
/* ==========================================================================
   Typography settings
   ========================================================================== */
/* Families */
/*
 * Font sizes  width breakpoint
 * Use with the mixin -  @include font-size($font-size-base)
 */
/* Line height */
/* ==========================================================================
   Spacing settings
   ========================================================================== */
/* ==========================================================================
   Tools
   ========================================================================== */
/* ==========================================================================
   Tool - Maintain aspect ratio on resize, @include aspect-ratio(16, 9);
========================================================================== */
/* ==========================================================================
   Generic
   ========================================================================== */
/* ==========================================================================
   Global forms
   ========================================================================== */
/**
  * 1. Change the font styles in all browsers (opinionated).
  * 2. Remove the margin in Firefox and Safari.
  */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* ==========================================================================
   Global elements
   ========================================================================== */
*,
*:before,
*:after {
  box-sizing: inherit; }

html {
  box-sizing: border-box;
  -ms-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in IE on Windows Phone */
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  -webkit-font-smoothing: antialiased;
  font-family: "Helvetica neue", "Helvetica", "Arial", sans-serif;
  font-size: 16px;
  color: #2c2a29;
  line-height: 1.5; }
  @media screen and (min-width: 769px) {
    html {
      font-size: 18px; } }

body {
  margin: 0;
  /* Remove the margin in all browsers */ }

.flexboxlegacy body {
  display: flex;
  /* For sticky footer */
  flex-direction: column; }

html,
body {
  height: 100%;
  /* For sticky footer */ }

main {
  flex: 1 0 auto;
  /* For sticky footer */ }

img {
  max-width: 100%;
  height: auto; }

svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Global links
   ========================================================================== */
/**
  * 1. Remove the gray background on active links in IE 10.
  * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }
  a:active, a:hover {
    outline-width: 0; }

/* ==========================================================================
   Global typography
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: 600; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/* Add the correct style for mark */
mark {
  background-color: transparent;
  color: #ffc600; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/**
 * Prevent empty paragraphs from taking up space
 */
p:empty {
  display: none; }

/* ==========================================================================
   Global table
   ========================================================================== */
table {
  width: 100%;
  border: 1px solid #d8d8d8; }
  table:not(:first-child) {
    margin-top: 1.112rem; }

td {
  padding: 0.556rem; }

/* ==========================================================================
   Global - Print
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  /* Elements */
  .header,
  .footer,
  .navigation,
  .m-push,
  .m-teaser,
  .hide-print {
    display: none; } }

/* ==========================================================================
   Atoms
   ========================================================================== */
/* ==========================================================================
   Atoms - Block quote
   ========================================================================== */
blockquote {
  text-align: center;
  font-size: 1.125rem; }
  @media screen and (min-width: 769px) {
    blockquote {
      font-size: 1.111rem; } }

/* ==========================================================================
   Atoms - Buttons
   ========================================================================== */
.a-btn, .m-btn-ext, .o-header__action--link,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
  display: inline-block;
  padding: .625rem 1.25rem;
  border: 0;
  border-radius: .313em;
  background-color: #ffc600;
  color: #2c2a29;
  font-size: .875rem;
  text-align: center;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer;
  transition: background-color ease-in-out 0.25s, border ease-in-out 0.25s, color ease-in-out 0.25s; }
  @media screen and (min-width: 768px) {
    .a-btn, .m-btn-ext, .o-header__action--link,
    button,
    input[type="submit"],
    input[type="button"],
    input[type="reset"] {
      border-radius: .278em;
      padding: .833rem 1.111rem;
      font-size: .889rem; } }
  .a-btn:focus, .m-btn-ext:focus, .o-header__action--link:focus, .a-btn:hover, .m-btn-ext:hover, .o-header__action--link:hover,
  button:focus,
  button:hover,
  input[type="submit"]:focus,
  input[type="submit"]:hover,
  input[type="button"]:focus,
  input[type="button"]:hover,
  input[type="reset"]:focus,
  input[type="reset"]:hover {
    background-color: #f1bb00;
    color: #2c2a29;
    text-decoration: none; }
  .a-btn:focus, .m-btn-ext:focus, .o-header__action--link:focus,
  button:focus,
  input[type="submit"]:focus,
  input[type="button"]:focus,
  input[type="reset"]:focus {
    outline-width: 1px;
    outline-color: #ffc600; }
  .a-btn[disabled], .m-btn-ext[disabled], .o-header__action--link[disabled],
  button[disabled],
  input[type="submit"][disabled],
  input[type="button"][disabled],
  input[type="reset"][disabled] {
    background-color: #ebebeb;
    color: inherit;
    opacity: .7;
    cursor: not-allowed; }
    .a-btn[disabled]:hover, .m-btn-ext[disabled]:hover, .o-header__action--link[disabled]:hover, .a-btn[disabled]:focus, .m-btn-ext[disabled]:focus, .o-header__action--link[disabled]:focus,
    button[disabled]:hover,
    button[disabled]:focus,
    input[type="submit"][disabled]:hover,
    input[type="submit"][disabled]:focus,
    input[type="button"][disabled]:hover,
    input[type="button"][disabled]:focus,
    input[type="reset"][disabled]:hover,
    input[type="reset"][disabled]:focus {
      background-color: #ebebeb; }

.a-btn, .m-btn-ext, .o-header__action--link {
  text-decoration: none;
  /* Remove background */
  /* Make the button span 100% */
  /* Center button inside parent element */ }
  .a-btn--narrow {
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .a-btn--narrow {
        font-size: 0.778rem; } }
    @media screen and (min-width: 768px) {
      .a-btn--narrow {
        padding: 0.556rem; } }
  .a-btn--border {
    background-color: #fff;
    color: #ffc600;
    border: 1px solid currentColor; }
    .a-btn--border:hover, .a-btn--border:focus {
      border-color: transparent; }
  .a-btn--transparent, .o-header__action--link, .a-btn--transparent:focus, .o-header__action--link:focus, .a-btn--transparent:hover, .o-header__action--link:hover {
    background-color: transparent; }
  .a-btn--flat-left {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important; }
  .a-btn--flat-right {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important; }
  .a-btn--flat-top {
    border-top-right-radius: 0 !important;
    border-top-left-radius: 0 !important; }
  .a-btn-block {
    display: block;
    width: 100%; }
  .a-btn--center {
    display: block;
    margin-right: auto;
    margin-left: auto; }
    .a-btn__link .a-btn--center {
      display: inline-block;
      justify-self: center; }
  .a-btn__link {
    display: flex; }

/* ==========================================================================
   Atoms - Fieldset
   ========================================================================== */
.fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

/* ==========================================================================
   Atoms - Headings styles - TODO: Is this used?
   ========================================================================== */
.a-title {
  /* TODO: Is this used?? */ }
  .a-title--block {
    margin-bottom: 0;
    padding: 1.112rem;
    background: #ffc600;
    color: #000; }
  .a-title--decoration:after {
    content: '';
    display: block;
    width: 200px;
    margin-top: 10px;
    border-bottom: 5px solid #ffc600; }
  .a-title--inverted {
    color: #fff; }
  .a-title--uppercase {
    text-transform: uppercase; }
  .a-title > a {
    color: inherit;
    text-decoration: none; }
    .a-title > a:hover, .a-title > a:focus {
      text-decoration: underline; }
  .a-title > svg {
    margin-top: -5px;
    margin-right: 5px;
    vertical-align: middle; }
  .a-title--block-tag {
    position: absolute;
    top: 20px;
    left: 0;
    z-index: 1;
    padding: 0.556rem;
    font-size: 1rem; }
    @media screen and (min-width: 769px) {
      .a-title--block-tag {
        font-size: 1rem; } }

/* ==========================================================================
   Atoms - Headings
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 800;
  line-height: 1.1; }
  h1:first-child,
  h2:first-child,
  h3:first-child,
  h4:first-child,
  h5:first-child,
  h6:first-child {
    margin-top: 0; }
  h1:not(:first-child),
  h2:not(:first-child),
  h3:not(:first-child),
  h4:not(:first-child),
  h5:not(:first-child),
  h6:not(:first-child) {
    margin-top: 1.112rem; }
    @media screen and (min-width: 576px) {
      h1:not(:first-child),
      h2:not(:first-child),
      h3:not(:first-child),
      h4:not(:first-child),
      h5:not(:first-child),
      h6:not(:first-child) {
        margin-top: 2.223rem; } }
  @media screen and (max-width: 480px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      /* Breaking long titles */
      overflow-wrap: break-word;
      word-wrap: break-word; } }
  h1 + p,
  h2 + p,
  h3 + p,
  h4 + p,
  h5 + p,
  h6 + p {
    margin-top: 0; }

h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0.556rem; }
  @media screen and (min-width: 576px) {
    h2,
    h3,
    h4,
    h5,
    h6 {
      margin-bottom: 1.112rem; } }

h1 {
  margin-bottom: 1.112rem;
  font-size: 1.875rem; }
  @media screen and (min-width: 769px) {
    h1 {
      font-size: 2.667rem; } }
  @media screen and (min-width: 576px) {
    h1 {
      margin-bottom: 2.223rem; } }

h2 {
  font-size: 1.5rem; }
  @media screen and (min-width: 769px) {
    h2 {
      font-size: 2.333rem; } }

h3 {
  font-size: 1.375rem; }
  @media screen and (min-width: 769px) {
    h3 {
      font-size: 2rem; } }

h4 {
  font-size: 1.25rem; }
  @media screen and (min-width: 769px) {
    h4 {
      font-size: 1.333rem; } }

h5 {
  font-size: 1.125rem; }
  @media screen and (min-width: 769px) {
    h5 {
      font-size: 1.111rem; } }

h6 {
  font-size: 1rem; }
  @media screen and (min-width: 769px) {
    h6 {
      font-size: 1rem; } }

/* ==========================================================================
   Atoms - Icons
   ========================================================================== */
.a-icon {
  width: 32px;
  height: 32px;
  fill: currentColor;
  vertical-align: middle; }
  @media screen and (min-width: 576px) {
    .a-icon--large {
      width: 64px;
      height: 64px; } }
  .a-icon--medium {
    width: 20px;
    height: 20px; }
  .a-icon--small {
    width: 16px;
    height: 16px; }
  .a-icon--tiny {
    width: 12px;
    /* 12px */
    height: 12px;
    /* 12px */ }
  .a-icon--inverted {
    fill: #fff; }
  .a-icon--klarna {
    width: 55px; }

/* ==========================================================================
   Atoms - Input description
   ========================================================================== */
.a-description {
  margin-top: 0.278rem;
  font-size: 0.75rem; }
  @media screen and (min-width: 769px) {
    .a-description {
      font-size: 0.667rem; } }

/* ==========================================================================
   Atoms - Input Feedback
   ========================================================================== */
.a-feedback {
  margin-top: 0.278rem;
  color: #74aa50; }
  .a-feedback--warning {
    color: #ed6a2f; }
  .a-feedback--error {
    color: #b43e23; }

/* ==========================================================================
   Atoms - Forms
   ========================================================================== */
input + label,
input + .a-input-field {
  margin-left: 0.278rem; }

.a-input-field,
textarea,
input[type="text"],
input[type="password"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="textarea"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: .625rem 1.25rem;
  border-radius: .313em;
  border: 1px solid #d8d8d8;
  line-height: 1;
  box-shadow: none;
  transition: border 0.25s ease-in-out; }
  .a-input-field:focus,
  textarea:focus,
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  input[type="url"]:focus,
  input[type="datetime"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="week"]:focus,
  input[type="time"]:focus,
  input[type="datetime-local"]:focus,
  input[type="number"]:focus,
  input[type="textarea"]:focus {
    outline: 0;
    border-color: #5c5c5c; }
  @media screen and (min-width: 576px) {
    .a-input-field,
    textarea,
    input[type="text"],
    input[type="password"],
    input[type="search"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="datetime"],
    input[type="date"],
    input[type="month"],
    input[type="week"],
    input[type="time"],
    input[type="datetime-local"],
    input[type="number"],
    input[type="textarea"] {
      border-radius: .278em;
      padding: .833rem 1.111rem;
      font-size: .889rem; } }

.a-input-field,
textarea,
input[type="text"],
input[type="password"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="range"],
input[type="textarea"] {
  width: 100%; }

/* Input fields with icon */
@media screen and (min-width: 576px) {
  .a-input-field[class*="--icon"] {
    padding-left: 50px;
    background-position: 20px 50%;
    background-repeat: no-repeat;
    background-size: 20px auto; }
  .a-input-field--icon-person {
    background-image: url(/static/icons/icon-person.svg); }
  .a-input-field--icon-location {
    background-image: url(/static/icons/icon-location.svg); } }

input.a-input-field--warning {
  border-color: #ed6a2f;
  color: #ed6a2f; }
  input.a-input-field--warning:focus {
    border-color: #ed6a2f; }

input.a-input-field--error {
  border-color: #b43e23;
  color: #b43e23; }
  input.a-input-field--error:focus {
    border-color: #b43e23; }

/* ==========================================================================
   Atoms - Label
   ========================================================================== */
.a-label,
label {
  margin-bottom: 0; }
  .a-label--block,
  label--block {
    display: block; }
  .a-label:not(.u-visually-hidden) + select,
  .a-label:not(.u-visually-hidden) + input,
  .a-label:not(.u-visually-hidden) + textarea,
  label:not(.u-visually-hidden) + select,
  label:not(.u-visually-hidden) + input,
  label:not(.u-visually-hidden) + textarea {
    margin-top: 0.556rem; }

/* ==========================================================================
   Atoms - Placeholder text
   ========================================================================== */
::-webkit-input-placeholder {
  font-style: italic;
  color: #5c5c5c; }

::-moz-placeholder {
  font-style: italic;
  color: #5c5c5c; }

:-ms-input-placeholder {
  font-style: italic;
  color: #5c5c5c; }

:-moz-placeholder {
  font-style: italic;
  color: #5c5c5c; }

/* ==========================================================================
   Atoms - Select
   ========================================================================== */
select {
  position: relative;
  -webkit-appearance: none;
  width: 100%;
  padding: .625rem 1.25rem;
  border-radius: 0.556rem;
  border: 1px solid #d8d8d8;
  box-shadow: none;
  background: #fff url(/static/icons/icon-down.svg) center right 0.556rem no-repeat;
  background-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 576px) {
    select {
      border-radius: .278em;
      padding: .833rem 1.111rem;
      font-size: .889rem; } }
  select::-ms-expand {
    display: none; }

/* ==========================================================================
   Atoms - Links
   ========================================================================== */
a {
  color: #2cd5c4;
  transition: color 0.25s ease-in-out; }
  a:active, a:hover, a:focus {
    color: #22ac9e; }
  a:focus {
    outline: 0; }

/* ==========================================================================
   Atoms - Logo
   ========================================================================== */
.a-logo {
  width: 70px;
  height: 50px;
  color: #000;
  vertical-align: middle; }
  @media screen and (min-width: 576px) {
    .a-logo {
      width: 110px;
      height: 75px; } }
  .a-logo--small {
    width: 62px;
    height: 42px; }
  .a-logo--wide {
    width: 210px;
    height: 24px; }

/* ==========================================================================
   Atoms - Menu toggle button
   ========================================================================== */
.a-menu-toggle-btn {
  width: 60px;
  height: 60px;
  padding: 1.112rem;
  border-radius: 0; }
  .a-menu-toggle-btn--top-right {
    position: absolute;
    top: 0;
    right: 0; }
  .a-menu-toggle-btn.js-is-active svg {
    transform: rotate(180deg); }
  @media screen and (min-width: 992px) {
    .a-menu-toggle-btn {
      display: none; } }

/* ==========================================================================
   Atoms - Paragraph
   ========================================================================== */
p {
  margin-top: 1.112rem;
  margin-bottom: 0;
  color: inherit; }
  p:first-child {
    margin-top: 0; }

/* ==========================================================================
   Atoms - Preamble
   ========================================================================== */
.a-preamble {
  font-size: 1.25rem; }
  @media screen and (min-width: 769px) {
    .a-preamble {
      font-size: 1.333rem; } }

/* ==========================================================================
   Atoms - Site name
   ========================================================================== */
.a-site-name {
  display: block;
  margin: 0 auto 0.556rem;
  font-weight: 600;
  color: #000;
  text-decoration: none;
  font-size: 1.25rem; }
  @media screen and (min-width: 769px) {
    .a-site-name {
      font-size: 1.333rem; } }
  @media (min-width: 992px) {
    .a-site-name {
      margin-right: 0.556rem;
      margin-left: 0;
      white-space: nowrap; } }
  .a-site-name:focus, .a-site-name:hover {
    color: #000; }

/* ==========================================================================
   Atoms - Tag
   ========================================================================== */
.a-tag {
  display: inline-block;
  vertical-align: middle;
  margin: 0.278rem;
  padding: 0.278rem 0.556rem;
  border-radius: 0.278rem;
  background: #ffc600;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  line-height: inherit;
  transition: background 0.25s ease-in-out, color 0.25s ease-in-out;
  font-size: 0.875rem; }
  @media screen and (min-width: 769px) {
    .a-tag {
      font-size: 0.778rem; } }
  .a-tag:not([class*="u-bg"]).js-is-active, .a-tag:not([class*="u-bg"]):hover, .a-tag:not([class*="u-bg"]):focus {
    background: #f1bb00;
    color: #000; }
  .a-tag--small {
    font-size: 0.75rem; }
    @media screen and (min-width: 769px) {
      .a-tag--small {
        font-size: 0.667rem; } }

/* ==========================================================================
   Molecules
   ========================================================================== */
/* ==========================================================================
   Molecule - Article
   ========================================================================== */
@media screen and (max-width: 576px) {
  .m-article img[style*="float"] {
    display: block !important;
    float: none !important;
    width: auto !important;
    height: auto !important;
    margin: 1.112rem auto !important; } }

/* ==========================================================================
   Molecule - Highlight badge
   ========================================================================== */
.m-badge {
  position: absolute;
  right: 10px;
  top: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  padding: 0.556rem;
  background: #ffc600;
  border-radius: 50%;
  color: #000; }
  @media screen and (min-width: 576px) {
    .m-badge {
      width: 120px;
      height: 120px; } }
  .m-badge__title {
    overflow: hidden;
    margin-bottom: 0;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    text-overflow: ellipsis;
    text-transform: uppercase;
    font-weight: 400;
    font-size: .875rem; }
    @media screen and (min-width: 576px) {
      .m-badge__title {
        font-size: .889rem; } }

/* ==========================================================================
   Molecule - Block quote block
   ========================================================================== */
.m-blockquote {
  position: relative;
  padding: 120px 2.223rem 2.223rem;
  quotes: "\201C" "\201D" "\2018" "\2019"; }
  .m-blockquote:not(:first-child) {
    margin-top: 2.223rem; }
  .m-blockquote:not(:last-child) {
    margin-bottom: 2.223rem; }
  .m-blockquote:before {
    content: "\201C";
    position: absolute;
    top: 2.223rem;
    left: 50%;
    border-radius: 50%;
    background: #2cd5c4;
    width: 60px;
    height: 60px;
    font-family: Georgia;
    font-size: 72px;
    text-align: center;
    color: #fff;
    line-height: 95px;
    transform: translateX(-50%); }
  .m-blockquote__footer {
    margin-top: 0.556rem;
    font-size: 1rem;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .m-blockquote__footer {
        font-size: 1rem; } }
    .m-blockquote__footer:before {
      content: "\2013   "; }

/* ==========================================================================
   Molecule - Extended button with more advanced structure
   ========================================================================== */
.m-btn-ext {
  position: relative; }
  .m-btn-ext__icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
  .m-btn-ext__desc {
    margin-left: 30px; }

/* ==========================================================================
   Molecule - Category
   ========================================================================== */
.m-category {
  display: block;
  box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15);
  background-color: #fff;
  transform: translateY(-2px);
  transition: background-color ease-in-out 0.25s, transform ease-in-out 0.25s; }
  .m-category:hover {
    background-color: #f7f7f7;
    transform: translateY(0px); }
  .m-category__wrapper {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none; }
    .m-category__wrapper:hover {
      color: inherit; }
  .m-category__img {
    display: block;
    flex: 0 0 auto; }
  .m-category__content {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.112rem;
    text-align: center; }
  .m-category__title:last-child {
    margin-bottom: 0; }
  .m-category__desc {
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .m-category__desc {
        font-size: 0.667rem; } }

/* ==========================================================================
   Molecule - Content blurb
   ========================================================================== */
@media screen and (max-width: 767px) {
  .m-content-blurb {
    width: 100%; }
    .m-content-blurb:not(:first-child) {
      margin-top: 20px; } }

@media screen and (min-width: 768px) {
  .m-content-blurb {
    flex: 1; } }

.m-content-blurb__media:not([class*='--video']) {
  width: 100%; }
  .m-content-blurb__media:not([class*='--video']):before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.66667%; }

.m-content-blurb__content {
  padding: 0.556rem;
  border-bottom: 1px solid #d8d8d8; }
  @media screen and (min-width: 768px) {
    .m-content-blurb__content {
      padding: 1.112rem;
      border-bottom: 0; } }

.m-content-blurb__header {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.m-content-blurb__title {
  width: 100%;
  /* IF fix, avoid text to span outside the parent */
  margin-bottom: 0; }

.m-content-blurb__btn {
  margin-left: 0.556rem;
  padding: 0; }
  .m-content-blurb__btn.js-is-active {
    transform: rotate(180deg); }
  .m-content-blurb__btn, .m-content-blurb__btn:hover, .m-content-blurb__btn:focus {
    color: #5c5c5c; }
  @media screen and (min-width: 768px) {
    .m-content-blurb__btn {
      display: none; } }
  .m-content-blurb__btn > .a-icon {
    vertical-align: top;
    width: 20px;
    height: 20px; }

.m-content-blurb__text {
  margin-top: 0.556rem;
  font-size: 0.875rem; }
  @media screen and (min-width: 769px) {
    .m-content-blurb__text {
      font-size: 0.778rem; } }
  .m-content-blurb__text--hidden {
    display: none; }
  .m-content-blurb__text.js-is-visible {
    display: block; }
  @media screen and (min-width: 768px) {
    .m-content-blurb__text {
      display: block;
      margin-top: 0.556rem; } }

.m-content-blurb__link {
  display: block;
  margin-top: 0.556rem;
  text-decoration: none; }
  .m-content-blurb__link-icon {
    vertical-align: middle;
    width: 20px;
    height: 20px; }

/* ==========================================================================
   Molecule - Content teaser
   ========================================================================== */
.m-content-teaser:not(:first-child) {
  margin-top: 1.112rem; }

.m-content-teaser__link, .m-content-teaser__link:hover, .m-content-teaser__link:focus {
  color: inherit;
  text-decoration: none; }

.m-content-teaser__wrapper {
  display: block;
  padding: 1.112rem;
  border: 1px solid #f7f7f7;
  background: #fff;
  transform: translateY(-2px);
  transition: transform 0.15s ease-in-out; }
  @media screen and (min-width: 768px) {
    .m-content-teaser__wrapper {
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  @media screen and (min-width: 992px) {
    .m-content-teaser__wrapper {
      padding-right: 4.444rem;
      padding-left: 4.444rem; } }
  .m-content-teaser__wrapper:hover, .m-content-teaser__wrapper:focus {
    transform: translateY(0);
    background: #f7f7f7; }

@media screen and (min-width: 768px) {
  .m-content-teaser__image {
    order: 2;
    max-width: 250px; } }

.m-content-teaser__image + [class*="__content"] {
  margin-top: 1.112rem; }
  @media screen and (min-width: 768px) {
    .m-content-teaser__image + [class*="__content"] {
      margin-top: 0; } }

@media screen and (min-width: 768px) {
  .m-content-teaser__content {
    order: 1;
    max-width: 720px;
    padding-right: 1.112rem; } }

.m-content-teaser__read-more, .m-content-teaser__content-type {
  font-size: 0.875rem;
  color: #2cd5c4; }
  @media screen and (min-width: 769px) {
    .m-content-teaser__read-more, .m-content-teaser__content-type {
      font-size: 0.778rem; } }

.m-content-teaser__content-type {
  text-transform: capitalize; }

/* ==========================================================================
   Molecule - CTA block
   ========================================================================== */
.m-cta-block {
  position: relative;
  display: block;
  text-decoration: none; }
  .m-cta-block:focus, .m-cta-block:hover {
    color: #fff; }
  @media screen and (min-width: 992px) {
    .m-cta-block {
      min-height: 400px; } }
  .m-cta-block__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 2.223rem 1.112rem;
    height: 100%;
    color: #fff; }
    @media screen and (min-width: 992px) {
      .m-cta-block__content {
        padding: 2.223rem; } }
  .m-cta-block__title {
    color: #fff; }
    @media screen and (max-width: 768px) {
      .m-cta-block__title {
        padding-right: 50px;
        margin-bottom: 0; } }
  .m-cta-block__desc {
    display: none;
    color: #fff;
    font-weight: 600; }
    @media screen and (min-width: 992px) {
      .m-cta-block__desc {
        display: block;
        margin-bottom: 2.223rem;
        padding-right: 0; } }
  .m-cta-block__icon {
    position: absolute;
    right: 1.112rem;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (min-width: 992px) {
      .m-cta-block__icon {
        transform: translateY(0);
        top: auto;
        bottom: 2.223rem;
        left: 2.223rem; } }
  .m-cta-block__bg {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1; }
    .m-cta-block__bg, .m-cta-block__bg.u-object-fit {
      position: absolute; }

/* ==========================================================================
   Atoms -  Custom checkbox TODO: Should be molecule
========================================================================== */
.m-checkbox-custom {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0); }
  .m-checkbox-custom + label {
    cursor: pointer;
    position: relative;
    padding-left: 30px;
    margin-right: 1.112rem; }
    .m-checkbox-custom + label:before, .m-checkbox-custom + label:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      background-color: #fff;
      transform: translateY(-50%);
      transition: border 0.25s ease-in-out, background 0.25s ease-in-out; }
    .m-checkbox-custom + label:before {
      left: 0;
      width: 20px;
      height: 20px;
      border: 2px solid #5c5c5c; }
    .m-checkbox-custom + label:after {
      left: 6px;
      width: 8px;
      height: 8px; }
  .m-checkbox-custom--align-top + label:before {
    top: 0;
    transform: translateY(0); }
  .m-checkbox-custom--align-top + label:after {
    top: 6px;
    transform: translateY(0); }
  .m-checkbox-custom:focus + label:before {
    border-color: #000; }
  .m-checkbox-custom:checked + label:after {
    background: #ffc600; }
  .m-checkbox-custom:checked + label:before, .m-checkbox-custom:focus:checked + label:before {
    border-color: #ffc600; }
  .m-checkbox-custom--expand {
    width: 100%;
    height: 100%;
    clip: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1; }
    .m-checkbox-custom--expand + label {
      margin-right: 0;
      margin-left: 0; }

/* ==========================================================================
   Atoms - Custom file upload
   ========================================================================== */
.m-file-input {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1; }
  .m-file-input:focus + [class*="-label"], .m-file-input.has-focus + [class*="-label"] {
    border-color: #5c5c5c; }
  .m-file-input + [class*="-label"] {
    padding: .625rem 1.25rem;
    border-radius: 0.556rem;
    border: 1px solid #d8d8d8;
    background: #fff;
    line-height: 1;
    cursor: pointer;
    transition: border 0.25s ease-in-out; }
    @media screen and (min-width: 576px) {
      .m-file-input + [class*="-label"] {
        border-radius: .278em;
        padding: .833rem 1.111rem;
        font-size: .889rem; } }
    .m-file-input + [class*="-label"] > [class*="-icon"] {
      vertical-align: bottom;
      margin-right: 0.278rem; }

.no-js .m-file-input {
  width: auto;
  height: auto;
  opacity: 1;
  overflow: hidden;
  position: static;
  z-index: 1; }
  .no-js .m-file-input + [class*="-label"] {
    display: none; }

/* ==========================================================================
   Atoms -  Custom radio button
========================================================================== */
.m-radio-custom {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0); }
  .m-radio-custom + label {
    cursor: pointer;
    position: relative;
    padding-left: 30px;
    margin-right: 1.112rem; }
    .m-radio-custom + label:before, .m-radio-custom + label:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      border-radius: 50%;
      background-color: #fff;
      transform: translateY(-50%);
      transition: border 0.25s ease-in-out, background 0.25s ease-in-out; }
    .m-radio-custom + label:before {
      left: 0;
      width: 20px;
      height: 20px;
      border: 2px solid #5c5c5c; }
    .m-radio-custom + label:after {
      left: 6px;
      width: 8px;
      height: 8px; }
  .m-radio-custom--align-top + label:before {
    top: 0;
    transform: translateY(0); }
  .m-radio-custom--align-top + label:after {
    top: 6px;
    transform: translateY(0); }
  .m-radio-custom:focus + label:before {
    border-color: #000; }
  .m-radio-custom:checked + label:after {
    background: #ffc600; }
  .m-radio-custom:checked + label:before, .m-radio-custom:focus:checked + label:before {
    border-color: #ffc600; }
  .m-radio-custom--expand {
    width: 100%;
    height: 100%;
    clip: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1; }
    .m-radio-custom--expand + label {
      margin-right: 0;
      margin-left: 0; }

/* ==========================================================================
   Molecule - Employee item
   ========================================================================== */
.m-employee-item {
  box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15);
  background: #fff; }
  .m-employee-item__image img {
    display: block;
    width: 100%; }
  .m-employee-item__content {
    padding: 2.223rem 1.112rem;
    font-size: 0.875rem;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .m-employee-item__content {
        font-size: 0.778rem; } }
  .m-employee-item__job-title {
    display: block;
    font-weight: 600; }
  .m-employee-item__meta-data {
    margin-top: 0.556rem; }
    .m-employee-item__meta-data + [class*="__meta-data"] {
      margin-top: 0; }
  .m-employee-item__mail {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }

/* ==========================================================================
   Molecule - Form item
   ========================================================================== */
.m-form-item {
  /* Decrease spacing between form-items */ }
  .m-form-item--relative {
    position: relative; }
  .m-form-item + [class*="-item"] {
    margin-top: 0.556rem; }
    @media screen and (min-width: 576px) {
      .m-form-item + [class*="-item"] {
        margin-top: 1.112rem; } }
  @media screen and (min-width: 576px) {
    .m-form-item + [class*="--narrow"] {
      margin-top: 0.556rem; } }
  .m-form-item__btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0; }

/* ==========================================================================
   Molecule - Header section
   ========================================================================== */
.m-header-section h1 {
  margin-bottom: 0.556rem; }

.m-header-section__count {
  font-weight: 600; }

/* ==========================================================================
   Molecule - Language menu
   ========================================================================== */
.m-language-menu {
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  min-width: stretch; }
  .m-language-menu:not(.js-is-visible) {
    display: none; }
  @media screen and (min-width: 992px) {
    .m-language-menu__item:not(:first-child) {
      border-top: 1px solid #d8d8d8; } }
  .m-language-menu__link {
    display: block;
    padding: 0.556rem;
    color: inherit;
    text-transform: capitalize;
    text-decoration: none;
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .m-language-menu__link {
        font-size: 0.667rem; } }
    .m-language-menu__link:hover, .m-language-menu__link:focus {
      background-color: #fbf3d7;
      color: inherit; }

/* ==========================================================================
   Molecule - Lists
   ========================================================================== */
/* Target only unclassed ul and ol*/
ul:not(.u-list-unstyled),
ol:not(.u-list-unstyled) {
  margin-top: 1.112rem; }
  ul:not(.u-list-unstyled) > li:not(:first-child),
  ol:not(.u-list-unstyled) > li:not(:first-child) {
    margin-top: 0.278rem; }

ul:not(.u-list-unstyled) {
  padding-left: 0;
  list-style: none; }
  ul:not(.u-list-unstyled) > li {
    position: relative;
    padding-left: 15px; }
    ul:not(.u-list-unstyled) > li:before {
      content: '';
      position: absolute;
      top: .65em;
      left: 0;
      width: 5px;
      height: 5px;
      margin-right: 0.556rem;
      border-radius: 50%;
      background-color: #ffc600; }

/* ==========================================================================
   Molecule - Map
   ========================================================================== */
.m-map {
  min-height: 100%; }
  .m-map:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.66667%; }
  .m-map .gm-style-pbc {
    color: #fff !important; }
    .m-map .gm-style-pbc div {
      color: #fff !important; }

/* ==========================================================================
   Molecule - Post item
   ========================================================================== */
.m-post-item {
  display: flex;
  flex-wrap: wrap;
  height: inherit;
  box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15); }
  .m-post-item:hover {
    transform: translateY(0);
    background: #f7f7f7; }
  .m-post-item__content-wrapper {
    flex: 1 1 100%; }
    .m-post-item__content-wrapper, .m-post-item__content-wrapper:hover, .m-post-item__content-wrapper:focus {
      color: inherit;
      text-decoration: none; }
  .m-post-item__content {
    padding: 0.556rem; }
    @media screen and (min-width: 768px) {
      .m-post-item__content {
        padding: 1.112rem; } }
  .m-post-item__tags {
    flex: 1 1 100%;
    align-self: flex-end;
    padding: 0.556rem; }
    @media screen and (min-width: 768px) {
      .m-post-item__tags {
        padding: 1.112rem; } }

/* ==========================================================================
   Molecule - Primary navigation with sub navigation and product promotion blocks
   ========================================================================== */
.m-primary-navigation {
  background-color: #fff; }
  .m-primary-navigation__item {
    font-size: 1rem; }
    @media screen and (min-width: 769px) {
      .m-primary-navigation__item {
        font-size: 1rem; } }
    .m-primary-navigation__item--has-child {
      position: relative; }
    @media screen and (min-width: 992px) {
      .m-primary-navigation__item {
        display: inline-block;
        vertical-align: middle; }
        .m-primary-navigation__item--visible-md {
          display: none; }
        .m-primary-navigation__item:hover, .m-primary-navigation__item:focus {
          /* Display sub menu on hover */ }
          .m-primary-navigation__item:hover > .m-primary-sub-navigation, .m-primary-navigation__item:focus > .m-primary-sub-navigation {
            display: flex; } }
  .m-primary-navigation__link {
    display: block;
    height: 60px;
    padding: 1.112rem;
    border-bottom: 1px solid #d8d8d8;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    transition: background-color ease-in-out 0.25s; }
    @media screen and (min-width: 768px) {
      .m-primary-navigation__link {
        line-height: 1; } }
    @media screen and (min-width: 992px) {
      .m-primary-navigation__link {
        padding: 0 0.556rem 0.556rem;
        height: auto;
        border-bottom: 5px solid transparent;
        text-transform: uppercase; } }
    .m-primary-navigation__link--active, .m-primary-navigation__link:hover, .m-primary-navigation__link:focus {
      background-color: #fbf3d7;
      text-decoration: none;
      color: inherit; }
      @media screen and (min-width: 992px) {
        .m-primary-navigation__link--active, .m-primary-navigation__link:hover, .m-primary-navigation__link:focus {
          background-color: transparent;
          border-color: #ffc600; } }
  .m-primary-navigation__menu-btn {
    position: absolute;
    top: 0;
    right: 0; }

/* Sub navigation */
.m-primary-sub-navigation {
  background-color: #fff;
  z-index: 2; }
  .m-primary-sub-navigation > ul {
    background-color: inherit;
    /* For IE */ }
  .m-primary-sub-navigation:not(.js-is-visible) {
    display: none; }
  @media screen and (min-width: 992px) {
    .m-primary-sub-navigation {
      display: none;
      position: absolute;
      left: 0;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
      .m-primary-sub-navigation--right {
        right: 0;
        left: auto; } }
  .m-primary-sub-navigation__item {
    border-left: 5px solid #ffc600;
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .m-primary-sub-navigation__item {
        font-size: 0.778rem; } }
    .m-primary-sub-navigation__item--has-child {
      position: relative; }
    @media screen and (min-width: 992px) {
      .m-primary-sub-navigation__item {
        border-left: none; }
        .m-primary-sub-navigation__item:not(:first-child) {
          border-top: 1px solid #d8d8d8; } }
  .m-primary-sub-navigation__link {
    display: block;
    padding: 1.112rem;
    border-bottom: 1px solid #d8d8d8;
    color: inherit;
    text-decoration: none;
    transition: background-color ease-in-out 0.25s; }
    .m-primary-sub-navigation__link--active, .m-primary-sub-navigation__link:hover, .m-primary-sub-navigation__link:focus {
      background-color: #fbf3d7;
      color: inherit; }
    @media screen and (min-width: 992px) {
      .m-primary-sub-navigation__link {
        border-bottom: none;
        white-space: nowrap; } }

/* Promotion area */
.m-primary-sub-navigation__promo {
  display: none;
  padding: 1.112rem;
  border-left: 1px solid #d8d8d8;
  background-color: #fff; }
  @media screen and (min-width: 992px) {
    .m-primary-sub-navigation__promo {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap; } }
  .m-primary-sub-navigation__promo-item {
    display: flex;
    min-width: 480px; }
    .m-primary-sub-navigation__promo-item:not(:first-child) {
      margin-top: 1.112rem; }
    .m-primary-sub-navigation__promo-item:first-child:last-child {
      flex-wrap: wrap;
      min-width: 250px; }
      .m-primary-sub-navigation__promo-item:first-child:last-child .m-primary-sub-navigation__promo-img {
        padding-bottom: 66%;
        flex: 1 1 100%; }
      .m-primary-sub-navigation__promo-item:first-child:last-child .m-primary-sub-navigation__promo-content {
        flex: 1 1 100%; }
  .m-primary-sub-navigation__promo-img {
    flex-basis: 50%;
    position: relative;
    padding-bottom: 33%; }
  .m-primary-sub-navigation__promo-content {
    display: flex;
    flex-wrap: wrap;
    flex-basis: 50%;
    width: 100%;
    /* IF fix, avoid text to span outside the parent */
    padding: 1.112rem;
    background-color: #f7f7f7; }
  .m-primary-sub-navigation__promo-title {
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1; }
    @media screen and (min-width: 769px) {
      .m-primary-sub-navigation__promo-title {
        font-size: 0.778rem; } }
  .m-primary-sub-navigation__promo-desc {
    width: 100%;
    /* IF fix, avoid text to span outside the parent */
    margin-top: 0.556rem;
    font-size: 0.75rem; }
    @media screen and (min-width: 769px) {
      .m-primary-sub-navigation__promo-desc {
        font-size: 0.667rem; } }
  .m-primary-sub-navigation__promo-link {
    align-self: flex-end;
    margin-top: 0.556rem;
    text-decoration: underline;
    line-height: 1;
    font-size: 0.75rem; }
    @media screen and (min-width: 769px) {
      .m-primary-sub-navigation__promo-link {
        font-size: 0.667rem; } }

.m-product-block {
  display: flex;
  flex-direction: column; }
  @media screen and (min-width: 576px) {
    .m-product-block {
      flex-direction: row;
      align-items: center;
      justify-items: center; } }
  .m-product-block__info {
    padding-top: 1.112rem; }
    @media screen and (min-width: 576px) {
      .m-product-block__info {
        flex: 1 0 50%;
        max-width: 50%;
        padding-top: 0;
        padding-right: 0.556rem;
        padding-left: 0.556rem; } }
    .m-product-block__info-data {
      margin-top: 1.112rem; }
      .m-product-block__info-data p {
        margin-top: 0; }
  @media (max-width: 576px) {
    .m-product-block__image:last-child {
      order: -1; } }
  @media screen and (min-width: 576px) {
    .m-product-block__image {
      flex: 1 0 50%;
      max-width: 50%;
      padding-right: 0.556rem;
      padding-left: 0.556rem; } }
  .m-product-block__image img {
    display: block;
    margin: 0 auto; }

.no-flexbox .m-product-block__info, .no-flexbox .m-product-block__image,
.no-flexboxlegacy .m-product-block__info,
.no-flexboxlegacy .m-product-block__image {
  width: 48%;
  display: inline-block; }

/* ==========================================================================
   Molecule - Product item
   ========================================================================== */
.m-product-item {
  box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15);
  background: #fff;
  padding: 1.112rem 0.556rem;
  transform: translateY(-2px);
  transition: transform 0.15s ease-in-out; }
  @media screen and (min-width: 576px) {
    .m-product-item {
      padding: 2.223rem 1.112rem; } }
  .m-product-item__content-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    height: 100%; }
  .m-product-item__link, .m-product-item__link:hover, .m-product-item__link:focus {
    color: inherit;
    text-decoration: none; }
  .m-product-item:hover, .m-product-item:focus {
    transform: translateY(0);
    background: #f7f7f7; }
  .m-product-item__image {
    flex: 1 1 100%;
    text-align: center; }
    .m-product-item__image img {
      max-height: 160px; }
  .m-product-item__content {
    width: 100%;
    /* IF fix, avoid text to span outside the parent */
    margin-top: 1.112rem;
    margin-bottom: 1.112rem;
    font-size: 0.875rem;
    text-align: center;
    /* TODO: Refactor so it's a class */ }
    @media screen and (min-width: 769px) {
      .m-product-item__content {
        font-size: 0.778rem; } }
    .m-product-item__content h5 {
      margin-bottom: 0.278rem; }
  .m-product-item__meta-data {
    margin-top: 0.556rem; }
    .m-product-item__meta-data + [class*="__meta-data"] {
      margin-top: 0; }
  .m-product-item__meta-label {
    font-weight: 600; }
  .m-product-item__btn {
    align-self: flex-end; }

/* ==========================================================================
   Molecule - Single Reseller Result
   ========================================================================== */
.m-reseller-result {
  position: relative;
  box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15);
  border-radius: .313em; }
  .m-reseller-result__close {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 0;
    border-radius: 0; }
  .m-reseller-result__content {
    padding: 0.556rem 0.556rem;
    background-color: #fff; }
  .m-reseller-result__header {
    display: flex;
    align-items: center;
    margin-bottom: 0.556rem; }
  .m-reseller-result__image {
    flex: 0 0 auto;
    color: #ffc600;
    margin-right: 0.556rem; }
  .m-reseller-result__name {
    margin-top: 0;
    font-weight: 600; }
  .m-reseller-result__details, .m-reseller-result__contact {
    margin-top: 1.112rem; }
  .m-reseller-result__link {
    color: inherit; }
    .m-reseller-result__link--hide {
      display: none; }
  .m-reseller-result__desc > p {
    display: block;
    /* Fallback for non-webkit */
    display: -webkit-box;
    max-width: 100%;
    max-height: 6em;
    /* Fallback for non-webkit */
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; }
  .m-reseller-result__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; }
    .m-reseller-result__actions > .a-btn, .m-reseller-result__actions > .m-btn-ext, .m-reseller-result__actions > .o-header__action--link {
      flex: 1 1 50%; }

/* ==========================================================================
   Molecule - Reseller search form
   ========================================================================== */
.m-reseller-search {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  flex: 1; }
  .m-reseller-search:not(:first-child) {
    margin-top: 1.112rem; }
  .m-reseller-search__content:not(:last-child) {
    margin-bottom: 1.112rem; }
  .m-reseller-search__icon {
    margin: 0 auto 0.556rem; }
  .m-reseller-search__title:not(:first-child) {
    margin-top: initial; }
  .m-reseller-search__item {
    flex: 1 0 auto;
    max-width: 100%; }
    .m-reseller-search__item--separator {
      margin-bottom: 0.556rem;
      padding-bottom: 1.112rem;
      border-bottom: 1px solid #d8d8d8; }
    .m-reseller-search__item + [class*="__item"] {
      margin-top: 0.556rem; }

/* ==========================================================================
   Molecule - Secondary navigation
   ========================================================================== */
.m-secondary-menu {
  line-height: 1; }
  .m-secondary-menu__item {
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .m-secondary-menu__item {
        font-size: 0.778rem; } }
    .m-secondary-menu__item:not(:last-child) {
      margin-bottom: 0.556rem; }
    @media screen and (min-width: 576px) {
      .m-secondary-menu__item {
        display: inline-block; }
        .m-secondary-menu__item:not(:last-child) {
          margin-bottom: 0;
          margin-right: 1.112rem; } }
  .m-secondary-menu__link {
    text-decoration: none;
    color: #fff; }
    .m-secondary-menu__link:hover, .m-secondary-menu__link:focus {
      color: #fff;
      text-decoration: underline; }

.m-share {
  display: flex;
  flex-wrap: wrap;
  padding: 0.556rem 0;
  align-items: center; }
  .m-share a {
    padding: 0 0.556rem;
    line-height: 0; }

/* ==========================================================================
   Molecule - Sign up
   ========================================================================== */
.m-signup {
  display: none; }
  .m-signup.js-is-visible {
    display: block; }
  .m-signup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; }
    .m-signup__header-title {
      margin-bottom: 0; }
    .m-signup__header-btn {
      padding-right: 0.556rem;
      padding-left: 0.556rem; }
      .m-signup__header-btn > .a-icon {
        vertical-align: top;
        margin-top: -1px;
        margin-right: 5px; }
  .m-signup__content {
    margin-top: 1.112rem; }
  .m-signup__summary {
    padding: 1.112rem;
    box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15);
    background-color: #fff; }
  .m-signup__summary-item:not(:first-child) {
    margin-top: 5px; }
  .m-signup__summary-label {
    font-weight: 600; }
  .m-signup__actions {
    display: flex;
    justify-content: space-between; }
    .m-signup__actions > .a-btn, .m-signup__actions > .m-btn-ext, .m-signup__actions > .o-header__action--link {
      flex: 1 1 50%; }

/* ==========================================================================
   Molecule - Social media list
   ========================================================================== */
.m-social-media-list__item {
  display: inline-block;
  vertical-align: middle; }
  .m-social-media-list__item:not(:first-child) {
    margin-left: 1.112rem; }

.m-social-media-list__link {
  display: block;
  color: #5c5c5c;
  line-height: 1;
  font-size: 0.75rem;
  transition: color ease-in-out 0.25s; }
  @media screen and (min-width: 769px) {
    .m-social-media-list__link {
      font-size: 0.667rem; } }
  @media screen and (min-width: 576px) {
    .m-social-media-list__link {
      font-size: inherit; } }
  .m-social-media-list__link:hover, .m-social-media-list__link:focus {
    color: #000; }

/* ==========================================================================
   Atoms - Video
   ========================================================================== */
.m-video {
  position: relative;
  z-index: 0; }
  .m-video__iframe {
    position: absolute;
    height: 0;
    width: 100%;
    top: 0;
    opacity: 0;
    transition: opacity .5s ease, height .1s .5s ease; }
    .m-video__iframe--no-placeholder {
      height: 100%;
      opacity: 1; }
    .m-video__iframe--active {
      height: 100%;
      opacity: 1;
      z-index: 3;
      transition: height .1s ease, opacity .5s .1s ease; }
    .m-video__iframe iframe {
      width: 100%;
      height: 100%; }
  .m-video__poster {
    cursor: pointer; }
    .m-video__poster:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 66.66667%; }
    .m-video__poster:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.3);
      transition: background 0.25s ease-in-out; }
    .m-video__poster:hover:after, .m-video__poster:focus:after {
      background: transparent; }
    .m-video__poster-icon {
      position: absolute;
      left: 50%;
      top: 50%;
      height: 45px;
      width: 45px;
      fill: #fff;
      transform: translate(-50%, -50%);
      z-index: 2; }
      @media screen and (min-width: 768px) {
        .m-video__poster-icon {
          height: 80px;
          width: 80px; } }
    .m-video__poster--none {
      background: rgba(44, 213, 196, 0.8);
      z-index: 1; }

/* ==========================================================================
   Organisms
   ========================================================================== */
/* ==========================================================================
   Organism - Breadcrumbs
   ========================================================================== */
.o-breadcrumb {
  padding: 1.112rem;
  background: #f7f7f7; }
  .o-breadcrumb__list {
    line-height: 1;
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .o-breadcrumb__list {
        font-size: 0.778rem; } }
  .o-breadcrumb__item {
    position: relative;
    display: inline-block;
    vertical-align: middle; }
    .o-breadcrumb__item:not(:first-child) {
      padding-left: 1.112rem; }
      .o-breadcrumb__item:not(:first-child):before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        width: 14px;
        height: 14px;
        background-image: url(/static/icons/icon-right.svg);
        background-repeat: no-repeat;
        background-size: contain;
        transform: translateY(-50%); }
    .o-breadcrumb__item:last-child {
      font-weight: 600; }
  .o-breadcrumb__link {
    color: inherit;
    text-decoration: none; }
    .o-breadcrumb__link:hover, .o-breadcrumb__link:focus {
      color: inherit;
      text-decoration: underline; }

/* ==========================================================================
   Organism - Cookie bar
   ========================================================================== */
.o-cookie-bar {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  padding: 0.556rem 1.112rem;
  background: #5c5c5c;
  font-size: 0.875rem; }
  @media screen and (min-width: 769px) {
    .o-cookie-bar {
      font-size: 0.778rem; } }
  @media screen and (min-width: 576px) {
    .o-cookie-bar {
      display: flex;
      align-items: center; } }
  .o-cookie-bar__message {
    margin-right: 0.556rem;
    color: #fff; }
    @media screen and (min-width: 576px) {
      .o-cookie-bar__message {
        flex-grow: 1; } }
  .o-cookie-bar__btn {
    margin-top: 0.556rem; }
    @media screen and (min-width: 576px) {
      .o-cookie-bar__btn {
        margin-top: 0; } }

/* ==========================================================================
   Organism - FAQ
   ========================================================================== */
.o-faq {
  border-bottom: 1px solid #ebebeb; }
  .o-faq:first-child {
    border-top: 1px solid #ebebeb; }
  .o-faq__header {
    position: relative;
    padding: 2.223rem 4.444rem 2.223rem 1.112rem;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .o-faq__header {
        padding: 2.223rem 4.444rem 2.223rem 2.223rem; } }
    .o-faq__header-icon {
      position: absolute;
      top: 2.223rem;
      right: 2.223rem;
      width: 22px;
      height: 22px; }
      .js-is-active .o-faq__header-icon:before {
        transform: rotate(180deg); }
      .o-faq__header-icon:before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        width: 100%;
        height: 4px;
        background: #5c5c5c;
        transform: rotate(90deg);
        transition: transform .2s ease; }
      .o-faq__header-icon:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        width: 100%;
        height: 4px;
        background: #5c5c5c; }
  .o-faq__title {
    margin-bottom: 0;
    line-height: 1.5; }
  .o-faq__content {
    display: none; }
    .o-faq__content.js-is-visible,
    .no-classlist .o-faq__content {
      display: block;
      padding: 0 1.112rem 2.223rem; }
      @media screen and (min-width: 768px) {
        .o-faq__content.js-is-visible,
        .no-classlist .o-faq__content {
          padding: 0 2.223rem 2.223rem; } }

/* ==========================================================================
   Organism - Form
   ========================================================================== */
.o-form__group {
  margin-bottom: 0.556rem;
  /*
		 * All form items inside a form group should be displayed as max-width 49%,
		 * Placed here because of specificity.
		*/ }
  .o-form__group:not(:first-child) {
    margin-top: 0.556rem; }
    @media screen and (min-width: 576px) {
      .o-form__group:not(:first-child) {
        margin-top: 1.112rem; } }
  @media screen and (min-width: 576px) {
    .o-form__group {
      display: flex;
      justify-content: space-between;
      margin-bottom: 1.112rem; } }
  @media screen and (min-width: 576px) {
    .o-form__group [class*="form-item"] {
      flex: 1 0 auto;
      max-width: 49%;
      margin-top: 0; } }
  @media screen and (min-width: 576px) {
    .o-form__group [class*="form-item--1-4"] {
      max-width: 24%; } }
  @media screen and (min-width: 576px) {
    .o-form__group [class*="form-item--3-4"] {
      max-width: 74%; } }

.o-form__validation {
  margin: 1.112rem 0.556rem 0;
  padding-top: 1.112rem;
  text-align: center; }

/* ==========================================================================
   Organisms - footer
   ========================================================================== */
.u-bg-lighter + .o-footer {
  border-top: 1px solid #d8d8d8; }

.o-footer {
  padding-top: 1.112rem; }
  .o-footer__header {
    padding: 1.112rem;
    text-align: center; }
  @media screen and (min-width: 768px) {
    .o-footer__row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; } }
  .o-footer__col {
    padding: 0.556rem; }
    @media screen and (max-width: 768px) {
      .o-footer__col {
        text-align: center; } }
    @media screen and (min-width: 768px) {
      .o-footer__col {
        display: flex;
        flex-direction: column;
        flex: 1 0 50%;
        max-width: 50%;
        padding: 1.112rem 2.223rem; }
        .o-footer__col:nth-child(2n) {
          border-left: 1px solid #d8d8d8; }
        .o-footer__col:nth-child(2n+1) [class*="__content"] {
          margin-left: auto; }
        .o-footer__col:only-child {
          text-align: center; }
          .o-footer__col:only-child [class*="__content"] {
            margin-right: auto; } }
  .o-footer__content {
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .o-footer__content {
        font-size: 0.778rem; } }
    @media screen and (min-width: 768px) {
      .o-footer__content {
        max-width: 450px; } }
    .o-footer__content p > a {
      color: inherit;
      text-decoration: underline; }
    .o-footer__content:not(:first-child) {
      margin-top: 1.112rem; }
      @media screen and (min-width: 768px) {
        .o-footer__content:not(:first-child) {
          margin-top: 2.223rem; } }
  .o-footer__title {
    margin-bottom: 0.556rem;
    font-size: 1.143em;
    font-weight: 600; }
  .o-footer__meta-data {
    margin-top: 0.278rem;
    font-size: 0.75rem; }
    @media screen and (min-width: 769px) {
      .o-footer__meta-data {
        font-size: 0.667rem; } }
  .o-footer__footer {
    margin-top: 1.112rem;
    padding: 1.112rem;
    text-align: center; }

/* ==========================================================================
   Organisms - Grid
   ========================================================================== */
.o-grid__title {
  padding-bottom: 1.112rem;
  text-align: center; }

.o-grid__wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.556rem;
  /* Two columns */
  /* Four columns */
  /* No gap */ }
  @media screen and (min-width: 768px) {
    .o-grid__wrapper {
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 1.112rem; } }
  @media screen and (min-width: 992px) {
    .o-grid__wrapper {
      grid-gap: 2.223rem; } }
  @media screen and (min-width: 768px) {
    .o-grid--2-col .o-grid__wrapper {
      grid-template-columns: repeat(2, 1fr);
      grid-gap: 1.112rem; } }
  @media screen and (min-width: 992px) {
    .o-grid--2-col .o-grid__wrapper {
      grid-gap: 2.223rem; } }
  @media screen and (min-width: 992px) {
    .o-grid--4-col .o-grid__wrapper {
      grid-template-columns: repeat(4, 1fr);
      grid-gap: 2.223rem; } }
  .o-grid--no-gap .o-grid__wrapper {
    grid-gap: 0; }
    @media screen and (min-width: 768px) {
      .o-grid--no-gap .o-grid__wrapper {
        grid-template-columns: repeat(auto-fit, minmax(33%, 1fr)); } }

.o-grid__block {
  min-width: 0; }
  .o-grid__block > a,
  .o-grid__block > div {
    height: 100%;
    /* Make sure child elements are using the whole height of the grid block */ }

.no-cssgrid.cssgridlegacy .o-grid__wrapper {
  display: block; }

.no-cssgrid.cssgridlegacy .o-grid__block {
  margin-bottom: 0.556rem; }
  @media screen and (min-width: 480px) {
    .no-cssgrid.cssgridlegacy .o-grid__block {
      float: left;
      width: 31%;
      margin: 1%; }
      .no-cssgrid.cssgridlegacy .o-grid__block:nth-child(3n+1) {
        clear: left; } }

@media screen and (min-width: 480px) {
  .no-cssgrid.cssgridlegacy .o-grid--4-col .o-grid__block {
    width: 23%;
    margin: 1%; }
    .no-cssgrid.cssgridlegacy .o-grid--4-col .o-grid__block:nth-child(3n+1) {
      clear: none; }
    .no-cssgrid.cssgridlegacy .o-grid--4-col .o-grid__block:nth-child(4n+1) {
      clear: left; } }

@media screen and (min-width: 480px) {
  .no-cssgrid.cssgridlegacy .o-grid--2-col .o-grid__block {
    width: 48%;
    margin: 1%; }
    .no-cssgrid.cssgridlegacy .o-grid--2-col .o-grid__block:nth-child(3n+1) {
      clear: none; }
    .no-cssgrid.cssgridlegacy .o-grid--2-col .o-grid__block:nth-child(2n+1) {
      clear: left; } }

/* ==========================================================================
   Organisms - header
   ========================================================================== */
.o-header {
  /* Actions */
  /* Wrapper */
  /* Logo */ }
  .o-header .u-container {
    position: relative; }
    @media screen and (max-width: 991px) {
      .o-header .u-container {
        margin-right: 0;
        margin-left: 0; } }
  .o-header__actions-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 900;
    background: #ffc600;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
    @media screen and (min-width: 992px) {
      .o-header__actions-wrapper {
        position: static; } }
    .o-header__actions-wrapper .u-container {
      display: flex; }
  .o-header__actions {
    display: flex;
    justify-content: flex-end;
    flex: 1 1 auto; }
  .o-header__action-item {
    display: flex;
    align-items: center;
    border-left: 1px solid rgba(0, 0, 0, 0.3);
    text-align: center; }
    @media screen and (min-width: 992px) {
      .o-header__action-item {
        border-right: 1px solid rgba(0, 0, 0, 0.3); }
        .o-header__action-item:not(:first-child) {
          border-left: none; } }
    @media screen and (max-width: 991px) {
      .o-header__action-item--hidden-md {
        display: none; } }
    @media screen and (min-width: 992px) {
      .o-header__action-item--visible-md {
        display: none; } }
    .o-header__action-item--has-child {
      position: relative; }
  .o-header__action-sub-item {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2;
    margin-top: 1px;
    text-align: left;
    white-space: nowrap; }
    .no-classlist .o-header__action-sub-item {
      display: block;
      position: static; }
  .o-header__action {
    display: block;
    position: relative;
    min-width: 4.444rem;
    height: 100%;
    padding: 0.556rem;
    text-align: center;
    line-height: inherit;
    color: #000;
    border-radius: 0;
    font-size: 0.875rem; }
    @media screen and (min-width: 769px) {
      .o-header__action {
        font-size: 0.667rem; } }
    @media screen and (min-width: 992px) {
      .o-header__action {
        padding: 1.112rem 1.112rem 1.112rem 2.5rem; } }
    .o-header__action.js-is-active, .o-header__action:hover, .o-header__action:focus {
      color: #000;
      background-color: #f1bb00; }
    .o-header__action > .a-icon {
      display: block;
      margin: 0 auto 0.556rem; }
      @media screen and (min-width: 992px) {
        .o-header__action > .a-icon {
          position: absolute;
          top: 50%;
          left: 20px;
          margin-top: -1px;
          transform: translateY(-50%); } }
  .o-header__navigation {
    overflow-y: auto;
    position: fixed;
    top: 65px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    background-color: #fff; }
    @media screen and (max-width: 991px) {
      .o-header__navigation:not(.js-is-visible) {
        display: none; } }
    @media screen and (min-width: 992px) {
      .o-header__navigation {
        overflow-y: visible;
        position: static;
        order: 2;
        background: transparent;
        z-index: auto; } }
  .o-header__search {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 2;
    max-width: 100%;
    margin-top: 1px;
    padding: 1.112rem;
    background-color: #f7f7f7;
    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.3); }
    @media screen and (min-width: 576px) {
      .o-header__search {
        left: auto;
        width: 320px; } }
    .o-header__search:not(.js-is-visible) {
      display: none; }
    .no-classlist .o-header__search {
      display: block;
      position: static; }
  .o-header__wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 0.556rem;
    padding: 65px 1.112rem 0; }
    @media screen and (min-width: 992px) {
      .o-header__wrapper {
        padding-top: 0; } }
  .o-header__logo {
    align-self: center;
    display: inline-block;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 0.556rem; }
    .o-header__logo--small {
      padding: 0.278rem 0.556rem; }
      @media screen and (min-width: 576px) {
        .o-header__logo--small {
          padding-right: 1.112rem;
          padding-left: 1.112rem; } }
    @media screen and (min-width: 992px) {
      .o-header__logo {
        margin: 0; } }
    .o-header__logo:hover, .o-header__logo:focus {
      text-decoration: none; }
  .o-header__meta {
    display: block;
    color: #000;
    font-size: .625rem; }

/* ==========================================================================
   Organism - Hero
   ========================================================================== */
.o-hero {
  display: flex;
  flex-direction: column;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .o-hero {
      flex-direction: row; } }
  .o-hero__wrapper {
    width: 100%;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 1.112rem;
    flex-wrap: wrap;
    order: 2; }
    @media screen and (min-width: 768px) {
      .o-hero__wrapper {
        max-width: 33%;
        padding: 2.223rem;
        order: 1; } }
  .o-hero__content h2,
  .o-hero__content p {
    display: block;
    width: 100%; }
  .o-hero__image {
    position: relative;
    flex-grow: 1; }
    .o-hero__image:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 56.25%; }
    @media screen and (min-width: 768px) {
      .o-hero__image {
        order: 2; } }

.no-flexbox .o-hero {
  width: 100%;
  display: block;
  position: relative; }
  .no-flexbox .o-hero__content {
    width: 100%;
    height: auto; }
    @media screen and (min-width: 768px) {
      .no-flexbox .o-hero__content {
        width: 30%;
        height: 440px;
        display: block;
        float: left; } }
  .no-flexbox .o-hero__image {
    display: block;
    height: auto;
    min-height: 200px;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .no-flexbox .o-hero__image {
        height: 440px;
        width: 70%;
        float: left; } }

/* ==========================================================================
   Organisms - Image slider
   ========================================================================== */
.o-image-slider {
  display: block;
  width: 100%;
  padding-bottom: 40px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 0; }
  .o-image-slider .swiper-pagination {
    bottom: 0; }
  .o-image-slider .swiper-slide-prev,
  .o-image-slider .swiper-slide-next {
    opacity: .5; }
  .o-image-slider .swiper-slide {
    width: 100%;
    position: relative;
    transition: opacity .2s ease-in;
    overflow: hidden; }
    .o-image-slider .swiper-slide:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 66.66667%; }
    @media screen and (min-width: 576px) {
      .o-image-slider .swiper-slide {
        width: 60%; } }
    .o-image-slider .swiper-slide .fill {
      width: 100%;
      height: 100%;
      top: 0;
      position: absolute; }
  .o-image-slider .swiper-button-next {
    display: block;
    background: none;
    right: 20px; }
    .o-image-slider .swiper-button-next svg {
      display: block;
      background: none;
      width: 35px;
      height: 35px;
      position: absolute; }
    @media screen and (min-width: 576px) {
      .o-image-slider .swiper-button-next {
        right: 14%; }
        .o-image-slider .swiper-button-next svg {
          width: 22px;
          height: 22px; } }
    @media screen and (min-width: 768px) {
      .o-image-slider .swiper-button-next {
        right: 17%; } }
  @media screen and (max-width: 576px) {
    .o-image-slider .swiper-button-next,
    .o-image-slider .swiper-button-prev {
      margin-top: -44px; } }
  .o-image-slider .swiper-button-prev {
    display: block;
    background: none;
    left: 20px; }
    .o-image-slider .swiper-button-prev svg {
      width: 35px;
      height: 35px;
      display: block;
      background: none;
      position: absolute; }
    @media screen and (min-width: 576px) {
      .o-image-slider .swiper-button-prev {
        left: 14%; }
        .o-image-slider .swiper-button-prev svg {
          width: 22px;
          height: 22px; } }
    @media screen and (min-width: 768px) {
      .o-image-slider .swiper-button-prev {
        left: 17%; } }
  .o-image-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: none;
    border: 1px solid #2cd5c4; }
    .o-image-slider .swiper-pagination-bullet-active {
      background: #2cd5c4;
      border: 1px solid #2cd5c4; }

.no-flexbox .o-image-slider .swiper-slide {
  width: 100% !important;
  opacity: 0;
  overflow: visible; }

.no-flexbox .o-image-slider .swiper-slide-prev,
.no-flexbox .o-image-slider .swiper-slide-next {
  display: none; }

.no-flexbox .o-image-slider .swiper-slide-active {
  opacity: 1 !important;
  width: 100%;
  left: 100% !important; }

.no-flexbox .o-image-slider .swiper-button-next,
.no-flexbox .o-image-slider .swiper-button-prev {
  background: #fff;
  height: 40px;
  width: 40px;
  border-radius: 50%; }
  .no-flexbox .o-image-slider .swiper-button-next svg,
  .no-flexbox .o-image-slider .swiper-button-prev svg {
    top: 8px;
    left: 10px; }

.no-flexbox .o-image-slider .swiper-button-prev {
  left: 40px !important; }

.no-flexbox .o-image-slider .swiper-button-next {
  right: 40px !important; }

.no-flexbox .o-image-slider .swiper-pagination-bullets {
  background: #fff; }

/* ==========================================================================
   Organisms - Instagram
   ========================================================================== */
.o-instagram__title {
  padding-bottom: 2.223rem;
  text-align: center; }

.o-instagram__cta {
  color: inherit;
  text-decoration: none; }
  .o-instagram__cta .a-icon {
    margin-right: 0.556rem; }

.o-instagram__feed {
  display: grid;
  grid-gap: 0.556rem;
  grid-template-columns: 1fr 1fr; }
  @media screen and (min-width: 768px) {
    .o-instagram__feed {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }

.o-instagram__feed-item {
  position: relative; }
  .o-instagram__feed-item:after {
    content: "";
    display: block;
    padding-bottom: 100%; }
  .o-instagram__feed-item:hover .o-instagram__caption, .o-instagram__feed-item:focus .o-instagram__caption {
    animation: contentGrow .2s ease;
    opacity: 1;
    display: block;
    height: 100%;
    padding: 1.112rem; }

.o-instagram__image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.o-instagram__caption {
  overflow: hidden;
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 0;
  padding: 0 1.112rem;
  background: rgba(255, 255, 255, 0.9);
  color: #5c5c5c;
  font-size: 0.875rem; }
  @media screen and (min-width: 769px) {
    .o-instagram__caption {
      font-size: 0.667rem; } }
  @media screen and (min-width: 576px) {
    .o-instagram__caption {
      font-size: 1rem; } }
  @media screen and (min-width: 576px) and (min-width: 769px) {
    .o-instagram__caption {
      font-size: 1rem; } }

.no-cssgrid.cssgridlegacy .o-instagram__feed-item {
  display: block;
  position: relative;
  float: left;
  width: 24%;
  margin-right: .5%;
  margin-left: .5%; }
  .no-cssgrid.cssgridlegacy .o-instagram__feed-item:nth-child(4n+1) {
    clear: left; }

@keyframes contentGrow {
  0% {
    opacity: 0;
    height: 0; }
  100% {
    opacity: 1;
    height: 100%; } }

/* ==========================================================================
   Organism - Intro section
   ========================================================================== */
.o-intro {
  text-align: center; }
  .o-intro--left {
    text-align: left; }
  .o-intro__title {
    margin-bottom: 0.278rem; }
  .o-intro__cta {
    display: block;
    margin-top: 1.112rem;
    text-decoration: none; }
    .o-intro__cta-icon {
      height: 20px;
      width: 20px;
      vertical-align: middle; }

/* ==========================================================================
   Organisms - Promo
   ========================================================================== */
.o-promo {
  display: grid;
  grid-gap: 0.556rem;
  grid-template-columns: repeat(2, 1fr); }
  @media screen and (min-width: 768px) {
    .o-promo {
      min-height: 640px;
      grid-template-columns: 60% 1fr; } }
  .o-promo__item {
    position: relative;
    min-width: 50px;
    min-height: 100px;
    height: 100%;
    color: #5c5c5c;
    text-decoration: none; }
    .o-promo__item--large {
      min-height: 180px;
      grid-column: 1 / 3;
      grid-row: 1 / 3; }
      @media screen and (min-width: 768px) {
        .o-promo__item--large {
          grid-column: 1 / 2; } }
    @media screen and (max-width: 768px) {
      .o-promo__item {
        box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15); } }
  @media screen and (max-width: 768px) {
    .o-promo__bg, .o-promo__image {
      position: static !important; } }
  .o-promo__action {
    display: block; }
    @media screen and (max-width: 768px) {
      .o-promo__action {
        border-radius: 0; } }
    @media screen and (min-width: 768px) {
      .o-promo__action {
        position: absolute;
        right: 20px;
        bottom: 20px; } }
  .o-promo__icon {
    /* Faux alignment */
    position: relative;
    top: -1px; }

/* Fallback for CSS GRID */
.no-cssgrid.cssgridlegacy .o-promo {
  overflow: hidden;
  min-height: initial; }
  .no-cssgrid.cssgridlegacy .o-promo__item {
    width: 48%;
    width: calc(50% - 10px);
    color: #5c5c5c;
    position: relative;
    float: left;
    margin: 5px; }
    @media screen and (min-width: 768px) {
      .no-cssgrid.cssgridlegacy .o-promo__item {
        height: 250px;
        width: 38%;
        width: calc(40% - 10px); } }
    .no-cssgrid.cssgridlegacy .o-promo__item--large {
      width: 100%;
      width: calc(100% - 10px); }
      @media screen and (min-width: 768px) {
        .no-cssgrid.cssgridlegacy .o-promo__item--large {
          height: 510px;
          width: 60%;
          width: calc(60% - 10px); } }

/* ==========================================================================
   Organism - Promo block
   ========================================================================== */
.o-promo-block {
  display: flex; }
  .o-promo-block__image {
    display: none; }
    @media screen and (min-width: 576px) {
      .o-promo-block__image {
        display: block;
        flex: 1 1 50%; } }
  .o-promo-block__content {
    flex: 1 1 100%;
    padding: 1.112rem;
    text-align: center; }
    @media screen and (min-width: 576px) {
      .o-promo-block__content {
        flex: 1 1 50%; } }
    @media screen and (min-width: 992px) {
      .o-promo-block__content {
        padding: 4.444rem; } }

/* ==========================================================================
   Organism - Reseller
   ========================================================================== */
@media screen and (min-width: 992px) {
  .o-reseller {
    display: flex; } }

.o-reseller__search {
  padding: 2.223rem; }
  @media screen and (min-width: 992px) {
    .o-reseller__search {
      display: flex;
      align-items: center;
      flex: 1 0 33.33%;
      margin-right: 0.556rem;
      padding-right: 4.444rem;
      padding-left: 4.444rem; } }

.o-reseller__result {
  position: relative;
  /* Selected person */
  /* Reseller search results */ }
  @media screen and (min-width: 992px) {
    .o-reseller__result {
      flex: 1 0 66.66%; } }
  @media screen and (min-width: 768px) {
    .o-reseller__result {
      font-size: 0.875rem; } }
  @media screen and (min-width: 768px) and (min-width: 769px) {
    .o-reseller__result {
      font-size: 0.778rem; } }
  @media screen and (min-width: 992px) {
    .o-reseller__result-wrapper {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: absolute;
      top: 0;
      bottom: 20px;
      z-index: 1;
      width: 350px; } }
  .o-reseller__result-wrapper--hide {
    display: none; }
  .o-reseller__result-selected {
    margin: 0.556rem; }
    .o-reseller__result-selected:not(.js-is-visible) > * {
      display: none; }
    .o-reseller__result-selected [class*="__person"]:not(.js-is-visible),
    .o-reseller__result-selected [class*="__form"]:not(.js-is-visible) {
      display: none; }
  .o-reseller__result-summary {
    position: relative;
    padding: 0.556rem;
    border-bottom: 1px solid #d8d8d8; }
  .o-reseller__result-btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    padding: 0;
    border-radius: 0; }
    .o-reseller__result-btn, .o-reseller__result-btn:hover, .o-reseller__result-btn:focus {
      color: #5c5c5c; }
    .o-reseller__result-btn:not(.js-is-active) > .a-icon {
      transform: rotate(180deg); }
  .o-reseller__result-keyword {
    font-weight: 600; }
  .o-reseller__result--no-result .o-reseller__result-summary-text {
    display: none; }
  .o-reseller__result--no-result .o-reseller__result-no-result-text {
    display: block; }
  .o-reseller__result-no-result-text {
    display: none;
    margin-top: 0; }
  .o-reseller__result-address {
    margin-top: 5px;
    margin-left: 35px; }
  .o-reseller__result-list {
    min-height: 40px;
    margin: 0.556rem;
    background-color: #fff;
    box-shadow: 0 2px 5px 0 rgba(44, 42, 41, 0.15); }
    @media screen and (min-width: 992px) {
      .o-reseller__result-list {
        overflow: hidden;
        max-height: 100%; } }
  .o-reseller__result-resellers {
    overflow-y: auto;
    max-height: 450px; }
    .o-reseller__result-resellers.js-is-visible {
      box-shadow: inset 0 -6px 10px -5px rgba(0, 0, 0, 0.15); }
    .o-reseller__result-resellers:not(.js-is-visible) {
      display: none; }
  .o-reseller__result-item {
    padding: 1.112rem 0.556rem; }
    .o-reseller__result-item:not(:first-child) {
      border-top: 1px solid #d8d8d8; }

/* ==========================================================================
   Utilities
   ========================================================================== */
/* ==========================================================================
   Utilities - Background colors
   ========================================================================== */
.u-bg {
  /* Theme colors */
  /* Neutral colors */ }
  .u-bg-yellow {
    background: #ffc600; }
    .u-bg-yellow--light {
      background: #fbd245; }
    .u-bg-yellow--transparent {
      background: rgba(255, 198, 0, 0.8); }
  .u-bg-teal {
    background: #2cd5c4; }
    .u-bg-teal--light {
      background: #5ae6d8; }
    .u-bg-teal--transparent {
      background: rgba(44, 213, 196, 0.8); }
  .u-bg-green {
    background: #74aa50; }
    .u-bg-green--light {
      background: #8fc16e; }
    .u-bg-green--transparent {
      background: rgba(116, 170, 80, 0.8); }
  .u-bg-brown {
    color: #fff;
    background: #3b271f; }
    .u-bg-brown--light {
      background: #6d483a; }
    .u-bg-brown--transparent {
      background: rgba(92, 61, 49, 0.8); }
  .u-bg-navy {
    color: #fff;
    background: #0047bb; }
    .u-bg-navy--light {
      background: #0051d5; }
    .u-bg-navy--transparent {
      background: rgba(0, 71, 187, 0.8); }
  .u-bg-white {
    background: #fff; }
  .u-bg-white-transparent {
    background-color: rgba(255, 255, 255, 0.9); }
  .u-bg-lighter {
    background: #f7f7f7; }
  .u-bg-light {
    background-color: #ebebeb; }
  .u-bg-dark {
    background-color: #d8d8d8; }
  .u-bg-darker {
    color: #fff;
    background-color: #5c5c5c; }
    .u-bg-darker--transparent {
      background: rgba(92, 92, 92, 0.8); }
  .u-bg-darkest {
    color: #fff;
    background-color: #2c2a29; }
  .u-bg-black {
    color: #fff;
    background-color: #000; }

.a-btn, .m-btn-ext, .o-header__action--link,
a,
button,
input[type="button"],
input[type="submit"] {
  /* Theme colors */
  /* Neutral */ }
  .a-btn[class*="u-bg"], .m-btn-ext[class*="u-bg"], .o-header__action--link[class*="u-bg"],
  a[class*="u-bg"],
  button[class*="u-bg"],
  input[type="button"][class*="u-bg"],
  input[type="submit"][class*="u-bg"] {
    transition: background 0.25s ease-in-out, color 0.25s ease-in-out; }
    .a-btn[class*="u-bg"]:hover, .m-btn-ext[class*="u-bg"]:hover, .o-header__action--link[class*="u-bg"]:hover, .a-btn[class*="u-bg"]:focus, .m-btn-ext[class*="u-bg"]:focus, .o-header__action--link[class*="u-bg"]:focus,
    a[class*="u-bg"]:hover,
    a[class*="u-bg"]:focus,
    button[class*="u-bg"]:hover,
    button[class*="u-bg"]:focus,
    input[type="button"][class*="u-bg"]:hover,
    input[type="button"][class*="u-bg"]:focus,
    input[type="submit"][class*="u-bg"]:hover,
    input[type="submit"][class*="u-bg"]:focus {
      color: #000; }
  .a-btn.u-bg-yellow:hover, .u-bg-yellow.m-btn-ext:hover, .u-bg-yellow.o-header__action--link:hover, .a-btn.u-bg-yellow:focus, .u-bg-yellow.m-btn-ext:focus, .u-bg-yellow.o-header__action--link:focus, .a-btn.u-bg-yellow--light:hover, .u-bg-yellow--light.m-btn-ext:hover, .u-bg-yellow--light.o-header__action--link:hover, .a-btn.u-bg-yellow--light:focus, .u-bg-yellow--light.m-btn-ext:focus, .u-bg-yellow--light.o-header__action--link:focus, .a-btn.u-bg-yellow--transparent:hover, .u-bg-yellow--transparent.m-btn-ext:hover, .u-bg-yellow--transparent.o-header__action--link:hover, .a-btn.u-bg-yellow--transparent:focus, .u-bg-yellow--transparent.m-btn-ext:focus, .u-bg-yellow--transparent.o-header__action--link:focus,
  a.u-bg-yellow:hover,
  a.u-bg-yellow:focus,
  a.u-bg-yellow--light:hover,
  a.u-bg-yellow--light:focus,
  a.u-bg-yellow--transparent:hover,
  a.u-bg-yellow--transparent:focus,
  button.u-bg-yellow:hover,
  button.u-bg-yellow:focus,
  button.u-bg-yellow--light:hover,
  button.u-bg-yellow--light:focus,
  button.u-bg-yellow--transparent:hover,
  button.u-bg-yellow--transparent:focus,
  input[type="button"].u-bg-yellow:hover,
  input[type="button"].u-bg-yellow:focus,
  input[type="button"].u-bg-yellow--light:hover,
  input[type="button"].u-bg-yellow--light:focus,
  input[type="button"].u-bg-yellow--transparent:hover,
  input[type="button"].u-bg-yellow--transparent:focus,
  input[type="submit"].u-bg-yellow:hover,
  input[type="submit"].u-bg-yellow:focus,
  input[type="submit"].u-bg-yellow--light:hover,
  input[type="submit"].u-bg-yellow--light:focus,
  input[type="submit"].u-bg-yellow--transparent:hover,
  input[type="submit"].u-bg-yellow--transparent:focus {
    background: #f1bb00; }
  .a-btn.u-bg-teal:hover, .u-bg-teal.m-btn-ext:hover, .u-bg-teal.o-header__action--link:hover, .a-btn.u-bg-teal:focus, .u-bg-teal.m-btn-ext:focus, .u-bg-teal.o-header__action--link:focus, .a-btn.u-bg-teal--light:hover, .u-bg-teal--light.m-btn-ext:hover, .u-bg-teal--light.o-header__action--link:hover, .a-btn.u-bg-teal--light:focus, .u-bg-teal--light.m-btn-ext:focus, .u-bg-teal--light.o-header__action--link:focus, .a-btn.u-bg-teal--transparent:hover, .u-bg-teal--transparent.m-btn-ext:hover, .u-bg-teal--transparent.o-header__action--link:hover, .a-btn.u-bg-teal--transparent:focus, .u-bg-teal--transparent.m-btn-ext:focus, .u-bg-teal--transparent.o-header__action--link:focus,
  a.u-bg-teal:hover,
  a.u-bg-teal:focus,
  a.u-bg-teal--light:hover,
  a.u-bg-teal--light:focus,
  a.u-bg-teal--transparent:hover,
  a.u-bg-teal--transparent:focus,
  button.u-bg-teal:hover,
  button.u-bg-teal:focus,
  button.u-bg-teal--light:hover,
  button.u-bg-teal--light:focus,
  button.u-bg-teal--transparent:hover,
  button.u-bg-teal--transparent:focus,
  input[type="button"].u-bg-teal:hover,
  input[type="button"].u-bg-teal:focus,
  input[type="button"].u-bg-teal--light:hover,
  input[type="button"].u-bg-teal--light:focus,
  input[type="button"].u-bg-teal--transparent:hover,
  input[type="button"].u-bg-teal--transparent:focus,
  input[type="submit"].u-bg-teal:hover,
  input[type="submit"].u-bg-teal:focus,
  input[type="submit"].u-bg-teal--light:hover,
  input[type="submit"].u-bg-teal--light:focus,
  input[type="submit"].u-bg-teal--transparent:hover,
  input[type="submit"].u-bg-teal--transparent:focus {
    background: #22ac9e; }
  .a-btn.u-bg-green:hover, .u-bg-green.m-btn-ext:hover, .u-bg-green.o-header__action--link:hover, .a-btn.u-bg-green:focus, .u-bg-green.m-btn-ext:focus, .u-bg-green.o-header__action--link:focus, .a-btn.u-bg-green--light:hover, .u-bg-green--light.m-btn-ext:hover, .u-bg-green--light.o-header__action--link:hover, .a-btn.u-bg-green--light:focus, .u-bg-green--light.m-btn-ext:focus, .u-bg-green--light.o-header__action--link:focus, .a-btn.u-bg-green--transparent:hover, .u-bg-green--transparent.m-btn-ext:hover, .u-bg-green--transparent.o-header__action--link:hover, .a-btn.u-bg-green--transparent:focus, .u-bg-green--transparent.m-btn-ext:focus, .u-bg-green--transparent.o-header__action--link:focus,
  a.u-bg-green:hover,
  a.u-bg-green:focus,
  a.u-bg-green--light:hover,
  a.u-bg-green--light:focus,
  a.u-bg-green--transparent:hover,
  a.u-bg-green--transparent:focus,
  button.u-bg-green:hover,
  button.u-bg-green:focus,
  button.u-bg-green--light:hover,
  button.u-bg-green--light:focus,
  button.u-bg-green--transparent:hover,
  button.u-bg-green--transparent:focus,
  input[type="button"].u-bg-green:hover,
  input[type="button"].u-bg-green:focus,
  input[type="button"].u-bg-green--light:hover,
  input[type="button"].u-bg-green--light:focus,
  input[type="button"].u-bg-green--transparent:hover,
  input[type="button"].u-bg-green--transparent:focus,
  input[type="submit"].u-bg-green:hover,
  input[type="submit"].u-bg-green:focus,
  input[type="submit"].u-bg-green--light:hover,
  input[type="submit"].u-bg-green--light:focus,
  input[type="submit"].u-bg-green--transparent:hover,
  input[type="submit"].u-bg-green--transparent:focus {
    background: #5c8740; }
  .a-btn.u-bg-brown:hover, .u-bg-brown.m-btn-ext:hover, .u-bg-brown.o-header__action--link:hover, .a-btn.u-bg-brown:focus, .u-bg-brown.m-btn-ext:focus, .u-bg-brown.o-header__action--link:focus, .a-btn.u-bg-brown--light:hover, .u-bg-brown--light.m-btn-ext:hover, .u-bg-brown--light.o-header__action--link:hover, .a-btn.u-bg-brown--light:focus, .u-bg-brown--light.m-btn-ext:focus, .u-bg-brown--light.o-header__action--link:focus, .a-btn.u-bg-brown--transparent:hover, .u-bg-brown--transparent.m-btn-ext:hover, .u-bg-brown--transparent.o-header__action--link:hover, .a-btn.u-bg-brown--transparent:focus, .u-bg-brown--transparent.m-btn-ext:focus, .u-bg-brown--transparent.o-header__action--link:focus,
  a.u-bg-brown:hover,
  a.u-bg-brown:focus,
  a.u-bg-brown--light:hover,
  a.u-bg-brown--light:focus,
  a.u-bg-brown--transparent:hover,
  a.u-bg-brown--transparent:focus,
  button.u-bg-brown:hover,
  button.u-bg-brown:focus,
  button.u-bg-brown--light:hover,
  button.u-bg-brown--light:focus,
  button.u-bg-brown--transparent:hover,
  button.u-bg-brown--transparent:focus,
  input[type="button"].u-bg-brown:hover,
  input[type="button"].u-bg-brown:focus,
  input[type="button"].u-bg-brown--light:hover,
  input[type="button"].u-bg-brown--light:focus,
  input[type="button"].u-bg-brown--transparent:hover,
  input[type="button"].u-bg-brown--transparent:focus,
  input[type="submit"].u-bg-brown:hover,
  input[type="submit"].u-bg-brown:focus,
  input[type="submit"].u-bg-brown--light:hover,
  input[type="submit"].u-bg-brown--light:focus,
  input[type="submit"].u-bg-brown--transparent:hover,
  input[type="submit"].u-bg-brown--transparent:focus {
    color: #fff;
    background: #3b271f; }
  .a-btn.u-bg-navy:hover, .u-bg-navy.m-btn-ext:hover, .u-bg-navy.o-header__action--link:hover, .a-btn.u-bg-navy:focus, .u-bg-navy.m-btn-ext:focus, .u-bg-navy.o-header__action--link:focus, .a-btn.u-bg-navy--light:hover, .u-bg-navy--light.m-btn-ext:hover, .u-bg-navy--light.o-header__action--link:hover, .a-btn.u-bg-navy--light:focus, .u-bg-navy--light.m-btn-ext:focus, .u-bg-navy--light.o-header__action--link:focus, .a-btn.u-bg-navy--transparent:hover, .u-bg-navy--transparent.m-btn-ext:hover, .u-bg-navy--transparent.o-header__action--link:hover, .a-btn.u-bg-navy--transparent:focus, .u-bg-navy--transparent.m-btn-ext:focus, .u-bg-navy--transparent.o-header__action--link:focus,
  a.u-bg-navy:hover,
  a.u-bg-navy:focus,
  a.u-bg-navy--light:hover,
  a.u-bg-navy--light:focus,
  a.u-bg-navy--transparent:hover,
  a.u-bg-navy--transparent:focus,
  button.u-bg-navy:hover,
  button.u-bg-navy:focus,
  button.u-bg-navy--light:hover,
  button.u-bg-navy--light:focus,
  button.u-bg-navy--transparent:hover,
  button.u-bg-navy--transparent:focus,
  input[type="button"].u-bg-navy:hover,
  input[type="button"].u-bg-navy:focus,
  input[type="button"].u-bg-navy--light:hover,
  input[type="button"].u-bg-navy--light:focus,
  input[type="button"].u-bg-navy--transparent:hover,
  input[type="button"].u-bg-navy--transparent:focus,
  input[type="submit"].u-bg-navy:hover,
  input[type="submit"].u-bg-navy:focus,
  input[type="submit"].u-bg-navy--light:hover,
  input[type="submit"].u-bg-navy--light:focus,
  input[type="submit"].u-bg-navy--transparent:hover,
  input[type="submit"].u-bg-navy--transparent:focus {
    color: #fff;
    background: #003488; }
  .a-btn.u-bg-white:hover, .u-bg-white.m-btn-ext:hover, .u-bg-white.o-header__action--link:hover, .a-btn.u-bg-white:focus, .u-bg-white.m-btn-ext:focus, .u-bg-white.o-header__action--link:focus,
  a.u-bg-white:hover,
  a.u-bg-white:focus,
  button.u-bg-white:hover,
  button.u-bg-white:focus,
  input[type="button"].u-bg-white:hover,
  input[type="button"].u-bg-white:focus,
  input[type="submit"].u-bg-white:hover,
  input[type="submit"].u-bg-white:focus {
    background: #f7f7f7; }
  .a-btn.u-bg-white-transparent:hover, .u-bg-white-transparent.m-btn-ext:hover, .u-bg-white-transparent.o-header__action--link:hover, .a-btn.u-bg-white-transparent:focus, .u-bg-white-transparent.m-btn-ext:focus, .u-bg-white-transparent.o-header__action--link:focus,
  a.u-bg-white-transparent:hover,
  a.u-bg-white-transparent:focus,
  button.u-bg-white-transparent:hover,
  button.u-bg-white-transparent:focus,
  input[type="button"].u-bg-white-transparent:hover,
  input[type="button"].u-bg-white-transparent:focus,
  input[type="submit"].u-bg-white-transparent:hover,
  input[type="submit"].u-bg-white-transparent:focus {
    background: #fff; }
  .a-btn.u-bg-lighter:hover, .u-bg-lighter.m-btn-ext:hover, .u-bg-lighter.o-header__action--link:hover, .a-btn.u-bg-lighter:focus, .u-bg-lighter.m-btn-ext:focus, .u-bg-lighter.o-header__action--link:focus,
  a.u-bg-lighter:hover,
  a.u-bg-lighter:focus,
  button.u-bg-lighter:hover,
  button.u-bg-lighter:focus,
  input[type="button"].u-bg-lighter:hover,
  input[type="button"].u-bg-lighter:focus,
  input[type="submit"].u-bg-lighter:hover,
  input[type="submit"].u-bg-lighter:focus {
    background: #fff; }
  .a-btn.u-bg-light:hover, .u-bg-light.m-btn-ext:hover, .u-bg-light.o-header__action--link:hover, .a-btn.u-bg-light:focus, .u-bg-light.m-btn-ext:focus, .u-bg-light.o-header__action--link:focus,
  a.u-bg-light:hover,
  a.u-bg-light:focus,
  button.u-bg-light:hover,
  button.u-bg-light:focus,
  input[type="button"].u-bg-light:hover,
  input[type="button"].u-bg-light:focus,
  input[type="submit"].u-bg-light:hover,
  input[type="submit"].u-bg-light:focus {
    background: #f7f7f7; }
  .a-btn.u-bg-dark:hover, .u-bg-dark.m-btn-ext:hover, .u-bg-dark.o-header__action--link:hover, .a-btn.u-bg-dark:focus, .u-bg-dark.m-btn-ext:focus, .u-bg-dark.o-header__action--link:focus,
  a.u-bg-dark:hover,
  a.u-bg-dark:focus,
  button.u-bg-dark:hover,
  button.u-bg-dark:focus,
  input[type="button"].u-bg-dark:hover,
  input[type="button"].u-bg-dark:focus,
  input[type="submit"].u-bg-dark:hover,
  input[type="submit"].u-bg-dark:focus {
    background: #f7f7f7; }
  .a-btn.u-bg-darker:hover, .u-bg-darker.m-btn-ext:hover, .u-bg-darker.o-header__action--link:hover, .a-btn.u-bg-darker:focus, .u-bg-darker.m-btn-ext:focus, .u-bg-darker.o-header__action--link:focus, .a-btn.u-bg-darker--transparent:hover, .u-bg-darker--transparent.m-btn-ext:hover, .u-bg-darker--transparent.o-header__action--link:hover, .a-btn.u-bg-darker--transparent:focus, .u-bg-darker--transparent.m-btn-ext:focus, .u-bg-darker--transparent.o-header__action--link:focus,
  a.u-bg-darker:hover,
  a.u-bg-darker:focus,
  a.u-bg-darker--transparent:hover,
  a.u-bg-darker--transparent:focus,
  button.u-bg-darker:hover,
  button.u-bg-darker:focus,
  button.u-bg-darker--transparent:hover,
  button.u-bg-darker--transparent:focus,
  input[type="button"].u-bg-darker:hover,
  input[type="button"].u-bg-darker:focus,
  input[type="button"].u-bg-darker--transparent:hover,
  input[type="button"].u-bg-darker--transparent:focus,
  input[type="submit"].u-bg-darker:hover,
  input[type="submit"].u-bg-darker:focus,
  input[type="submit"].u-bg-darker--transparent:hover,
  input[type="submit"].u-bg-darker--transparent:focus {
    color: #fff;
    background: #2c2a29; }
  .a-btn.u-bg-darkest:hover, .u-bg-darkest.m-btn-ext:hover, .u-bg-darkest.o-header__action--link:hover, .a-btn.u-bg-darkest:focus, .u-bg-darkest.m-btn-ext:focus, .u-bg-darkest.o-header__action--link:focus,
  a.u-bg-darkest:hover,
  a.u-bg-darkest:focus,
  button.u-bg-darkest:hover,
  button.u-bg-darkest:focus,
  input[type="button"].u-bg-darkest:hover,
  input[type="button"].u-bg-darkest:focus,
  input[type="submit"].u-bg-darkest:hover,
  input[type="submit"].u-bg-darkest:focus {
    color: #fff;
    background: #000; }
  .a-btn.u-bg-black:hover, .u-bg-black.m-btn-ext:hover, .u-bg-black.o-header__action--link:hover, .a-btn.u-bg-black:focus, .u-bg-black.m-btn-ext:focus, .u-bg-black.o-header__action--link:focus,
  a.u-bg-black:hover,
  a.u-bg-black:focus,
  button.u-bg-black:hover,
  button.u-bg-black:focus,
  input[type="button"].u-bg-black:hover,
  input[type="button"].u-bg-black:focus,
  input[type="submit"].u-bg-black:hover,
  input[type="submit"].u-bg-black:focus {
    color: #fff;
    background: #2c2a29; }

/* ==========================================================================
   Utilities - Center text in element
   ========================================================================== */
.u-center-text {
  text-align: center; }

/* ==========================================================================
   Utilities - Clearfix
   ========================================================================== */
.u-clearfix:after, .no-cssgrid.cssgridlegacy .o-grid:after, .no-flexbox .o-hero:after, .no-cssgrid.cssgridlegacy .o-instagram__feed:after {
  display: table;
  clear: both;
  content: ""; }

/* ==========================================================================
   Utilities - Container
   ========================================================================== */
.u-container {
  max-width: 1200px;
  margin-right: 1.112rem;
  margin-left: 1.112rem;
  /* Extra wide max width, always centered */
  /* Narrow max width */ }
  @media screen and (min-width: 1280px) {
    .u-container {
      margin-right: auto;
      margin-left: auto; } }
  .u-container--wide {
    max-width: 1480px;
    margin-right: auto;
    margin-left: auto; }
  .u-container--narrow {
    max-width: 720px;
    margin-right: 0.556rem;
    margin-left: 0.556rem; }
    @media screen and (min-width: 768px) {
      .u-container--narrow {
        margin-right: auto;
        margin-left: auto; } }
  .u-container--xs {
    max-width: 480px; }
    @media screen and (min-width: 480px) {
      .u-container--xs {
        margin-right: auto;
        margin-left: auto; } }
  .u-container + [class*="u-container"] {
    margin-top: 1.112rem; }
    @media screen and (min-width: 768px) {
      .u-container + [class*="u-container"] {
        margin-top: 2.223rem; } }

/* ==========================================================================
   Utilities - Helper classes
   ========================================================================== */
.js-is-hidden {
  display: none; }

/* ==========================================================================
   Utilities - Unstyled list
   ========================================================================== */
.u-list-unstyled {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none; }

/* ==========================================================================
   Utilities - Object fit
   ========================================================================== */
.u-object-fit {
  position: relative; }
  .u-object-fit--contain [class*="__image"] {
    object-fit: contain; }
  .u-object-fit__image {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 0;
    height: 100%;
    width: 100%;
    object-fit: cover; }

/* Fallback for object fit */
.no-objectfit .u-object-fit__container,
.no-object-fit .u-object-fit__container {
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.no-objectfit .u-object-fit__image,
.no-object-fit .u-object-fit__image {
  position: static;
  opacity: 0;
  visibility: hidden; }

/* ==========================================================================
   Utilities - Spacing
   ========================================================================== */
.u-section-border {
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb; }

/* ==========================================================================
   Utilities - Spacing
   ========================================================================== */
.u-section-spacing {
  padding-top: 1.112rem;
  padding-bottom: 1.112rem;
  /* Add only spacing at the top of the section */
  /* Add only spacing at the bottom of the section */
  /* Add extra large spacing at the top and bottom of the section */
  /* Add extra large spacing at the bottom of the section */
  /* Remove Spacing - TODO: is this needed or can't you just omit the spacing class? */ }
  @media screen and (min-width: 768px) {
    .u-section-spacing {
      padding-top: 2.223rem;
      padding-bottom: 2.223rem; } }
  .u-section-spacing--only-top {
    padding-top: 1.112rem;
    padding-bottom: 0; }
    @media screen and (min-width: 768px) {
      .u-section-spacing--only-top {
        padding-top: 2.223rem; } }
  .u-section-spacing--only-bottom {
    padding-top: 0;
    padding-bottom: 1.112rem; }
    @media screen and (min-width: 768px) {
      .u-section-spacing--only-bottom {
        padding-bottom: 2.223rem; } }
  .u-section-spacing--large {
    padding-top: 2.223rem;
    padding-bottom: 2.223rem; }
    @media screen and (min-width: 768px) {
      .u-section-spacing--large {
        padding-top: 4.444rem;
        padding-bottom: 4.444rem; } }
  .u-section-spacing--large-bottom {
    padding-bottom: 2.223rem; }
    @media screen and (min-width: 768px) {
      .u-section-spacing--large-bottom {
        padding-bottom: 4.444rem; } }
  .u-section-spacing--none {
    padding-top: 0;
    padding-bottom: 0; }

/* ==========================================================================
   Utilities - Visually hidden
   ========================================================================== */
/** Visually Hidden
 * Make an element visually hidden, but accessible to assistive technology
 * @see http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */
.u-visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
  /** Visually Hidden Focusable
 * Extends `Visually Hidden` to allow the element to be focusable when navigated
 * to via the keyboard.
 */ }
  .u-visually-hidden:active, .u-visually-hidden:focus {
    position: static;
    overflow: visible;
    clip: auto;
    margin: 0;
    width: auto;
    height: auto; }
