.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100; }
  .lightbox__cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 101; }
  .lightbox__content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 102; }
  .lightbox__content-wrapper {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 900px;
    height: 60vh;
    position: relative; }
  .lightbox__close-btn {
    border: 0;
    align-self: flex-end;
    background: transparent; }
    .lightbox__close-btn span {
      display: none; }
  .lightbox__yt-video {
    width: 100%;
    height: 100%; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
.form-error {
  color: #ce1126; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
/*=Grid
**************************************************************
Standard unit: 1rem=16px */
.grid-wrapper {
  max-width: 1302px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  background: #fff; }

.row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between; }
  .row--start {
    justify-content: flex-start; }

.col {
  width: 100%;
  padding: 0 15px;
  margin: 0.625rem 0; }
  .col--no-gutters {
    padding: 0;
    margin: 0; }
  .col--no-padding {
    padding: 0; }

.col--sm1 {
  width: 8.33333%; }

.col--sm2 {
  width: 16.66667%; }

.col--sm3 {
  width: 25%; }

.col--sm4 {
  width: 33.33333%; }

.col--sm5 {
  width: 41.66667%; }

.col--sm6 {
  width: 50%; }

.col--sm7 {
  width: 58.33333%; }

.col--sm8 {
  width: 66.66667%; }

.col--sm9 {
  width: 75%; }

.col--sm10 {
  width: 83.33333%; }

.col--sm11 {
  width: 91.66667%; }

.col--sm12 {
  width: 100%; }

@media print, screen and (min-width: 768px) {
  .col--md1 {
    width: 8.33333%; }
  .col--md2 {
    width: 16.66667%; }
  .col--md3 {
    width: 25%; }
  .col--md4 {
    width: 33.33333%; }
  .col--md5 {
    width: 41.66667%; }
  .col--md6 {
    width: 50%; }
  .col--md7 {
    width: 58.33333%; }
  .col--md8 {
    width: 66.66667%; }
  .col--md9 {
    width: 75%; }
  .col--md10 {
    width: 83.33333%; }
  .col--md11 {
    width: 91.66667%; }
  .col--md12 {
    width: 100%; } }

@media print, screen and (min-width: 992px) {
  .col--lg1 {
    width: 8.33333%; }
  .col--lg2 {
    width: 16.66667%; }
  .col--lg3 {
    width: 25%; }
  .col--lg4 {
    width: 33.33333%; }
  .col--lg5 {
    width: 41.66667%; }
  .col--lg6 {
    width: 50%; }
  .col--lg7 {
    width: 58.33333%; }
  .col--lg8 {
    width: 66.66667%; }
  .col--lg9 {
    width: 75%; }
  .col--lg10 {
    width: 83.33333%; }
  .col--lg11 {
    width: 91.66667%; }
  .col--lg12 {
    width: 100%; } }

@media print, screen and (min-width: 1199px) {
  .col--xl1 {
    width: 8.33333%; }
  .col--xl2 {
    width: 16.66667%; }
  .col--xl3 {
    width: 25%; }
  .col--xl4 {
    width: 33.33333%; }
  .col--xl5 {
    width: 41.66667%; }
  .col--xl6 {
    width: 50%; }
  .col--xl7 {
    width: 58.33333%; }
  .col--xl8 {
    width: 66.66667%; }
  .col--xl9 {
    width: 75%; }
  .col--xl10 {
    width: 83.33333%; }
  .col--xl11 {
    width: 91.66667%; }
  .col--xl12 {
    width: 100%; } }

.button-link {
  display: inline-block;
  border-style: solid; }

.button__img {
  vertical-align: middle; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
/* =ProductPhotosModal
************************************************************** */
.modal {
  position: fixed;
  z-index: 9999;
  width: 50%;
  max-width: 800px;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0); }
  @media (max-width: 992px) {
    .modal {
      width: 80%; } }
  @media (max-width: 768px) {
    .modal {
      width: 95%; } }
  .modal__img {
    width: 100%;
    border: 0.3125rem solid #fff;
    background-color: #dfdfdf; }
  .modal__overlay {
    position: fixed;
    z-index: 9998;
    height: 100%;
    width: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0; }
  .modal__body {
    position: relative; }
    .modal__body .modal__close,
    .modal__body .modal__prev,
    .modal__body .modal__next {
      position: absolute;
      display: inline;
      color: #000;
      text-decoration: none;
      line-height: 2.25rem;
      font-size: 1.875rem;
      font-weight: lighter;
      background: #fff;
      border-radius: 0.3125rem;
      height: 2.5rem;
      width: 2.5rem;
      text-align: center;
      cursor: pointer;
      outline: none; }
    .modal__body .modal__close {
      right: 0;
      top: 0;
      border-radius: 0 0 0 0.3125rem; }
      .modal__body .modal__close:after {
        font-family: "Font Awesome 5 Free";
        font-size: 1rem;
        line-height: 1rem;
        font-weight: 900;
        content: '\F00D';
        position: absolute;
        width: 100%;
        top: 50%;
        right: -50%;
        transform: translate(-50%, -50%); }
    .modal__body .modal__next,
    .modal__body .modal__prev {
      right: 0;
      top: calc(50% - 1.5625rem);
      border-radius: 0.3125rem 0 0 0.3125rem;
      height: 3.125rem;
      line-height: 2.5rem;
      font-size: 3.75rem; }
    .modal__body .modal__prev {
      left: 0;
      right: auto;
      border-radius: 0 0.3125rem 0.3125rem 0; }
      .modal__body .modal__prev:after {
        font-family: "Font Awesome 5 Free";
        font-size: 1.25rem;
        line-height: 1.25rem;
        font-weight: 900;
        content: '\F053';
        position: absolute;
        width: 100%;
        top: 50%;
        right: -50%;
        transform: translate(-50%, -50%); }
    .modal__body .modal__next:after {
      font-family: "Font Awesome 5 Free";
      font-size: 1.25rem;
      line-height: 1.25rem;
      font-weight: 900;
      content: '\F054';
      position: absolute;
      width: 100%;
      top: 50%;
      right: -50%;
      transform: translate(-50%, -50%); }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
/* =ProductCollapsing
************************************************************** */
.collapsing {
  padding: 0 0 0.25rem; }
  .collapsing__trigger {
    display: block;
    color: #000;
    position: relative;
    padding: 1.25rem;
    background: #f7f7f7;
    border: 1px solid #dfdfdf;
    cursor: pointer; }
    .collapsing__trigger:after {
      font-family: "Font Awesome 5 Free";
      font-size: 1.25rem;
      font-weight: 900;
      line-height: 1rem;
      content: '\F107';
      position: absolute;
      right: 1.25rem;
      top: 1.25rem;
      display: block;
      transition: transform 300ms; }
    .collapsing__trigger--is-open:after {
      transform: rotateZ(180deg); }
  .collapsing__text {
    margin: 0; }
  .collapsing__inner {
    padding: 1.25rem; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
.collapsing {
  padding: 0 1.25rem 0.25rem; }
  .collapsing__trigger {
    display: block;
    color: #000;
    position: relative;
    padding: 1.25rem;
    background: #f7f7f7;
    border: 1px solid #dfdfdf;
    cursor: pointer; }
    .collapsing__trigger:after {
      font-family: "Font Awesome 5 Free";
      font-size: 1.25rem;
      font-weight: 900;
      line-height: 1rem;
      content: '\F107';
      position: absolute;
      right: 1.25rem;
      top: 1.25rem;
      display: block;
      transition: transform 300ms; }
    .collapsing__trigger--is-open:after {
      transform: rotateZ(180deg); }
  .collapsing__text {
    margin: 0; }

.content-grid__row {
  display: flex;
  flex: 1 0 0px;
  flex-wrap: nowrap;
  justify-content: space-between; }

.content-grid__column {
  flex: 1 0 0px; }

.content-grid__column--size-8 {
  flex-basis: 66%; }

.content-grid__column--size-6 {
  flex-basis: 50%; }

.content-grid__column--size-4 {
  flex-basis: 33%; }

.content-grid__column--size-3 {
  flex-basis: 25%; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
/* =Product
**************************************************************
Standard unit: 1rem = 16px */
img {
  max-width: 100%; }

.product *,
.product *:before,
.product *:after {
  box-sizing: border-box; }

.product__heading {
  font-size: 2rem;
  font-weight: bold;
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 0 15px;
  margin: 1.5rem 0; }

.product__title {
  margin: 0; }

.product__pre {
  white-space: pre; }

.product__img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 0.25rem;
  background-color: #fff;
  border: 0.0625rem solid #ddd;
  border-radius: 0.125rem;
  cursor: pointer; }

.product__button {
  text-align: center;
  width: 100%;
  padding: 0.375rem 0.75rem;
  border-radius: 0.125rem; }

.product__information-title, .product__related-products-name {
  margin-bottom: 0.625rem; }

.product__related-products {
  margin: 1.25rem 0; }

.product__video {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 1.5625rem;
  height: 0;
  margin: 0.625rem 0 1.25rem; }

.product__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

@media print, screen and (min-width: 1199px) {
  .product__sidebar {
    order: 1; }
  .product__content {
    order: 2; } }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
.pagination {
  text-align: center; }
  .pagination__item {
    display: inline-block;
    padding: 0.325rem 0.75rem;
    line-height: 1.42857143rem;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #dfdfdf;
    margin: 0.625rem -1px 0; }
    .pagination__item:hover {
      background-color: #eee; }
    .pagination__item--is-active {
      background-color: #15b5c6;
      color: #fff; }
      .pagination__item--is-active:hover {
        background-color: #15b5c6; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
/* =BlogNavigation
**************************************************************
Standard unit: 1rem = 16px */
.blog-navigation {
  margin-bottom: 1rem; }
  .blog-navigation__text--with-badge {
    display: inline-block;
    width: 85%; }
  .blog-navigation__title {
    padding: 1.25rem;
    background: #f7f7f7;
    border: 1px solid #dfdfdf; }
  .blog-navigation__list {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid #dfdfdf;
    border-top: none; }
  .blog-navigation__item {
    position: relative;
    display: block;
    padding: 15px;
    word-wrap: break-word; }
    .blog-navigation__item:hover, .blog-navigation__item:focus {
      background-color: #eee;
      cursor: pointer;
      border-radius: 0.125rem; }
    .blog-navigation__item--active, .blog-navigation__item--has-active {
      background-color: #15b5c6;
      color: #fff; }
      .blog-navigation__item--active.link, .blog-navigation__item--active.link--child-active, .blog-navigation__item--has-active.link, .blog-navigation__item--has-active.link--child-active {
        background-color: #15b5c6;
        color: #fff; }
  .blog-navigation__badge {
    position: absolute;
    right: 0.9375rem;
    font-weight: bold;
    padding: 0.1875rem 0.4375rem;
    font-size: 0.75rem;
    color: #fff;
    background-color: #777;
    border-radius: 0.75rem; }

/* =Base Colors
************************************************************** */
/* =Colors
************************************************************** */
/* =Fonts
************************************************************** */
/* =Grid (eg for products)
************************************************************** */
/* =Border
************************************************************** */
/* =BlogRelatedThings
**************************************************************
Standard unit: 1rem = 16px */
.related-things {
  margin-bottom: 1rem; }
  .related-things__image {
    margin-bottom: 0.625rem; }
  .related-things__title {
    padding: 1.25rem;
    background: #f7f7f7;
    border: 1px solid #dfdfdf; }
  .related-things__list {
    padding: 1.25rem;
    background: #fff;
    border: 1px solid #dfdfdf;
    border-top: none; }
  .related-things__item {
    position: relative;
    display: block;
    padding: 15px;
    word-wrap: break-word; }
    .related-things__item:hover, .related-things__item:focus {
      background-color: #eee;
      cursor: pointer;
      border-radius: 0.125rem; }
    .related-things__item--with-img {
      text-align: center; }

