@import url(https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap);
@import url(https://fonts.googleapis.com/icon?family=Material+Icons+Round);
/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
@-webkit-keyframes passing-through {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    transform: translateY(0px); }
  100% {
    opacity: 0;
    transform: translateY(-40px); } }
@keyframes passing-through {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    transform: translateY(0px); }
  100% {
    opacity: 0;
    transform: translateY(-40px); } }
@-webkit-keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30% {
    opacity: 1;
    transform: translateY(0px); } }
@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30% {
    opacity: 1;
    transform: translateY(0px); } }
@-webkit-keyframes pulse {
  0% {
    transform: scale(1); }
  10% {
    transform: scale(1.1); }
  20% {
    transform: scale(1); } }
@keyframes pulse {
  0% {
    transform: scale(1); }
  10% {
    transform: scale(1.1); }
  20% {
    transform: scale(1); } }
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px; }
  .dropzone.dz-clickable {
    cursor: pointer; }
    .dropzone.dz-clickable * {
      cursor: default; }
    .dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
      cursor: pointer; }
  .dropzone.dz-started .dz-message {
    display: none; }
  .dropzone.dz-drag-hover {
    border-style: solid; }
    .dropzone.dz-drag-hover .dz-message {
      opacity: 0.5; }
  .dropzone .dz-message {
    text-align: center;
    margin: 2em 0; }
    .dropzone .dz-message .dz-button {
      background: none;
      color: inherit;
      border: none;
      padding: 0;
      font: inherit;
      cursor: pointer;
      outline: inherit; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 16px;
    min-height: 100px; }
    .dropzone .dz-preview:hover {
      z-index: 1000; }
      .dropzone .dz-preview:hover .dz-details {
        opacity: 1; }
    .dropzone .dz-preview.dz-file-preview .dz-image {
      border-radius: 20px;
      background: #999;
      background: linear-gradient(to bottom, #eee, #ddd); }
    .dropzone .dz-preview.dz-file-preview .dz-details {
      opacity: 1; }
    .dropzone .dz-preview.dz-image-preview {
      background: white; }
      .dropzone .dz-preview.dz-image-preview .dz-details {
        transition: opacity 0.2s linear; }
    .dropzone .dz-preview .dz-remove {
      font-size: 14px;
      text-align: center;
      display: block;
      cursor: pointer;
      border: none; }
      .dropzone .dz-preview .dz-remove:hover {
        text-decoration: underline; }
    .dropzone .dz-preview:hover .dz-details {
      opacity: 1; }
    .dropzone .dz-preview .dz-details {
      z-index: 20;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      font-size: 13px;
      min-width: 100%;
      max-width: 100%;
      padding: 2em 1em;
      text-align: center;
      color: rgba(0, 0, 0, 0.9);
      line-height: 150%; }
      .dropzone .dz-preview .dz-details .dz-size {
        margin-bottom: 1em;
        font-size: 16px; }
      .dropzone .dz-preview .dz-details .dz-filename {
        white-space: nowrap; }
        .dropzone .dz-preview .dz-details .dz-filename:hover span {
          border: 1px solid rgba(200, 200, 200, 0.8);
          background-color: rgba(255, 255, 255, 0.8); }
        .dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
          overflow: hidden;
          text-overflow: ellipsis; }
          .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
            border: 1px solid transparent; }
      .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
        background-color: rgba(255, 255, 255, 0.4);
        padding: 0 0.4em;
        border-radius: 3px; }
    .dropzone .dz-preview:hover .dz-image img {
      transform: scale(1.05, 1.05);
      -webkit-filter: blur(8px);
      filter: blur(8px); }
    .dropzone .dz-preview .dz-image {
      border-radius: 20px;
      overflow: hidden;
      width: 120px;
      height: 120px;
      position: relative;
      display: block;
      z-index: 10; }
      .dropzone .dz-preview .dz-image img {
        display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview.dz-error .dz-error-mark {
      opacity: 1;
      -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
      pointer-events: none;
      opacity: 0;
      z-index: 500;
      position: absolute;
      display: block;
      top: 50%;
      left: 50%;
      margin-left: -27px;
      margin-top: -27px; }
      .dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
        display: block;
        width: 54px;
        height: 54px; }
    .dropzone .dz-preview.dz-processing .dz-progress {
      opacity: 1;
      transition: all 0.2s linear; }
    .dropzone .dz-preview.dz-complete .dz-progress {
      opacity: 0;
      transition: opacity 0.4s ease-in; }
    .dropzone .dz-preview:not(.dz-processing) .dz-progress {
      -webkit-animation: pulse 6s ease infinite;
      animation: pulse 6s ease infinite; }
    .dropzone .dz-preview .dz-progress {
      opacity: 1;
      z-index: 1000;
      pointer-events: none;
      position: absolute;
      height: 16px;
      left: 50%;
      top: 50%;
      margin-top: -8px;
      width: 80px;
      margin-left: -40px;
      background: rgba(255, 255, 255, 0.9);
      -webkit-transform: scale(1);
      border-radius: 8px;
      overflow: hidden; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        background: #333;
        background: linear-gradient(to bottom, #666, #444);
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0;
        transition: width 300ms ease-in-out; }
    .dropzone .dz-preview.dz-error .dz-error-message {
      display: block; }
    .dropzone .dz-preview.dz-error:hover .dz-error-message {
      opacity: 1;
      pointer-events: auto; }
    .dropzone .dz-preview .dz-error-message {
      pointer-events: none;
      z-index: 1000;
      position: absolute;
      display: block;
      display: none;
      opacity: 0;
      transition: opacity 0.3s ease;
      border-radius: 8px;
      font-size: 13px;
      top: 130px;
      left: -10px;
      width: 140px;
      background: #be2626;
      background: linear-gradient(to bottom, #be2626, #a92222);
      padding: 0.5em 1.2em;
      color: white; }
      .dropzone .dz-preview .dz-error-message:after {
        content: '';
        position: absolute;
        top: -6px;
        left: 64px;
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid #be2626; }

/**
 * Vendor Styles
 */
/* http://meyerweb.com/eric/tools/css/reset/
   v5.0.1 | 20191019
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

menu, ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * Overrides for defaults set in include-media.scss
 */
.ss-main {
  position: relative;
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #666666;
  width: 100%;
}

.ss-main .ss-single-selected {
  display: flex;
  cursor: pointer;
  width: 100%;
  height: 30px;
  padding: 6px;
  border: 1px solid #dcdee2;
  border-radius: 4px;
  background-color: #ffffff;
  outline: 0;
  box-sizing: border-box;
  transition: background-color .2s;
}

.ss-main .ss-single-selected.ss-disabled {
  background-color: #dcdee2;
  cursor: not-allowed;
}

.ss-main .ss-single-selected.ss-open-above {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.ss-main .ss-single-selected.ss-open-below {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.ss-main .ss-single-selected .placeholder {
  display: flex;
  flex: 1 1 100%;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  width: calc(100% - 30px);
  line-height: 1em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.ss-main .ss-single-selected .placeholder * {
  display: flex;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: auto;
}

.ss-main .ss-single-selected .placeholder .ss-disabled {
  color: #dedede;
}

.ss-main .ss-single-selected .ss-deselect {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 1 auto;
  margin: 0 6px 0 6px;
  font-weight: bold;
}

.ss-main .ss-single-selected .ss-deselect.ss-hide {
  display: none;
}

.ss-main .ss-single-selected .ss-arrow {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 1 auto;
  margin: 0 6px 0 6px;
}

.ss-main .ss-single-selected .ss-arrow span {
  border: solid #666666;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  transition: transform .2s, margin .2s;
}

.ss-main .ss-single-selected .ss-arrow span.arrow-up {
  transform: rotate(-135deg);
  margin: 3px 0 0 0;
}

.ss-main .ss-single-selected .ss-arrow span.arrow-down {
  transform: rotate(45deg);
  margin: -3px 0 0 0;
}

.ss-main .ss-multi-selected {
  display: flex;
  flex-direction: row;
  cursor: pointer;
  min-height: 30px;
  width: 100%;
  padding: 0 0 0 3px;
  border: 1px solid #dcdee2;
  border-radius: 4px;
  background-color: #ffffff;
  outline: 0;
  box-sizing: border-box;
  transition: background-color .2s;
}

.ss-main .ss-multi-selected.ss-disabled {
  background-color: #dcdee2;
  cursor: not-allowed;
}

.ss-main .ss-multi-selected.ss-disabled .ss-values .ss-disabled {
  color: #666666;
}

.ss-main .ss-multi-selected.ss-disabled .ss-values .ss-value .ss-value-delete {
  cursor: not-allowed;
}

.ss-main .ss-multi-selected.ss-open-above {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.ss-main .ss-multi-selected.ss-open-below {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
}

.ss-main .ss-multi-selected .ss-values {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  flex: 1 1 100%;
  width: calc(100% - 30px);
}

.ss-main .ss-multi-selected .ss-values .ss-disabled {
  display: flex;
  padding: 4px 5px;
  margin: 2px 0px;
  line-height: 1em;
  align-items: center;
  width: 100%;
  color: #dedede;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@-webkit-keyframes scaleIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes scaleIn {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes scaleOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0);
    opacity: 0;
  }
}

@keyframes scaleOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0);
    opacity: 0;
  }
}

.ss-main .ss-multi-selected .ss-values .ss-value {
  display: flex;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  align-items: center;
  font-size: 12px;
  padding: 3px 5px;
  margin: 3px 5px 3px 0px;
  color: #ffffff;
  background-color: #5897fb;
  border-radius: 4px;
  -webkit-animation-name: scaleIn;
          animation-name: scaleIn;
  -webkit-animation-duration: .2s;
          animation-duration: .2s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.ss-main .ss-multi-selected .ss-values .ss-value.ss-out {
  -webkit-animation-name: scaleOut;
          animation-name: scaleOut;
  -webkit-animation-duration: .2s;
          animation-duration: .2s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
}

.ss-main .ss-multi-selected .ss-values .ss-value .ss-value-delete {
  margin: 0 0 0 5px;
  cursor: pointer;
}

.ss-main .ss-multi-selected .ss-add {
  display: flex;
  flex: 0 1 3px;
  margin: 9px 12px 0 5px;
}

.ss-main .ss-multi-selected .ss-add .ss-plus {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #666666;
  position: relative;
  height: 10px;
  width: 2px;
  transition: transform .2s;
}

.ss-main .ss-multi-selected .ss-add .ss-plus:after {
  background: #666666;
  content: "";
  position: absolute;
  height: 2px;
  width: 10px;
  left: -4px;
  top: 4px;
}

.ss-main .ss-multi-selected .ss-add .ss-plus.ss-cross {
  transform: rotate(45deg);
}

.ss-content {
  position: absolute;
  width: 100%;
  margin: -1px 0 0 0;
  box-sizing: border-box;
  border: solid 1px #dcdee2;
  z-index: 1010;
  background-color: #ffffff;
  transform-origin: center top;
  transition: transform .2s, opacity .2s;
  opacity: 0;
  transform: scaleY(0);
}

.ss-content.ss-open {
  display: block;
  opacity: 1;
  transform: scaleY(1);
}

.ss-content .ss-search {
  display: flex;
  flex-direction: row;
  padding: 8px 8px 6px 8px;
}

.ss-content .ss-search.ss-hide {
  height: 0px;
  opacity: 0;
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
}

.ss-content .ss-search.ss-hide input {
  height: 0px;
  opacity: 0;
  padding: 0px 0px 0px 0px;
  margin: 0px 0px 0px 0px;
}

.ss-content .ss-search input {
  display: inline-flex;
  font-size: inherit;
  line-height: inherit;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0px;
  height: 30px;
  padding: 6px 8px;
  margin: 0;
  border: 1px solid #dcdee2;
  border-radius: 4px;
  background-color: #ffffff;
  outline: 0;
  text-align: left;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-appearance: textfield;
}

.ss-content .ss-search input::-webkit-input-placeholder {
  color: #8a8a8a;
  vertical-align: middle;
}

.ss-content .ss-search input::-moz-placeholder {
  color: #8a8a8a;
  vertical-align: middle;
}

.ss-content .ss-search input:-ms-input-placeholder {
  color: #8a8a8a;
  vertical-align: middle;
}

.ss-content .ss-search input::-ms-input-placeholder {
  color: #8a8a8a;
  vertical-align: middle;
}

.ss-content .ss-search input::placeholder {
  color: #8a8a8a;
  vertical-align: middle;
}

.ss-content .ss-search input:focus {
  box-shadow: 0 0 5px #5897fb;
}

.ss-content .ss-search .ss-addable {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: 22px;
  font-weight: bold;
  flex: 0 0 30px;
  height: 30px;
  margin: 0 0 0 8px;
  border: 1px solid #dcdee2;
  border-radius: 4px;
  box-sizing: border-box;
}

.ss-content .ss-addable {
  padding-top: 0px;
}

.ss-content .ss-list {
  max-height: 200px;
  overflow-x: hidden;
  overflow-y: auto;
  text-align: left;
}

.ss-content .ss-list .ss-optgroup .ss-optgroup-label {
  padding: 6px 10px 6px 10px;
  font-weight: bold;
}

.ss-content .ss-list .ss-optgroup .ss-option {
  padding: 6px 6px 6px 25px;
}

.ss-content .ss-list .ss-optgroup-label-selectable {
  cursor: pointer;
}

.ss-content .ss-list .ss-optgroup-label-selectable:hover {
  color: #ffffff;
  background-color: #5897fb;
}

.ss-content .ss-list .ss-option {
  padding: 6px 10px 6px 10px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.ss-content .ss-list .ss-option * {
  display: inline-block;
}

.ss-content .ss-list .ss-option:hover, .ss-content .ss-list .ss-option.ss-highlighted {
  color: #ffffff;
  background-color: #5897fb;
}

.ss-content .ss-list .ss-option.ss-disabled {
  cursor: not-allowed;
  color: #dedede;
  background-color: #ffffff;
}

.ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected {
  color: #666666;
  background-color: rgba(88, 151, 251, 0.1);
}

.ss-content .ss-list .ss-option.ss-hide {
  display: none;
}

.ss-content .ss-list .ss-option .ss-search-highlight {
  background-color: #fffb8c;
}

.ss-main .ss-single-selected {
  border: none;
  height: auto;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M8.12 9.29L12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7c-.39-.39-.39-1.02 0-1.41.39-.38 1.03-.39 1.42 0z'/></svg>");
  background-repeat: no-repeat;
  background-position: right;
  padding: 11px 40px 11px 8px;
}

.ss-main .ss-single-selected .ss-arrow {
  display: none;
}

.ss-main .ss-single-selected .placeholder {
  min-height: 18px;
}

.ss-main.select-field__input {
  background-image: none;
  padding-right: 0;
}

/**
 * Fonts
 */
/**
 * Material icons
 */
/**
 * Variables
 */
/**
 * This file is read by the styleguide to automatically produce the list of colours names and variables
 * in the General/Colours page.
 *
 * It will assume any line beginning with an "$" is a colour definition line, and will ignore all others.
 */
/**
 * Main site colours
 */
/**
 * Secondary site colours
 */
/**
 * Theme colours
 */
:root {
  --gutter: 16px;
  --content-gap: 64px;
  --user-content-gap: 24px;
  --content-max-width: 1244px;
  --large-spacing: 60px;
  --medium-spacing: 34px;
  --small-spacing: 16px;
  --theme-bg-colour: #f7f7f7;
  --theme-alt-bg-colour: #f7f7f7;
  --theme-text-colour: #4a4e57;
  --theme-alt-text-colour: #d9121f;
}

@media (min-width: 768px) {
  :root {
    --large-spacing: 88px;
    --medium-spacing: 56px;
    --small-spacing: 24px;
  }
}

:root .t-discover {
  --theme-bg-colour: #00bf9f;
  --theme-alt-bg-colour: #40ceb7;
  --theme-text-colour: #1d1d1b;
  --theme-alt-text-colour: #ffffff;
}

:root .t-forum {
  --theme-bg-colour: #0098bf;
  --theme-alt-bg-colour: #40b2cf;
  --theme-text-colour: #1d1d1b;
  --theme-alt-text-colour: #ffffff;
}

:root .t-home {
  --theme-bg-colour: #e36666;
  --theme-text-colour: #1d1d1b;
  --theme-alt-text-colour: #ffffff;
}

:root .t-learn,
:root .t-grass-roots-education,
:root .t-student-innovation,
:root .t-learning-and-skills,
:root .t-opportunities {
  --theme-bg-colour: #01c44e;
  --theme-alt-bg-colour: #41d37a;
  --theme-text-colour: #1d1d1b;
  --theme-alt-text-colour: #ffffff;
}

:root .t-resources {
  --theme-bg-colour: #ffdb0f;
  --theme-alt-bg-colour: #ffe44b;
  --theme-text-colour: #1d1d1b;
}

:root .t-services {
  --theme-bg-colour: #ff8b2d;
  --theme-alt-bg-colour: #fea861;
  --theme-text-colour: #1d1d1b;
  --theme-alt-text-colour: #ffffff;
}

:root .t-software,
:root .t-software-ds-pcb,
:root .t-software-ds-pcb-pro,
:root .t-software-dse,
:root .t-software-dsm,
:root .t-software-pcb-compare,
:root .t-software-ds-pcb-v10,
:root .t-software-ds-pcb-pro-v10,
:root .t-software-pcb-compare-v10 {
  --theme-bg-colour: #d1aadc;
  --theme-alt-bg-colour: #ddbfe5;
  --theme-text-colour: #1d1d1b;
}

/**
 * Moving vendor load further down the  chain as Tippy styles depend on the defined colours
 */
.tippy-box {
  background: #ffffff;
  box-shadow: 0 10px 10px 0 rgba(74, 78, 87, 0.2);
  border-top: 1px solid rgba(74, 78, 87, 0.1);
  -webkit-animation: dropDown 0.2s ease-in both;
          animation: dropDown 0.2s ease-in both;
}

.tippy-content {
  font-family: "Roboto", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 20px;
  color: #4a4e57;
  white-space: pre-line;
  justify-content: center;
  width: 100%;
  padding: 16px;
}

@media (min-width: 768px) {
  .tippy-content {
    font-size: 12px;
    padding: 8px 32px;
  }
}

.tippy-content:hover {
  background: #f7f7f7;
}

/**
 * Mixins
 */
/**
 * Icon font
 *
 * To be used as follows:
 * @include icon(string ligature, fontSize);
 * default font size 24px as this is preferred for material icons
 *
 */
/**
 * AvatarImage
 * Styles the standard avatar image (round icon)
 *
 * To be used as follows:
 * @include avatarImage($size);
 * where $size provides the height and width of the image
 *
 */
/**
 * Line clamp
 *
 * To be used as follows:
 * @include line-clamp(int number-of-lines);
 *
 */
/**
 * Loading shimmer
 * A loading animation in which a gradient sweeps through the background
 *
 * To be used as follows:
 * @include loadingShimmer;
 *
 */
/**
 * Card percentage width
 *
 * To be used as follows:
 * @include cardPercentageWidth(int number-per-row, horizontal-margin-between);
 *
 */
/**
 * Fade
 *
 * To be used as follows:
 * @include fade(int transition-time, bool reverse-animation, string transition-type);
 * reverse-animation defaults to false (fadeOut), true will make this a fadeIn transition.
 * transition-type defaults to ease
 * Requires '.fade' class to be applied to the element.
 *
 */
/**
 * ContentBox
 * Gives an element a raised appearance and rounded corners.
 *
 * To be used as follows:
 * @include contentBox;
 *
 */
/**
 * Base styling
 */
* {
  box-sizing: border-box;
}

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

html {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

body {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-y: scroll;
}

body.has-suppressed-highlight button:focus,
body.has-suppressed-highlight input:focus,
body.has-suppressed-highlight select:focus,
body.has-suppressed-highlight summary:focus,
body.has-suppressed-highlight textarea:focus {
  outline: none;
}

main {
  flex: 1 0 auto;
}

header,
footer {
  flex-shrink: 0;
}

select {
  border: 0;
  background: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button,
input {
  border: 0;
  background: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
}

button::-ms-clear,
input::-ms-clear {
  display: none;
}

input[type='text'] {
  min-width: 0;
}

summary {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

summary::after {
  background: none;
}

details[open] summary::after {
  background: none;
}

input[type='search'],
input[type='search']::-webkit-search-decoration,
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-results-button,
input[type='search']::-webkit-search-results-decoration {
  -webkit-appearance: none;
          appearance: none;
}

img {
  max-width: 100%;
  vertical-align: middle;
  border: 0;
}

body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #4a4e57;
}

@media (min-width: 768px) {
  body {
    font-size: 18px;
    line-height: 28px;
  }
}

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

a:hover, a:focus {
  color: #4a4e57;
  text-decoration: none;
}

button:hover {
  text-decoration: none;
}

.header {
  color: #4a4e57;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
}

.o-button:hover, .o-button:focus {
  color: #ffffff;
}

.o-button.o-button--secondary:hover, .o-button.o-button--secondary:focus {
  color: #1d1d1b;
}

.footer__nav-link > a:hover {
  color: #ffffff;
}

.filter-bar__filter {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  line-height: normal;
}

.filter-bar__filter:hover, .filter-bar__filter:focus, .filter-bar__filter.is-active {
  color: #ffffff;
}

.language-selector__link:focus {
  color: #ffffff;
}

.wysiwyg ol li::before {
  display: none;
}

.wysiwyg ul li {
  background-image: none;
  padding-left: 0;
}

/**
 * Extensions
 */
.comment__text h1, .forum-content__text h1, .wysiwyg h1 {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
}

@media (min-width: 768px) {
  .comment__text h1, .forum-content__text h1, .wysiwyg h1 {
    font-size: 40px;
    line-height: 52px;
  }
}

.comment__text h2, .forum-content__text h2, .wysiwyg h2 {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 32px;
}

@media (min-width: 768px) {
  .comment__text h2, .forum-content__text h2, .wysiwyg h2 {
    font-size: 36px;
    line-height: 44px;
  }
}

.comment__text h3, .forum-content__text h3, .wysiwyg h3 {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 30px;
}

@media (min-width: 768px) {
  .comment__text h3, .forum-content__text h3, .wysiwyg h3 {
    font-size: 28px;
    line-height: 32px;
  }
}

.comment__text h4, .forum-content__text h4, .wysiwyg h4 {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
}

@media (min-width: 768px) {
  .comment__text h4, .forum-content__text h4, .wysiwyg h4 {
    font-size: 24px;
    line-height: 34px;
  }
}

.comment__text h1, .forum-content__text h1, .wysiwyg h1, .comment__text h2, .forum-content__text h2, .wysiwyg h2, .comment__text h3, .forum-content__text h3, .wysiwyg h3, .comment__text h4, .forum-content__text h4, .wysiwyg h4,
.comment__text p,
.forum-content__text p,
.wysiwyg p {
  margin-bottom: var(--small-spacing);
}

.comment__text b, .forum-content__text b, .wysiwyg b,
.comment__text strong,
.forum-content__text strong,
.wysiwyg strong {
  font-weight: 700;
}

.comment__text em, .forum-content__text em, .wysiwyg em {
  font-style: italic;
}

.comment__text a, .forum-content__text a, .wysiwyg a {
  font-weight: 700;
  color: #3244ff;
}

.comment__text a:hover, .forum-content__text a:hover, .wysiwyg a:hover {
  color: #d9121f;
}

.comment__text ul, .forum-content__text ul, .wysiwyg ul {
  list-style: disc;
}

.comment__text ol, .forum-content__text ol, .wysiwyg ol {
  list-style: decimal;
}

.comment__text li, .forum-content__text li, .wysiwyg li {
  margin-left: 34px;
}

.comment__text sup, .forum-content__text sup, .wysiwyg sup,
.comment__text sub,
.forum-content__text sub,
.wysiwyg sub {
  font-size: 75%;
  position: relative;
}

.comment__text sup, .forum-content__text sup, .wysiwyg sup {
  top: -0.5em;
}


.comment__text sub,
.forum-content__text sub,
.wysiwyg sub {
  bottom: -0.25em;
}

.comment__text table[border='1'] th, .forum-content__text table[border='1'] th, .wysiwyg table[border='1'] th,
.comment__text table[border='1'] td,
.forum-content__text table[border='1'] td,
.wysiwyg table[border='1'] td {
  border: 1px solid #1d1d1b;
}

.comment__text pre, .forum-content__text pre, .wysiwyg pre {
  outline: 3px solid #b4d7ff;
  background: #f5f2f0;
  font-family: Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

.comment__text blockquote, .forum-content__text blockquote, .wysiwyg blockquote {
  padding: 8px 0 8px var(--small-spacing);
  background-color: #f7f7f7;
  border-left: 3px solid rgba(74, 78, 87, 0.2);
}

.comment__text blockquote p, .forum-content__text blockquote p, .wysiwyg blockquote p {
  margin-bottom: 0;
}

.product-card__badges, .card__badges {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  padding: 8px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.card--product .product-card__image-container, .card--product .card__image-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 66.66%;
}

.product-card__image, .card__image {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  width: 100%;
}

.card--product .product-card__image, .card--product .card__image {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.product-card__label, .card__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  padding: 12px 24px 24px;
  flex-grow: 1;
  color: #4a4e57;
  text-align: left;
}

.card--has-meta-data .product-card__label, .card--has-meta-data .card__label {
  font-size: 14px;
}

.comment-report__tooltip, .dropdown-menu-list, .forum-votes-tooltip, .attachments__tooltip {
  position: absolute;
  left: 0;
  width: 100%;
  background: #ffffff;
  margin-top: 20px;
  display: none;
  box-shadow: 0 10px 10px 0 rgba(74, 78, 87, 0.2);
  z-index: 1;
  border-top: 1px solid rgba(74, 78, 87, 0.1);
}

@media (min-width: 768px) {
  .comment-report__tooltip, .dropdown-menu-list, .forum-votes-tooltip, .attachments__tooltip {
    width: auto;
    margin-top: 24px;
    border-radius: 3px;
    box-shadow: 2px 2px 1px rgba(225, 225, 225, 0.5);
    left: 50%;
    transform: translateX(-50%);
    border-top: none;
  }
  .comment-report__tooltip::before, .dropdown-menu-list::before, .forum-votes-tooltip::before, .attachments__tooltip::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #ffffff;
    left: 50%;
    transform: translateX(-50%);
    top: -5px;
  }
  .comment-report__tooltip::after, .dropdown-menu-list::after, .forum-votes-tooltip::after, .attachments__tooltip::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid rgba(225, 225, 225, 0.5);
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
    top: -6px;
  }
}

.is-dropdown-open .comment-report__tooltip, .is-dropdown-open .dropdown-menu-list, .is-dropdown-open .forum-votes-tooltip, .is-dropdown-open .attachments__tooltip {
  display: block;
  -webkit-animation: dropDown 0.2s ease-in both;
          animation: dropDown 0.2s ease-in both;
}

@-webkit-keyframes dropDown {
  from {
    opacity: 0;
    margin-top: calc(var(--dropdown-top-margin) - 10px);
  }
  to {
    opacity: 1;
    margin-top: var(--dropdown-top-margin);
  }
}

@keyframes dropDown {
  from {
    opacity: 0;
    margin-top: calc(var(--dropdown-top-margin) - 10px);
  }
  to {
    opacity: 1;
    margin-top: var(--dropdown-top-margin);
  }
}

.comment-report__tooltip-link, .dropdown-menu-list__item, .forum-votes-tooltip__link, .attachments__tooltip-link {
  font-family: "Roboto", Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 20px;
  color: #4a4e57;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 16px;
}

@media (min-width: 768px) {
  .comment-report__tooltip-link, .dropdown-menu-list__item, .forum-votes-tooltip__link, .attachments__tooltip-link {
    font-size: 12px;
    padding: 8px 32px;
  }
}

.comment-report__tooltip-link:hover, .dropdown-menu-list__item:hover, .forum-votes-tooltip__link:hover, .attachments__tooltip-link:hover {
  background: #f7f7f7;
}

/**
 * Components - objects
 */
.o-badge {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 14px;
  max-width: 100%;
  border-radius: 3px;
  padding: 6px 20px;
  margin-bottom: 4px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  color: #ffffff;
  background-color: #1d1d1b;
}

.o-badge--tutorial {
  background-color: #bcbcbc;
  color: #1d1d1b;
}

.o-badge--product {
  background-color: #d9121f;
}

.o-button {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  padding: 12px 40px;
  display: inline-block;
  text-align: center;
  color: #ffffff;
  border-radius: 3px;
  background-color: #1d1d1b;
}

.o-button--highlighted {
  background-color: #d9121f;
}

.o-button--secondary {
  color: #1d1d1b;
  background-color: #edeff1;
}

.o-show-more {
  position: absolute;
  bottom: -60px;
  width: 120px;
  border-radius: 3px;
  background-color: #f7f7f7;
  content: '';
  color: #4a4e57;
}

.o-show-more::before {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 58px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .o-show-more::before {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 58px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.o-action-button {
  font-size: 18px;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  color: #1d1d1b;
  padding: 10px 20px;
  display: inline-flex;
  background-color: #edeff1;
  border-radius: 3px;
  text-align: center;
  line-height: 24px;
  margin-bottom: 8px;
  margin-right: 8px;
}

.o-action-button:last-child {
  margin-right: 0;
}

.o-action-button:hover {
  background-color: #bcbcbc;
}

.o-action-button:disabled {
  color: #bcbcbc;
  pointer-events: none;
}

.o-action-button > span {
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--active {
  background-color: #bcbcbc;
}

.o-action-button--comment::after {
  content: "question_answer";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--follow::after {
  content: "star_border";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--unfollow::after {
  content: "star";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--flag::after {
  content: "outlined_flag";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--delete::after {
  content: "delete";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--edit::after {
  content: "create";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--like::after {
  content: "thumb_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  margin-left: 4px;
  margin-right: 4px;
}

.o-action-button--disabled:hover {
  background-color: #edeff1;
}

.o-follow-button {
  font-size: 18px;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  color: #1d1d1b;
  padding: 10px 20px;
  display: inline-flex;
  background-color: #edeff1;
  border-radius: 3px;
  text-align: center;
  line-height: 24px;
  margin-bottom: 8px;
  margin-right: 8px;
  padding-left: 40px;
  padding-right: 40px;
  font-size: 16px;
  position: relative;
  display: inline-block;
}

.o-follow-button:last-child {
  margin-right: 0;
}

.o-follow-button:hover {
  background-color: #bcbcbc;
}

.o-follow-button:disabled {
  color: #bcbcbc;
  pointer-events: none;
}

.o-follow-button > span {
  margin-left: 4px;
  margin-right: 4px;
}

.o-follow-button::after {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  speak: none;
}

.o-follow-button--follow::after {
  content: "star_border";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.o-follow-button--unfollow::after {
  content: "star";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.o-follow-button--like::after {
  content: "thumb_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.o-follow-button--edit-content::after {
  content: "edit";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.o-follow-button--edit-profile::after {
  content: "person_add";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.form__errors {
  margin-bottom: 24px;
}

.form__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

/**
 * FormField
 *
 * To be used as follows:
 * @include formField(string fieldName);
 * Applies default styling to basic form field elements such as input, label, errors etc.
 *
 */
/**
 * ToggleField
 *
 * To be used as follows:
 * @include toggleField(string fieldName);
 * Applies default styling to toggle form field elements such as checkboxes & radio buttons.
 *
 */
.o-checkbox {
  margin-bottom: 24px;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.o-checkbox__input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.o-checkbox__input:focus + .o-checkbox__label::before {
  outline: 2px solid #d9121f;
  outline-offset: 2px;
}

.has-suppressed-highlight .o-checkbox__input:focus + .o-checkbox__label::before {
  outline: none;
  outline-offset: 0;
  box-shadow: 0 0 4px 0 #d9121f;
}

.o-checkbox__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  position: relative;
  display: flex;
  color: #1d1d1b;
  cursor: pointer;
}

.o-checkbox__label::before {
  content: '';
  border: 2px solid #4a4e57;
  margin-right: 8px;
  display: inline-block;
  background-color: #ffffff;
}

.o-checkbox__label > span {
  flex: 1;
}

.o-checkbox__label:hover::before {
  background: #edeff1;
}

.o-checkbox__meta {
  display: flex;
  flex-direction: column;
  margin-left: 26px;
}

.o-checkbox__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

.o-checkbox__help {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: rgba(74, 78, 87, 0.8);
  text-align: left;
}

.o-checkbox__help a {
  color: #4a4e57;
  text-decoration: underline;
}

.o-checkbox__label::before {
  height: 18px;
  width: 18px;
  border-radius: 3px;
}

.o-checkbox__input:checked + .o-checkbox__label::before {
  background-color: #d9121f;
  border-radius: 3px;
  transform: rotate(0deg) scale(1);
  opacity: 1;
  border: 2px solid #d9121f;
}

.o-checkbox__input:checked + .o-checkbox__label::after {
  content: '';
  transform: rotate(45deg) scale(1);
  position: absolute;
  left: 6px;
  top: 2px;
  opacity: 1;
  width: 6px;
  height: 12px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  background-color: transparent;
  border-radius: 0;
}

.o-radio {
  margin-bottom: 24px;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.o-radio__input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.o-radio__input:focus + .o-radio__label::before {
  outline: 2px solid #d9121f;
  outline-offset: 2px;
}

.has-suppressed-highlight .o-radio__input:focus + .o-radio__label::before {
  outline: none;
  outline-offset: 0;
  box-shadow: 0 0 4px 0 #d9121f;
}

.o-radio__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  position: relative;
  display: flex;
  color: #1d1d1b;
  cursor: pointer;
}

.o-radio__label::before {
  content: '';
  border: 2px solid #4a4e57;
  margin-right: 8px;
  display: inline-block;
  background-color: #ffffff;
}

.o-radio__label > span {
  flex: 1;
}

.o-radio__label:hover::before {
  background: #edeff1;
}

.o-radio__meta {
  display: flex;
  flex-direction: column;
  margin-left: 26px;
}

.o-radio__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

.o-radio__help {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: rgba(74, 78, 87, 0.8);
  text-align: left;
}

.o-radio__help a {
  color: #4a4e57;
  text-decoration: underline;
}

.o-radio__label::before {
  width: 18px;
  height: 18px;
  border-radius: 50%;
}

.o-radio__input:checked + .o-radio__label::before {
  background: transparent;
}

.o-radio__input:checked + .o-radio__label::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 5px;
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  margin-right: 10px;
  background: #d9121f;
}

.select-field {
  margin-bottom: 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.select-field__input {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #4a4e57;
  font-weight: inherit;
  border-radius: 3px;
  border: 2px solid #1d1d1b;
  background-color: #ffffff;
  padding: 10px 8px;
  margin-bottom: 4px;
}

.select-field__input:focus {
  box-shadow: 0 2px 4px 0 rgba(29, 29, 27, 0.5);
}

.is-invalid .select-field__input {
  border: 2px solid #d9121f;
}

.select-field__input::-webkit-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.select-field__input::-moz-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.select-field__input:-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.select-field__input::-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.select-field__input::placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.select-field__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #1d1d1b;
}

.is-invalid > .select-field__label {
  color: #d9121f;
}

.select-field__label a {
  font-weight: 700;
}

.select-field__label a:hover {
  color: #d9121f;
}

.select-field__label--regular {
  font-weight: 400;
}

.select-field__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

.select-field__help {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: rgba(74, 78, 87, 0.8);
  text-align: left;
}

.select-field__help a {
  color: #4a4e57;
  text-decoration: underline;
}

.select-field__input {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M8.12 9.29L12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7c-.39-.39-.39-1.02 0-1.41.39-.38 1.03-.39 1.42 0z'/></svg>");
  background-repeat: no-repeat;
  background-position: calc(100% - 8px) 50%;
  padding-right: 40px;
}

.select-field__input--no-padding {
  padding: 0;
}

.input-field {
  margin-bottom: 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.input-field__input {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #4a4e57;
  font-weight: inherit;
  border-radius: 3px;
  border: 2px solid #1d1d1b;
  background-color: #ffffff;
  padding: 10px 8px;
  margin-bottom: 4px;
}

.input-field__input:focus {
  box-shadow: 0 2px 4px 0 rgba(29, 29, 27, 0.5);
}

.is-invalid .input-field__input {
  border: 2px solid #d9121f;
}

.input-field__input::-webkit-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.input-field__input::-moz-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.input-field__input:-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.input-field__input::-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.input-field__input::placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.input-field__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #1d1d1b;
}

.is-invalid > .input-field__label {
  color: #d9121f;
}

.input-field__label a {
  font-weight: 700;
}

.input-field__label a:hover {
  color: #d9121f;
}

.input-field__label--regular {
  font-weight: 400;
}

.input-field__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

.input-field__help {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: rgba(74, 78, 87, 0.8);
  text-align: left;
}

.input-field__help a {
  color: #4a4e57;
  text-decoration: underline;
}

.is-invalid .input-field__input {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='2 2 20 20' fill='%23d9121f' width='18px' height='18px'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z'/></svg>");
  background-repeat: no-repeat;
  background-position: calc(100% - 8px) 50%;
  padding-right: 40px;
}

.input-field--with-associated-control {
  margin-bottom: 8px;
}

.o-banner-title {
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
}

.o-landing-page-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  color: #4a4e57;
}

@media (min-width: 768px) {
  .o-landing-page-title {
    font-size: 48px;
    line-height: 60px;
  }
}

.o-page-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
  color: #4a4e57;
}

@media (min-width: 768px) {
  .o-page-title {
    font-size: 40px;
    line-height: 52px;
  }
}

.o-section-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 32px;
  color: #4a4e57;
}

@media (min-width: 768px) {
  .o-section-title {
    font-size: 36px;
    line-height: 44px;
  }
}

.o-section-sub-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 30px;
  color: #4a4e57;
}

@media (min-width: 768px) {
  .o-section-sub-title {
    font-size: 28px;
    line-height: 32px;
  }
}

.o-content-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  color: #4a4e57;
}

@media (min-width: 768px) {
  .o-content-title {
    font-size: 24px;
    line-height: 34px;
  }
}

.o-card-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  color: #4a4e57;
}

.o-card-title--small {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #4a4e57;
}

.o-skip-to-content {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  position: absolute;
  left: -10000px;
  padding: 8px;
  z-index: 1;
  background-color: #ffffff;
}

@media (min-width: 768px) {
  .o-skip-to-content {
    font-size: 16px;
    line-height: 22px;
  }
}

.o-skip-to-content:focus {
  top: 80px;
  left: 16px;
}

.o-loading-indicator {
  display: block;
  content: '';
  margin: 100px calc(50% - 25px);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-top: 5px solid #d9121f;
  border-right: 5px solid transparent;
  -webkit-animation: spin 0.6s linear infinite;
          animation: spin 0.6s linear infinite;
}

.o-loading-indicator--small {
  margin: 0 16px;
  display: inline-block;
  width: 16px;
  height: 16px;
  border-top: 2px solid #d9121f;
}

@-webkit-keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/**
 * Components - blocks
 */
.w-advert {
  width: 100%;
  padding: var(--small-spacing) var(--gutter);
  overflow: hidden;
  display: flex;
  justify-content: center;
}

.advert.advert--placeholder {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #d8d8d8;
  height: 250px;
  width: 300px;
}

@media (min-width: 768px) {
  .advert.advert--placeholder {
    height: 90px;
    width: 728px;
  }
}

.addthis__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
}

.alert {
  --alert-bg-colour: #f7f7f7;
  --alert-text-colour: #4a4e57;
  --alert-border-colour: #edeff1;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  position: relative;
  padding-top: calc(var(--small-spacing) / 2);
  padding-left: var(--small-spacing);
  padding-bottom: calc(var(--small-spacing) / 2);
  padding-right: calc(var(--small-spacing) + 40px);
  color: var(--alert-text-colour);
  background-color: var(--alert-bg-colour);
  border: 1px solid var(--alert-border-colour);
  border-radius: 3px;
}

@media (min-width: 768px) {
  .alert {
    font-size: 16px;
    line-height: 22px;
  }
}

.alert--success {
  --alert-bg-colour: #dff0d8;
  --alert-text-colour: #3c763d;
  --alert-border-colour: #d6e9c6;
}

.alert--error {
  --alert-bg-colour: #f8d7da;
  --alert-text-colour: #721c24;
  --alert-border-colour: #f5c6cb;
}

.alert--warning {
  --alert-bg-colour: #fff3cd;
  --alert-text-colour: #856404;
  --alert-border-colour: #ffeeba;
}

.alert--info {
  --alert-bg-colour: #d1ecf1;
  --alert-text-colour: #0c5460;
  --alert-border-colour: #bee5eb;
}

.alert__close {
  position: absolute;
  right: 0;
  top: 0;
  height: 45px;
  width: 40px;
  color: var(--alert-text-colour);
  content: '';
}

.alert__close::before {
  content: "close";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.author-summary {
  background-color: #f7f7f7;
  padding: var(--gutter);
}

@media (min-width: 768px) {
  .author-summary {
    padding: 24px;
  }
}

.author-summary__header {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .author-summary__header {
    flex-direction: row;
    justify-content: space-between;
  }
}

.author-summary__avatar {
  margin-bottom: 16px;
}

.author-summary__follow {
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .author-summary__follow {
    max-width: 250px;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .author-summary__bio {
    padding: 0 54px 24px;
  }
}

.product-card {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
  position: relative;
}

.product-card:hover {
  transform: scale(1.02);
  box-shadow: 2px 6px 34px 12px rgba(29, 29, 27, 0.24);
}

.product-card__button {
  width: 100%;
  height: 100%;
}

.product-card__button-body {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.product-card__overlay {
  display: none;
}

.is-overlay-visible .product-card__overlay {
  display: flex;
  border-radius: 3px;
  position: absolute;
  pointer-events: none;
  flex-direction: column;
  justify-content: center;
  padding: 16px;
  width: 100%;
  height: 100%;
  top: 0;
  background-color: rgba(74, 78, 87, 0.8);
  z-index: 10;
}

.product-card__overlay-button {
  margin-bottom: 16px;
  position: relative;
  pointer-events: auto;
  display: inline-block;
}

.product-card__overlay-button:last-child {
  margin-bottom: 0;
}

.product-card__overlay-button::after {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.product-card__overlay-button--basket {
  transition: all 0.2s ease-in-out;
}

.product-card__overlay-button--basket::after {
  content: "shopping_basket";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #d9121f;
}

.product-card__overlay-button--basket.is-added {
  background-color: #d9121f;
}

.product-card__overlay-button--basket.is-added::after {
  color: #ffffff;
}

.product-card__overlay-button--info::after {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-added .product-card__basket-add-text {
  display: none;
}

.product-card__basket-add-text--added {
  display: none;
}

.is-added .product-card__basket-add-text--added {
  display: block;
}

.card {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
  position: relative;
}

.card:hover {
  transform: scale(1.02);
  box-shadow: 2px 6px 34px 12px rgba(29, 29, 27, 0.24);
}

.w-card__quote {
  position: relative;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  padding: 48px 52px 24px;
  flex-grow: 1;
  background-color: #4a4e57;
}

.card__quote {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}

.card__quote-open {
  position: absolute;
  z-index: 1;
  top: 16px;
  left: 24px;
}

.card__quote-close {
  position: absolute;
  z-index: 1;
  right: 24px;
  bottom: 16px;
}

.card--quote .card__label {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-bottom: 0;
  margin-bottom: 24px;
  min-height: 56px;
  flex-grow: 0;
}

.card--muted-hover:hover {
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
}

.card--full-height {
  height: 100%;
}

.card-meta {
  display: flex;
  justify-content: space-between;
  color: #4a4e57;
  font-size: 12px;
  line-height: 20px;
  font-family: "Roboto", Arial, sans-serif;
  padding: 8px 24px;
  border-top: 1px solid #bcbcbc;
}

.card-meta__stats {
  display: flex;
  justify-content: space-between;
}

.card-meta__stats > span {
  padding-right: 8px;
}

.card-meta__stats > span::before {
  font-size: 12px;
  padding-right: 4px;
  vertical-align: text-top;
  speak: none;
}

.card-meta__views::before {
  content: "remove_red_eye";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.card-meta__comments::before {
  content: "mode_comment";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.card-meta__likes::before {
  content: "thumb_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.tech-card {
  display: inline-flex;
  flex-direction: row;
  padding: 8px;
  align-items: center;
}

@media (min-width: 992px) {
  .tech-card {
    flex-direction: column;
    padding: 0;
    align-items: flex-start;
  }
}

.is-retracted .tech-card--transient {
  display: none;
}

.tech-card__image {
  height: 40px;
  width: 40px;
  margin-right: 8px;
  flex-shrink: 0;
}

@media (min-width: 992px) {
  .tech-card__image {
    height: auto;
    width: 100%;
    margin-right: 0;
  }
}

.tech-card__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #4a4e57;
}

@media (min-width: 992px) {
  .tech-card__label {
    font-family: "Roboto", Arial, sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 22px;
    max-width: 100%;
    padding: 12px 24px 24px;
  }
}

.info-card {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
  justify-content: space-between;
}

.info-card:hover {
  transform: scale(1.02);
  box-shadow: 2px 6px 34px 12px rgba(29, 29, 27, 0.24);
}

.info-card__body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: #4a4e57;
  padding: 24px;
}

@media (min-width: 768px) {
  .info-card__body {
    font-size: 16px;
    line-height: 22px;
  }
}

.info-card__body h3 {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 24px;
}

.info-card__body ul {
  flex-direction: column;
}

@media (min-width: 480px) {
  .info-card--jumbo .info-card__body ul {
    -moz-column-count: 2;
         column-count: 2;
  }
}

.info-card__body li {
  padding-left: 24px;
  position: relative;
  margin-bottom: 6px;
}

.info-card__body li::before {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  position: absolute;
  line-height: 20px;
  left: 0;
  color: #d9121f;
}

.info-card__embedded-video {
  margin-bottom: 24px;
}

.info-card__footer {
  font-weight: 700;
  font-size: 14px;
  color: #1d1d1b;
  border-top: 1px solid #edeff1;
  padding: 12px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.info-card__footer::after {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.info-card__footer:hover {
  color: #d9121f;
}

.post-card {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--small-spacing);
}

.post-card:hover {
  transform: scale(1.02);
  box-shadow: 2px 6px 34px 12px rgba(29, 29, 27, 0.24);
}

@media (min-width: 768px) {
  .post-card {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
}

.post-card__metadata {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .post-card__metadata {
    margin-left: auto;
  }
}

.post-card__metadata-set {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

@media (min-width: 768px) {
  .post-card__metadata-set {
    justify-content: flex-start;
  }
}

.post-card__metadata-label {
  margin-left: 6px;
}

.post-card__metadata-value {
  color: #d9121f;
}

.post-card__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .post-card__body {
    flex-basis: 70%;
  }
}

.post-card__body-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #1d1d1b;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .post-card__body-title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 8px;
  }
}

.post-card__body-subtext {
  display: none;
}

@media (min-width: 768px) {
  .post-card__body-subtext {
    font-family: "Roboto", Arial, sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 20px;
    display: flex;
    flex-direction: row;
  }
}

@media (min-width: 768px) and (min-width: 768px) {
  .post-card__body-subtext {
    font-size: 14px;
    line-height: 20px;
  }
}

.post-card__author {
  display: flex;
  flex-direction: row;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .post-card__author {
    margin-bottom: 0;
  }
}

.post-card__author-image {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: inline-block;
  margin-right: var(--small-spacing);
}

.post-card__author-image > svg {
  width: 50px;
  height: 50px;
  fill: #4a4e57;
}

@media (min-width: 768px) {
  .post-card__author-image {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    display: inline-block;
  }
  .post-card__author-image > svg {
    width: 68px;
    height: 68px;
    fill: #4a4e57;
  }
}

.post-card__author-body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .post-card__author-body {
    font-size: 14px;
    line-height: 20px;
  }
}

@media (min-width: 768px) {
  .post-card__author-body {
    display: none;
  }
}

.post-card__author-username {
  font-weight: 700;
}

@media (min-width: 768px) {
  .post-card__author-username {
    margin-right: 16px;
  }
}

.post-card__author-subtext {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: rgba(74, 78, 87, 0.8);
}

@media (min-width: 768px) {
  .post-card__author-subtext {
    font-size: 14px;
    line-height: 20px;
  }
}

.search-result {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
  position: relative;
  align-items: flex-start;
  padding: var(--small-spacing);
}

.search-result:hover {
  transform: scale(1.02);
  box-shadow: 2px 6px 34px 12px rgba(29, 29, 27, 0.24);
}

@media (min-width: 768px) {
  .search-result {
    flex-direction: row;
  }
}

.search-result__image-container {
  margin-bottom: 8px;
  width: 100%;
  position: relative;
  text-align: center;
}

@media (min-width: 768px) {
  .search-result__image-container {
    width: 140px;
    margin-bottom: 0;
    margin-right: 20px;
  }
}

.search-result--product .search-result__image-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}

@media (min-width: 768px) {
  .search-result--product .search-result__image-container {
    height: 103px;
    width: 140px;
    padding-top: 0;
  }
}

.search-result--product .search-result__image {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.search-result__image-overlay {
  position: absolute;
  bottom: 4px;
  left: 4px;
}

.search-result__body {
  display: flex;
  flex: 1;
  justify-content: space-between;
  flex-direction: column-reverse;
  width: 100%;
}

@media (min-width: 768px) {
  .search-result__body {
    flex-direction: row;
  }
}

.search-result__badges {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

@media (min-width: 768px) {
  .search-result__badges {
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
  }
}

.search-result-metadata {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .search-result-metadata {
    font-size: 14px;
    line-height: 20px;
  }
}

.search-result-metadata__headline {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 8px;
  color: #1d1d1b;
}

.search-result-metadata__image {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}

.search-result-metadata__image > svg {
  width: 28px;
  height: 28px;
  fill: #4a4e57;
}

.search-result-metadata__large {
  display: none;
}

@media (min-width: 768px) {
  .search-result-metadata__large {
    display: block;
    margin-bottom: 8px;
  }
}

.search-result-metadata__item {
  margin-right: 16px;
}

.search-result-metadata__small {
  display: flex;
  align-items: flex-start;
  margin-top: 8px;
}

@media (min-width: 768px) {
  .search-result-metadata__small {
    display: none;
  }
}

.search-result-metadata__owner {
  font-weight: 700;
}

.search-result-metadata__subtitle {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

@media (min-width: 768px) {
  .search-result-metadata__subtitle {
    font-size: 16px;
    line-height: 22px;
  }
}

.search-result-metadata__content_parent {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .search-result-metadata__content_parent {
    display: none;
  }
  .search-result-metadata__large .search-result-metadata__content_parent {
    display: inline-block;
  }
}

.search-result-metadata__price {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  color: #1d1d1b;
}

@media (min-width: 768px) {
  .search-result-metadata__price {
    font-size: 18px;
    line-height: 28px;
  }
}

.search-placeholder-image {
  position: relative;
  width: 100%;
}

.search-placeholder-image::before {
  content: '';
  padding-top: 39%;
  height: 0;
  display: block;
}

@media (min-width: 768px) {
  .search-placeholder-image::before {
    padding-top: 71%;
  }
}

.search-placeholder-image::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  speak: none;
  color: #ffffff;
}

.search-placeholder-image--question {
  background-color: #0098bf;
}

.search-placeholder-image--question::after {
  content: "help";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 56px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.search-placeholder-image--support {
  background-color: #d1aadc;
}

.search-placeholder-image--support::after {
  content: "article";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 56px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.glide * {
  box-sizing: inherit;
}

.glide__track {
  overflow: hidden;
}

.glide__slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-style: preserve-3d;
  touch-action: pan-Y;
  overflow: hidden;
  padding: 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
}

.glide__slides--dragging {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.glide__slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  white-space: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.glide__slide a {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.glide__arrows {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.glide__bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.glide--rtl {
  direction: rtl;
}

.glide--swipeable {
  cursor: -webkit-grab;
  cursor: grab;
}

.glide--dragging {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.glide__track {
  padding-left: 8px;
  padding-right: 8px;
  margin-left: -8px;
  margin-right: -8px;
}

.glide__slides {
  box-sizing: content-box;
  padding: calc(2 * 8px) 8px;
  margin-left: -8px;
  margin-right: -8px;
}

.glide__slide {
  box-sizing: border-box;
  height: auto;
}

@media (min-width: 480px) {
  [data-carousel-cards-per-view='2'] .glide__slide {
    width: calc(50% - 8px);
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  [data-carousel-cards-per-view='3'] .glide__slide {
    width: calc(50% - 8px);
  }
}

@media (min-width: 768px) {
  [data-carousel-cards-per-view='3'] .glide__slide {
    width: calc(33.33333% - 10.66667px);
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  [data-carousel-cards-per-view='4'] .glide__slide {
    width: calc(50% - 8px);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  [data-carousel-cards-per-view='4'] .glide__slide {
    width: calc(33.33333% - 10.66667px);
  }
}

@media (min-width: 992px) {
  [data-carousel-cards-per-view='4'] .glide__slide {
    width: calc(25% - 12px);
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  [data-carousel-cards-per-view='5'] .glide__slide {
    width: calc(50% - 8px);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  [data-carousel-cards-per-view='5'] .glide__slide {
    width: calc(33.33333% - 10.66667px);
  }
}

@media (min-width: 992px) and (max-width: 1439px) {
  [data-carousel-cards-per-view='5'] .glide__slide {
    width: calc(25% - 12px);
  }
}

@media (min-width: 1440px) {
  [data-carousel-cards-per-view='5'] .glide__slide {
    width: calc(20% - 12.8px);
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  [data-carousel-cards-per-view='6'] .glide__slide {
    width: calc(50% - 8px);
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  [data-carousel-cards-per-view='6'] .glide__slide {
    width: calc(33.33333% - 10.66667px);
  }
}

@media (min-width: 992px) and (max-width: 1439px) {
  [data-carousel-cards-per-view='6'] .glide__slide {
    width: calc(25% - 12px);
  }
}

@media (min-width: 1440px) {
  [data-carousel-cards-per-view='6'] .glide__slide {
    width: calc(16.66667% - 13.33333px);
  }
}

/**
 * Carousel controls are the arrows to navigate between slides
 */
.carousel-controls__arrow {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 48px;
  box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.5);
  height: 48px;
  width: 48px;
  color: #d9121f;
  position: absolute;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  opacity: 1;
  cursor: pointer;
  transition: opacity 0.2s ease;
  line-height: 1;
}

@media (min-width: 1440px) {
  .carousel-controls__arrow {
    height: 80px;
    width: 80px;
  }
}

.carousel-controls__arrow.is-disabled {
  opacity: 0;
}

.carousel-controls__arrow--left {
  left: 10px;
}

@media (min-width: 1440px) {
  .carousel-controls__arrow--left {
    left: calc(-80px / 2);
  }
}

.carousel-controls__arrow--left::after {
  content: "keyboard_arrow_left";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 34px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  color: #d9121f;
}

@media (min-width: 1440px) {
  .carousel-controls__arrow--left::after {
    font-size: 48px;
  }
}

@media (min-width: 1440px) {
  .carousel--peekaboo .carousel-controls__arrow--left {
    left: calc((-80px / 2) + 100px);
  }
}

.carousel-controls__arrow--right {
  right: 10px;
}

@media (min-width: 1440px) {
  .carousel-controls__arrow--right {
    right: calc(-80px / 2);
  }
}

.carousel-controls__arrow--right::after {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 34px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  color: #d9121f;
}

@media (min-width: 1440px) {
  .carousel-controls__arrow--right::after {
    font-size: 48px;
  }
}

@media (min-width: 1440px) {
  .carousel--peekaboo .carousel-controls__arrow--right {
    right: calc((-80px / 2) + 100px);
  }
}

@media (min-width: 1440px) {
  .carousel--peekaboo {
    position: relative;
  }
  .carousel--peekaboo::before {
    position: absolute;
    top: 0;
    left: -8px;
    height: 100%;
    width: 108px;
    background: linear-gradient(to right, var(--carousel-bg-colour) 0%, rgba(var(--carousel-bg-colour-red), var(--carousel-bg-colour-green), var(--carousel-bg-colour-blue), 0%) 75%, rgba(var(--carousel-bg-colour-red), var(--carousel-bg-colour-green), var(--carousel-bg-colour-blue), 0%) 100%);
    z-index: 2;
    content: '';
  }
  .carousel--peekaboo::after {
    position: absolute;
    top: 0;
    right: -8px;
    height: 100%;
    width: 108px;
    background: linear-gradient(to left, var(--carousel-bg-colour) 0%, rgba(var(--carousel-bg-colour-red), var(--carousel-bg-colour-green), var(--carousel-bg-colour-blue), 0%) 75%, rgba(var(--carousel-bg-colour-red), var(--carousel-bg-colour-green), var(--carousel-bg-colour-blue), 0%) 100%);
    z-index: 2;
    content: '';
  }
}

.comment {
  display: flex;
  flex-direction: column;
  padding: 24px 16px;
}

@media (min-width: 768px) {
  .comment {
    padding: 16px 40px;
  }
}

.comment:not(.comment--nested) {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
}

.comment--nested {
  display: none;
}

@media (min-width: 768px) {
  .comment--nested {
    display: flex;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }
}

.is-expanded .comment--nested {
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.is-expanded .comment--nested:not(.comment--nested-multiple) {
  border-left: 2px solid #bcbcbc;
}

@media (min-width: 768px) {
  .is-expanded .comment--nested:not(.comment--nested-multiple) {
    border-left: 0;
  }
}

.comment--nested-multiple {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  border-left: 0;
}

.comment--preview .comment__reply-button,
.comment--preview .comment__actions {
  display: none;
}

.comment--preview .comment__text {
  margin-bottom: 0;
}

.comment__header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .comment__header {
    align-items: center;
    flex-direction: row;
  }
}

.comment__avatar {
  margin-right: 16px;
  margin-bottom: 16px;
  position: relative;
}

@media (min-width: 768px) {
  .comment__avatar {
    margin-bottom: 0;
  }
}

.comment--nested .comment__avatar::before {
  content: '';
  position: absolute;
  width: 16px;
  border-bottom: 1px solid #bcbcbc;
  left: -16px;
  top: 50%;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .comment--nested .comment__avatar::before {
    width: 40px;
    left: -40px;
  }
}

.comment__metadata {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 992px) {
  .comment__metadata {
    flex-grow: 1;
  }
}

@media (min-width: 768px) {
  .comment__metadata {
    align-items: center;
    flex-direction: row;
  }
}

.comment__user-metadata {
  display: none;
}

@media (min-width: 992px) {
  .comment__user-metadata {
    display: block;
  }
}

.comment__actions {
  display: inline-flex;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .comment__actions {
    justify-content: flex-end;
  }
}

@media (min-width: 768px) {
  .comment__body {
    margin-left: 54px;
  }
}

.comment__timestamps {
  display: flex;
  flex-direction: column;
}

@media (min-width: 480px) {
  .comment__timestamps {
    flex-direction: row;
  }
}

.comment__datetime {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #1d1d1b;
  display: block;
  margin-bottom: 16px;
  margin-right: 16px;
}

.comment__text {
  font-size: 18px;
  font-weight: 400;
  font-family: "Roboto", Arial, sans-serif;
  margin-bottom: 40px;
}

.comment__reply-button {
  display: inline-flex;
  margin-bottom: var(--small-spacing);
}

.comment__reply-button::before {
  content: "reply";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 14px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  margin-right: 8px;
}

.comment__replies {
  display: flex;
  flex-direction: column;
}

.comment__replies-divider {
  display: block;
  width: 100%;
  height: 1px;
  color: #bcbcbc;
  background-color: #bcbcbc;
}

@media (min-width: 768px) {
  .comment__replies-divider {
    margin-left: 34px;
  }
}

.comment__toggle-replies {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  padding-left: 16px;
  padding-right: 16px;
  text-align: left;
  display: block;
  position: relative;
}

@media (min-width: 768px) {
  .comment__toggle-replies {
    display: none;
  }
}

.comment__toggle-replies::after {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.is-expanded .comment__toggle-replies::after {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

@media (min-width: 768px) {
  .comment--has-replies .comment__body-container {
    border-left: 2px solid #bcbcbc;
    margin-left: 18px;
  }
  .comment--has-replies .comment__body-container .comment__body {
    margin-left: 34px;
  }
  .comment--nested .comment__body-container {
    border-left: none;
    margin-left: 0;
  }
  .comment--nested .comment__body-container .comment__body {
    margin-left: 54px;
  }
}

.add-comment {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 24px 16px;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .add-comment {
    padding: 16px 40px;
  }
}

.add-comment.is-pending {
  opacity: 0.5;
}

.add-comment.is-reply {
  padding: 0;
  margin-left: 0;
}

@media (min-width: 768px) {
  .add-comment.is-reply {
    margin-left: 34px;
  }
}

.add-comment:not(.is-reply) {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
}

.add-comment__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 24px;
}

.add-comment__body {
  margin-bottom: 24px;
}

.add-comment__controls {
  display: flex;
  flex-direction: column;
}

@media (min-width: 480px) {
  .add-comment__controls {
    flex-direction: row;
  }
}

.add-comment__submit {
  width: 100%;
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .add-comment__submit {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 0;
  }
}

.add-comment__cancel {
  text-decoration: underline;
}

@media (min-width: 481px) {
  .add-comment__cancel {
    margin-left: 24px;
  }
}

.add-comment__loading-indicator {
  display: none;
}

.is-pending .add-comment__loading-indicator {
  position: absolute;
  top: 65px;
  left: 0;
  display: block;
}

.is-reply .add-comment__loading-indicator {
  top: 0;
}

.o-comment-section-header {
  padding: 24px 16px;
  text-align: center;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .o-comment-section-header {
    padding: 16px 40px;
    text-align: left;
  }
}

.comment-report {
  display: inline-flex;
  position: relative;
}

.comment-report__tooltip {
  top: 54px;
  left: -150px;
  width: unset;
  box-shadow: 0 10px 10px 0 rgba(74, 78, 87, 0.2);
  border-top: 1px solid rgba(74, 78, 87, 0.1);
}

@media (min-width: 768px) {
  .comment-report__tooltip {
    left: -100%;
  }
}

.comment-report__tooltip::before, .comment-report__tooltip::after {
  display: none;
}

.comment-report__tooltip-link {
  white-space: pre;
  text-align: center;
}

.content-header {
  display: flex;
  flex-direction: column;
}

.content-header__title-container,
.content-header__meta {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .content-header__title-container,
  .content-header__meta {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 0;
  }
}

.content-header__title {
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .content-header__title {
    margin-right: 56px;
  }
}

.content-header__follow {
  flex: 1 0 auto;
}

@media (min-width: 768px) {
  .content-header__follow {
    width: 100%;
    max-width: 200px;
    align-self: baseline;
  }
}

.content-header__publish-info {
  display: flex;
  align-items: center;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .content-header__publish-info {
    margin-bottom: 0;
  }
}

.content-header__author {
  margin-right: 16px;
}

.content-header__date {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #1d1d1b;
}

.content-footer {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .content-footer {
    flex-direction: row;
  }
}

.content-footer__actions {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .content-footer__actions {
    flex-direction: row;
    align-items: flex-end;
  }
}

.content-footer__addthis {
  margin-bottom: 34px;
}

@media (min-width: 768px) {
  .content-footer__addthis {
    margin-bottom: 0;
  }
}

.content-footer__action {
  margin-right: 0;
}

@media (min-width: 768px) {
  .content-footer__action {
    margin-right: 8px;
  }
}

.expandable-item {
  color: #1d1d1b;
  border-bottom: 1px solid rgba(74, 78, 87, 0.2);
  padding-top: 8px;
  padding-bottom: 8px;
}

.expandable-item__handle {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  position: relative;
  padding-right: 24px;
}

.expandable-item__handle::after {
  content: "add";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  color: #d9121f;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.expandable-item[open] .expandable-item__handle::after {
  content: "remove";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.expandable-item__drawer {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-top: 8px;
}

.js-details-not-supported .expandable-item__drawer {
  display: none;
}

.js-details-not-supported[open] .expandable-item__drawer {
  display: block;
}

.language-selector {
  position: relative;
}

.language-selector__list {
  background: #1d1d1b;
  position: absolute;
  bottom: 32px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  width: 100%;
  border-radius: 5px;
  box-shadow: 2px 2px 27px 0 rgba(29, 29, 27, 0.7);
  right: 0;
  z-index: 15;
  display: none;
  color: #ffffff;
}

@media (min-width: 768px) {
  .language-selector__list {
    min-width: 128px;
  }
}

.language-selector__list::before, .language-selector__list::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  left: 5%;
  transform: translateX(-10%);
}

@media (min-width: 768px) {
  .language-selector__list::before, .language-selector__list::after {
    left: 70%;
    transform: translateX(-70%);
  }
}

.language-selector__list::before {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #1d1d1b;
  z-index: 2;
  bottom: -5px;
}

.language-selector__list::after {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid rgba(225, 225, 225, 0.5);
  z-index: 1;
  bottom: -6px;
}

.is-dropdown-open .language-selector__list {
  display: block;
  -webkit-animation: raiseIn 0.2s ease-in both;
          animation: raiseIn 0.2s ease-in both;
}

@-webkit-keyframes raiseIn {
  from {
    opacity: 0;
    transform: translate3d(0, 0%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, -2%, 0);
  }
}

@keyframes raiseIn {
  from {
    opacity: 0;
    transform: translate3d(0, 0%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, -2%, 0);
  }
}

.language-selector__item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}

.language-selector__item:hover {
  background: rgba(188, 188, 188, 0.1);
}

.language-selector__link {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 8px 12px;
}

.language-selector__link:hover {
  color: #ffffff;
}

.language-selector__flag {
  margin-right: 22px;
  width: 16px;
  height: 16px;
}

.active-language {
  color: #ffffff;
  display: flex;
  align-items: center;
}

.active-language::after {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-dropdown-open .active-language::after {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.active-language__flag {
  width: 16px;
  height: 16px;
}

.active-language__flag,
.active-language__label {
  pointer-events: none;
  margin-right: 6px;
}

.w-footer {
  width: 100%;
  padding: 0 var(--gutter);
  background: #1d1d1b;
}

.footer {
  width: 100%;
  max-width: 1244px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 24px;
  padding-bottom: 24px;
  color: #ffffff;
  font-size: 12px;
  align-items: center;
}

.footer__separator {
  height: 1px;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 12px;
  background-color: rgba(255, 255, 255, 0.2);
}

@media (min-width: 768px) {
  .footer__branding {
    display: inline-flex;
  }
}

.footer__ds-logo {
  margin-right: 16px;
}

.footer__ds-logo > svg {
  height: 20px;
}

.footer__partners {
  display: flex;
  align-items: center;
  margin-bottom: 22px;
}

@media (min-width: 768px) {
  .footer__partners {
    margin-bottom: 0;
  }
}

.footer__partners svg {
  height: 20px;
  margin-right: 4px;
}

.footer__partners a:first-child {
  margin-left: 12px;
}

.footer__language-selector {
  width: 100%;
}

@media (min-width: 768px) {
  .footer__language-selector {
    width: auto;
  }
}

.footer__nav-link {
  position: relative;
  display: inline-block;
  margin: 0;
}

.footer__nav-link > a {
  color: #ffffff;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 12px;
  display: inline-block;
}

.footer__nav-link:not(:last-child)::after {
  padding-right: 12px;
  content: '|';
}

.footer__social-icons {
  height: 16px;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  display: flex;
  font-weight: 700;
}

.footer__social-icons svg {
  margin-left: 16px;
  height: 16px;
}

.footer__social-icons svg > path {
  fill: #ffffff;
}

.w-header {
  width: 100%;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  background-color: #ffffff;
  box-shadow: 0 2px 30px 0 rgba(188, 188, 188, 0.38);
  position: -webkit-sticky;
  position: sticky;
  z-index: 10;
  top: 0;
}

.w-header.nav-is-open {
  position: fixed;
  z-index: 20;
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100%;
}

.header {
  width: 100%;
  max-width: 1244px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 8px;
  padding-bottom: 8px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.header__logo > img {
  height: 40px;
}

@media (min-width: 600px) {
  .header__logo > img {
    height: 24px;
  }
}

.header__icons {
  display: flex;
}

@media (min-width: 480px) {
  .header__nav-button {
    margin-left: 24px;
  }
}

.header__full-width-search {
  flex-basis: 100%;
  opacity: 1;
}

.is-scrolled .header__full-width-search {
  opacity: 0;
  height: 0;
}

.header__nav {
  display: none;
  flex-basis: 100%;
  margin-top: 8px;
  padding-bottom: 8px;
}

.nav-is-open .header__nav {
  display: block;
  overflow: auto;
  /*
            16px: header top padding
            40px: header height
            40px: full width search height
            8px: nav top margin
         */
  height: calc(100vh - (16px + 40px + 40px + 8px));
}

@media (min-width: 768px) {
  .nav-is-open .header__nav {
    height: calc(100vh - (16px + 40px + 8px));
  }
}

.header-icon {
  min-width: 48px;
  position: relative;
  display: flex;
  flex-direction: column;
  margin-left: 8px;
  align-items: center;
  color: #4a4e57;
  text-align: center;
}

@media (min-width: 480px) {
  .header-icon {
    margin-left: 16px;
  }
}

@media (min-width: 768px) {
  .header-icon {
    margin: 0 10px;
  }
}

.header-icon:hover {
  color: #d9121f;
}

.header-icon--search-toggle {
  display: none;
}

@media (min-width: 480px) {
  .header-icon--search-toggle {
    display: inherit;
  }
}

.header-icon--search-toggle:hover {
  color: #d9121f;
}

.header-icon--basket {
  display: none;
}

.header-icon--basket.has-items {
  display: inherit;
}

.header-icon--contribute {
  display: none;
}

@media (min-width: 340px) {
  .header-icon--contribute {
    display: flex;
  }
}

.header-icon__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-block;
  pointer-events: none;
  display: inherit;
  vertical-align: center;
}

.header-icon__icon > svg {
  width: 24px;
  height: 24px;
  fill: #4a4e57;
}

.header-icon__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #4a4e57;
  pointer-events: none;
  display: inherit;
}

.header-icon:hover .header-icon__label {
  color: #d9121f;
}

.header-icon__notification {
  width: 20px;
  height: 20px;
  top: -8px;
  right: 4px;
  position: absolute;
  display: none;
  pointer-events: none;
  color: #d9121f;
  text-shadow: 2px 2px 4px rgba(29, 29, 27, 0.5);
}

.has-notifications .header-icon__notification {
  display: block;
}

.header-icon__counter {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 16px;
  min-height: 16px;
  display: block;
  padding-left: 6px;
  padding-right: 6px;
  border-radius: 999em;
  font-weight: 700;
  font-family: "Roboto", Arial, sans-serif;
  background: #d9121f;
  color: #ffffff;
}

.nav-button {
  display: flex;
  flex-direction: column;
  margin-left: 12px;
  cursor: pointer;
  align-items: center;
}

.nav-button:hover .nav-button__icon {
  background-color: #d9121f;
}

.nav-button__icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #1d1d1b;
  box-shadow: 0 2px 7px 0 rgba(29, 29, 27, 0.27);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.nav-button__burger,
.nav-button__burger::before,
.nav-button__burger::after {
  width: 12px;
  height: 1px;
  content: '';
  display: block;
  background-color: #ffffff;
  transition: 0.4s;
  pointer-events: none;
}

.nav-button__burger::before {
  position: absolute;
  bottom: 3px;
}

.nav-is-open .nav-button__burger::before {
  transform: rotate(-45deg) translate(-2px, 2px);
}

.nav-button__burger {
  position: relative;
}

.nav-is-open .nav-button__burger {
  background-color: transparent;
}

.nav-button__burger::after {
  position: absolute;
  bottom: -3px;
}

.nav-is-open .nav-button__burger::after {
  transform: rotate(45deg) translate(-2px, -2px);
}

.expanding-search {
  justify-content: flex-end;
  border-bottom: none;
  max-height: 36px;
}

@media (max-width: 767px) {
  .expanding-search {
    display: none;
  }
}

.expanding-search:focus-within {
  transition: border 0.2s;
  border-bottom: 1px solid #4a4e57;
}

.expanding-search__label {
  color: #4a4e57;
}

.expanding-search__label > span {
  opacity: 1;
  transition: opacity 0.2s;
}

.expanding-search__input {
  order: 2;
  width: 0;
  transition: width 0.2s, opacity 0.2s;
  max-height: 24px;
}

.expanding-search__input.has-content {
  width: 200px;
}

.expanding-search__input.has-content ~ .expanding-search__label span {
  opacity: 0;
}

.expanding-search__input.has-content ~ .expanding-search__reset {
  display: inline-block;
}

.expanding-search__input:focus {
  width: 200px;
}

.expanding-search__input:focus ~ .expanding-search__label span {
  opacity: 0;
}

.expanding-search__reset {
  margin-bottom: 12px;
}

.full-width-search {
  margin-top: 16px;
  width: 100%;
  position: relative;
  border-bottom: 1px solid #4a4e57;
}

@media (min-width: 768px) {
  .full-width-search {
    display: none;
  }
}

.full-width-search__label > span {
  opacity: 0;
  position: absolute;
}

.header-search {
  display: flex;
  position: relative;
}

.header-search__label {
  order: 1;
  text-align: center;
  color: rgba(74, 78, 87, 0.45);
  font-size: 12px;
  line-height: 16px;
}

.header-search__label:hover {
  color: #d9121f;
}

.header-search__label:hover::before {
  color: #d9121f;
}

.header-search__label::before {
  content: "search";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #4a4e57;
  display: block;
}

.header-search__input {
  font-size: 14px;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  line-height: 20px;
  width: 100%;
  padding-right: 8px;
  padding-left: 8px;
  order: 2;
}

.header-search__input.has-content {
  padding-right: 32px;
}

.header-search__input.has-content ~ .header-search__reset {
  display: inline-block;
}

.header-search__input::-webkit-input-placeholder {
  font-size: 12px;
  color: #4a4e57;
}

.header-search__input::-moz-placeholder {
  font-size: 12px;
  color: #4a4e57;
}

.header-search__input:-ms-input-placeholder {
  font-size: 12px;
  color: #4a4e57;
}

.header-search__input::-ms-input-placeholder {
  font-size: 12px;
  color: #4a4e57;
}

.header-search__input::placeholder {
  font-size: 12px;
  color: #4a4e57;
}

@supports (-webkit-overflow-scrolling: touch) {
  .header-search__input {
    font-size: 16px;
    transform: scale(0.75);
    transform-origin: left;
    height: calc(24px / 0.75);
  }
}

.header-search__reset {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  padding: 4px;
}

.header-search__reset::after {
  content: "close";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  display: block;
  color: rgba(74, 78, 87, 0.45);
}

.expanding-search {
  justify-content: flex-end;
  border-bottom: none;
  max-height: 36px;
}

@media (max-width: 767px) {
  .expanding-search {
    display: none;
  }
}

.expanding-search:focus-within {
  transition: border 0.2s;
  border-bottom: 1px solid #4a4e57;
}

.expanding-search__label {
  color: #4a4e57;
}

.expanding-search__label > span {
  opacity: 1;
  transition: opacity 0.2s;
}

.expanding-search__input {
  order: 2;
  width: 0;
  transition: width 0.2s, opacity 0.2s;
  max-height: 24px;
}

.expanding-search__input.has-content {
  width: 200px;
}

.expanding-search__input.has-content ~ .expanding-search__label span {
  opacity: 0;
}

.expanding-search__input.has-content ~ .expanding-search__reset {
  display: inline-block;
}

.expanding-search__input:focus {
  width: 200px;
}

.expanding-search__input:focus ~ .expanding-search__label span {
  opacity: 0;
}

.expanding-search__reset {
  margin-bottom: 12px;
}

.full-width-search {
  margin-top: 16px;
  width: 100%;
  position: relative;
  border-bottom: 1px solid #4a4e57;
}

@media (min-width: 768px) {
  .full-width-search {
    display: none;
  }
}

.full-width-search__label > span {
  opacity: 0;
  position: absolute;
}

.w-dropdown-menu-list {
  --dropdown-top-margin: 48px;
}

@media (min-width: 768px) {
  .w-dropdown-menu-list {
    --dropdown-top-margin: 20px;
    position: relative;
  }
}

.is-scrolled .w-dropdown-menu-list {
  --dropdown-top-margin: 8px;
}

@media (min-width: 768px) {
  .is-scrolled .w-dropdown-menu-list {
    --dropdown-top-margin: 20px;
    position: relative;
  }
}

.dropdown-menu-list__item--separator {
  border-bottom: 1px solid rgba(74, 78, 87, 0.1);
}

.site-nav {
  max-width: 900px;
  margin: 0 auto;
}

.site-nav__categories {
  display: flex;
  flex-flow: row wrap;
}

.site-nav__category {
  width: 100%;
}

@media (min-width: 768px) {
  .site-nav__category {
    width: 33.333%;
    padding: 16px;
  }
}

.site-nav-category {
  color: #4a4e57;
  border-bottom: 1px solid #f7f7f7;
}

@media (min-width: 768px) {
  .site-nav-category {
    border: none;
  }
}

.site-nav-category__heading {
  position: relative;
  padding-top: 16px;
  display: block;
}

@media (min-width: 768px) {
  .site-nav-category__heading {
    border-bottom: 0;
    padding-bottom: 12px;
  }
}

.site-nav-category__link {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .site-nav-category__link::after {
    content: "add";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
    speak: none;
    color: #d9121f;
    margin-left: 8px;
  }
  .is-expanded .site-nav-category__link::after {
    content: "remove";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
  }
}

@media (min-width: 768px) {
  .site-nav-category__link {
    justify-content: flex-start;
  }
  .site-nav-category__link::after {
    content: "keyboard_arrow_right";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
    speak: none;
    color: #d9121f;
    margin-left: 8px;
  }
}

.site-nav-category__link--small {
  display: flex;
  color: inherit;
  width: 100%;
}

@media (min-width: 768px) {
  .site-nav-category__link--small {
    display: none;
  }
}

.site-nav-category__link--large {
  display: none;
}

@media (min-width: 768px) {
  .site-nav-category__link--large {
    display: flex;
  }
}

.site-nav-category__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  line-height: 24px;
  position: relative;
}

@media (min-width: 768px) {
  .site-nav-category__title::before {
    content: '';
    width: 0;
    position: absolute;
    background-color: #d9121f;
    transition: width 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    z-index: -1;
    height: 2px;
    bottom: 0;
    left: 0;
  }
  .site-nav-category__link:hover .site-nav-category__title {
    color: #d9121f;
    transition: color 0.5s ease;
  }
  .site-nav-category__link:hover .site-nav-category__title::before {
    width: 100%;
  }
}

.site-nav-category__description {
  font-size: 12px;
  font-style: italic;
  line-height: 18px;
  margin-bottom: 24px;
  max-width: 260px;
}

@media (min-width: 768px) {
  .site-nav-category__description {
    margin-bottom: 0;
    max-width: none;
  }
}

.site-nav-category__items {
  display: none;
}

@media (min-width: 768px) {
  .site-nav-category__items {
    display: block;
  }
}

.is-expanded .site-nav-category__items {
  display: block;
  -webkit-animation: fadeIn 0.3s ease-in both;
          animation: fadeIn 0.3s ease-in both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, -2%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate3d(0, -2%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (min-width: 768px) {
  .site-nav-item--small-screen-only {
    display: none;
  }
}

.site-nav-item__link {
  display: flex;
  justify-content: space-between;
  padding-top: 8px;
  padding-bottom: 8px;
}

.site-nav-item__link::after {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  color: #d9121f;
  margin-left: 8px;
}

.site-nav-item__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  color: #4a4e57;
  position: relative;
}

@media (min-width: 768px) {
  .site-nav-item__title::before {
    content: '';
    width: 0;
    position: absolute;
    background-color: #d9121f;
    transition: width 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
    z-index: -1;
    height: 2px;
    bottom: 0;
    left: 0;
  }
  .site-nav-item__link:hover .site-nav-item__title {
    color: #d9121f;
    transition: color 0.5s ease;
  }
  .site-nav-item__link:hover .site-nav-item__title::before {
    width: 100%;
  }
}

.site-nav-footer {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  flex-flow: column;
}

@media (min-width: 768px) {
  .site-nav-footer {
    max-width: 1244px;
    margin: 0 auto;
    flex-flow: row;
  }
}

@media (min-width: 768px) {
  .site-nav-footer__links {
    display: inline;
  }
}

.site-nav-footer__link {
  position: relative;
  display: inline-block;
  margin: 0;
}

.site-nav-footer__link > a {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 12px;
  display: inline-block;
}

.site-nav-footer__link:not(:last-child)::after {
  padding-right: 12px;
  content: '|';
}

.site-nav-footer__social-icons {
  display: inline-flex;
  align-items: center;
}

@media (min-width: 768px) {
  .site-nav-footer__social-icons {
    white-space: nowrap;
    margin-left: 12px;
  }
}

.site-nav-footer__social-icon {
  margin: 0 8px;
}

.site-nav-footer__social-icon svg {
  max-width: 16px;
  height: 20px;
}

.hero {
  min-height: 460px;
  height: 100%;
  position: relative;
  padding-top: 32px;
  padding-bottom: 104px;
  display: flex;
  flex-direction: column;
  align-items: baseline;
  overflow: hidden;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.t-discover .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Discover_479px_small.1c3a957a.png);
}

@media (min-width: 480px) {
  .t-discover .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Discover_767x460_medium_small.c0d3dc22.png);
  }
}

@media (min-width: 768px) {
  .t-discover .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Discover_991x460_medium.47e7c7e6.png);
  }
}

@media (min-width: 992px) {
  .t-discover .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Discover_1244x460_medium_large.5305ad9e.png);
  }
}

@media (min-width: 1440px) {
  .t-discover .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Discover_1244x460_large.ff62650a.png);
  }
}

.t-forum .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Forum_479px_small.b2bd1ecd.png);
}

@media (min-width: 480px) {
  .t-forum .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Forum_767x460_medium_small.59306283.png);
  }
}

@media (min-width: 768px) {
  .t-forum .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Forum_991x460_medium.092b907e.png);
  }
}

@media (min-width: 992px) {
  .t-forum .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Forum_1244x460_medium_large.876eeab0.png);
  }
}

@media (min-width: 1440px) {
  .t-forum .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Forum_1244x460_large.4e2b77d1.png);
  }
}

.t-home .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Home_50_479px_small.ab11f508.png);
}

@media (min-width: 480px) {
  .t-home .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Home_50_767x460_medium_small.f31fce6e.png);
  }
}

@media (min-width: 768px) {
  .t-home .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Home_50_991x460_medium.612f87b0.png);
  }
}

@media (min-width: 992px) {
  .t-home .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Home_50_1244x460_medium_large.197734f3.png);
  }
}

@media (min-width: 1440px) {
  .t-home .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Home_50_1244x460_large.3d5d0c3f.png);
  }
}

.t-learn .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Learn_479px_small.f1f88fbc.png);
}

@media (min-width: 480px) {
  .t-learn .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Learn_767x460_medium_small.f3ad484c.png);
  }
}

@media (min-width: 768px) {
  .t-learn .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Learn_991x460_medium.1b3c028e.png);
  }
}

@media (min-width: 992px) {
  .t-learn .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Learn_1244x460_medium_large.e7259497.png);
  }
}

@media (min-width: 1440px) {
  .t-learn .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Learn_1244x460_large.149fb46d.png);
  }
}

.t-resources .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Resources_479px_small.352216fd.png);
}

@media (min-width: 480px) {
  .t-resources .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Resources_767x460_medium_small.e51661ad.png);
  }
}

@media (min-width: 768px) {
  .t-resources .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Resources_991x460_medium.633fe379.png);
  }
}

@media (min-width: 992px) {
  .t-resources .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Resources_1244x460_medium_large.2bb4aaba.png);
  }
}

@media (min-width: 1440px) {
  .t-resources .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Resources_1244x460_large.d28ced1c.png);
  }
}

.t-services .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Services_479px_small.031e9021.png);
}

@media (min-width: 480px) {
  .t-services .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Services_767x460_medium_small.a1e5f742.png);
  }
}

@media (min-width: 768px) {
  .t-services .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Services_991x460_medium.c2a39a43.png);
  }
}

@media (min-width: 992px) {
  .t-services .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Services_1244x460_medium_large.bc062f11.png);
  }
}

@media (min-width: 1440px) {
  .t-services .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Services_1244x460_large.b5737357.png);
  }
}

.t-software .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/Software_479px_small.bf8bb6bc.png);
}

@media (min-width: 480px) {
  .t-software .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Software_767x460_medium_small.1a40aeff.png);
  }
}

@media (min-width: 768px) {
  .t-software .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Software_991x460_medium.897a7d8e.png);
  }
}

@media (min-width: 992px) {
  .t-software .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Software_1244x460_medium_large.ea93c9a4.png);
  }
}

@media (min-width: 1440px) {
  .t-software .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/Software_1244x460_large.979af4b2.png);
  }
}

.t-software-ds-pcb .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_479px_small.91f725e0.png);
}

@media (min-width: 480px) {
  .t-software-ds-pcb .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_767x460_medium_small.848d1f30.png);
  }
}

@media (min-width: 768px) {
  .t-software-ds-pcb .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_991x460_medium.74a8599d.png);
  }
}

@media (min-width: 992px) {
  .t-software-ds-pcb .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_1244x460_medium_large.b1ef105d.png);
  }
}

@media (min-width: 1440px) {
  .t-software-ds-pcb .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_1244x460_large.b48371c3.png);
  }
}

.t-software-ds-pcb-pro .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_479px_small.248144fb.png);
}

@media (min-width: 480px) {
  .t-software-ds-pcb-pro .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_767x460_medium_small.b0c28810.png);
  }
}

@media (min-width: 768px) {
  .t-software-ds-pcb-pro .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_991x460_medium.f9aa96b4.png);
  }
}

@media (min-width: 992px) {
  .t-software-ds-pcb-pro .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_1244x460_medium_large.972e578b.png);
  }
}

@media (min-width: 1440px) {
  .t-software-ds-pcb-pro .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_1244x460_large.26b37978.png);
  }
}

.t-software-dse .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSE_479px_small.8c77e8e5.png);
}

@media (min-width: 480px) {
  .t-software-dse .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSE_767x460_medium_small.43ded95e.png);
  }
}

@media (min-width: 768px) {
  .t-software-dse .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSE_991x460_medium.7b89742d.png);
  }
}

@media (min-width: 992px) {
  .t-software-dse .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSE_1244x460_medium_large.51fc5a65.png);
  }
}

@media (min-width: 1440px) {
  .t-software-dse .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSE_1244x460_large.a9c30f06.png);
  }
}

.t-software-dsm .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSM_479px_small.4dc8732c.png);
}

@media (min-width: 480px) {
  .t-software-dsm .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSM_767x460_medium_small.5fde8a40.png);
  }
}

@media (min-width: 768px) {
  .t-software-dsm .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSM_991x460_medium.591e5651.png);
  }
}

@media (min-width: 992px) {
  .t-software-dsm .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSM_1244x460_medium_large.595aaa43.png);
  }
}

@media (min-width: 1440px) {
  .t-software-dsm .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DSM_1244x460_large.4f9e7863.png);
  }
}

.t-software-pcb-compare .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_479px_small.aee9431b.png);
}

@media (min-width: 480px) {
  .t-software-pcb-compare .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_767x460_medium_small.e6539c99.png);
  }
}

@media (min-width: 768px) {
  .t-software-pcb-compare .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_991x460_medium.a5d223dc.png);
  }
}

@media (min-width: 992px) {
  .t-software-pcb-compare .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_1244x460_medium_large.6cf3f2c8.png);
  }
}

@media (min-width: 1440px) {
  .t-software-pcb-compare .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_1244x460_large.8f6b52ad.png);
  }
}

.t-software-ds-pcb-v10 .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Nano_479px_small.399d6f59.png);
}

@media (min-width: 480px) {
  .t-software-ds-pcb-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Nano_767x460_medium_small.eeddfba1.png);
  }
}

@media (min-width: 768px) {
  .t-software-ds-pcb-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Nano_991x460_medium.7868ee9e.png);
  }
}

@media (min-width: 992px) {
  .t-software-ds-pcb-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Nano_1244x460_medium_large.a29230c0.png);
  }
}

@media (min-width: 1440px) {
  .t-software-ds-pcb-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Nano_1244x460_large.20327253.png);
  }
}

.t-software-ds-pcb-pro-v10 .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_Nano_479px_small.f663ef5b.png);
}

@media (min-width: 480px) {
  .t-software-ds-pcb-pro-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_Nano_767x460_medium_small.5f4d1d14.png);
  }
}

@media (min-width: 768px) {
  .t-software-ds-pcb-pro-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_Nano_991x460_medium.8c184ff4.png);
  }
}

@media (min-width: 992px) {
  .t-software-ds-pcb-pro-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_Nano_1244x460_medium_large.18e927cc.png);
  }
}

@media (min-width: 1440px) {
  .t-software-ds-pcb-pro-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/DS_PCB_Pro_Nano_1244x460_large.f5f8244e.png);
  }
}

.t-software-pcb-compare-v10 .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_Nano_479px_small.41204974.png);
}

@media (min-width: 480px) {
  .t-software-pcb-compare-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_Nano_767x460_medium_small.01b3eeaa.png);
  }
}

@media (min-width: 768px) {
  .t-software-pcb-compare-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_Nano_991x460_medium.363e7559.png);
  }
}

@media (min-width: 992px) {
  .t-software-pcb-compare-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_Nano_1244x460_medium_large.8467b266.png);
  }
}

@media (min-width: 1440px) {
  .t-software-pcb-compare-v10 .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/PCB_Comparison_Nano_1244x460_large.86c22023.png);
  }
}

.t-grass-roots-education .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/GRE_479px_small.13184de8.png);
}

@media (min-width: 480px) {
  .t-grass-roots-education .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/GRE_767x460_medium_small.f837ad73.png);
  }
}

@media (min-width: 768px) {
  .t-grass-roots-education .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/GRE_991x460_medium.9938ec56.png);
  }
}

@media (min-width: 992px) {
  .t-grass-roots-education .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/GRE_1244x460_medium_large.bd05f50e.png);
  }
}

@media (min-width: 1440px) {
  .t-grass-roots-education .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/GRE_1244x460_large.a2c67ea8.png);
  }
}

.t-student-innovation .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/INNO_479px_small.2b50f9a1.png);
}

@media (min-width: 480px) {
  .t-student-innovation .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/INNO_767x460_medium_small.5a0b13f7.png);
  }
}

@media (min-width: 768px) {
  .t-student-innovation .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/INNO_991x460_medium.79df7310.png);
  }
}

@media (min-width: 992px) {
  .t-student-innovation .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/INNO_1244x460_medium_large.52745721.png);
  }
}

@media (min-width: 1440px) {
  .t-student-innovation .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/INNO_1244x460_large.c04175ac.png);
  }
}

.t-learning-and-skills .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/LAS_479px_small.a179906b.png);
}

@media (min-width: 480px) {
  .t-learning-and-skills .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/LAS_767x460_medium_small.a9c29134.png);
  }
}

@media (min-width: 768px) {
  .t-learning-and-skills .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/LAS_991x460_medium.87fe7a85.png);
  }
}

@media (min-width: 992px) {
  .t-learning-and-skills .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/LAS_1244x460_medium_large.f4d3be1e.png);
  }
}

@media (min-width: 1440px) {
  .t-learning-and-skills .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/LAS_1244x460_large.8d35bb1d.png);
  }
}

.t-opportunities .hero {
  background-image: url(/7d751ad7/1.7.39/images/hero-banners/OPP_479px_small.ce5e1426.png);
}

@media (min-width: 480px) {
  .t-opportunities .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/OPP_767x460_medium_small.728cd0f6.png);
  }
}

@media (min-width: 768px) {
  .t-opportunities .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/OPP_991x460_medium.4c051c80.png);
  }
}

@media (min-width: 992px) {
  .t-opportunities .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/OPP_1244x460_medium_large.2435ebe5.png);
  }
}

@media (min-width: 1440px) {
  .t-opportunities .hero {
    background-image: url(/7d751ad7/1.7.39/images/hero-banners/OPP_1244x460_large.85d0ffbd.png);
  }
}

@media (min-width: 768px) {
  .hero {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

.hero__stats-block {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 992px) {
  .hero__stats-block {
    margin-top: 24px;
  }
}

.hero__stats-block .d-hero__stats-block {
  width: calc(33.33333% - 10.66667px);
}

.hero__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  max-width: 620px;
  display: inline-block;
  margin-bottom: var(--small-spacing);
  letter-spacing: -1.5px;
  color: var(--theme-text-colour);
}

@media (min-width: 768px) {
  .hero__title {
    font-size: 48px;
    line-height: 60px;
  }
}

.hero__title > b {
  color: var(--theme-alt-text-colour);
}

.hero__body {
  max-width: 620px;
  display: inline-block;
}

@media (min-width: 992px) {
  .hero__body {
    padding-right: 48px;
  }
}

.hero__subtitle {
  color: var(--theme-text-colour);
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .hero__subtitle {
    font-family: "Roboto", Arial, sans-serif;
    font-size: 24px;
  }
}

.hero__content {
  width: 100%;
}

@media (min-width: 992px) {
  .hero__content {
    width: 50%;
  }
}

.stats-block {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 24px 8px;
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #edeff1;
}

@media (min-width: 768px) {
  .stats-block {
    align-items: stretch;
    padding: 24px;
  }
}

.stats-block__value {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 20px;
  color: #d9121f;
}

@media (min-width: 768px) {
  .stats-block__value {
    font-size: 38px;
    line-height: 42px;
    margin-bottom: 8px;
  }
}

.stats-block__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 10px;
  line-height: 12px;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .stats-block__label {
    font-size: 14px;
    line-height: 20px;
  }
}

.redeem-badge {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.redeem-badge__body {
  width: 100%;
  max-width: 680px;
}

.redeem-badge__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 28px;
  line-height: 32px;
  color: #4a4e57;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .redeem-badge__title {
    font-size: 36px;
    line-height: 44px;
  }
}

.redeem-badge__text {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: #4a4e57;
  margin-top: var(--small-spacing);
}

@media (min-width: 768px) {
  .redeem-badge__text {
    font-size: 16px;
    line-height: 22px;
  }
}

.redeem-form {
  display: flex;
}

.redeem-badge__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #1d1d1b;
  width: 100%;
}

.redeem-badge__input {
  flex: 1;
  padding-right: 8px;
  padding-left: 8px;
  border-top: 2px solid #4a4e57;
  border-bottom: 2px solid #4a4e57;
  border-left: 2px solid #4a4e57;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  font-size: 14px;
}

.redeem-badge__input:invalid {
  border: 2px solid #d9121f;
}

.redeem-badge__submit {
  vertical-align: middle;
  border-radius: 0 3px 3px 0;
}

.redeem-badge__image {
  display: none;
}

@media (min-width: 768px) {
  .redeem-badge__image {
    min-width: 30%;
    display: block;
  }
}

.cta {
  text-align: center;
  padding: 56px 16px;
  background-color: #4a4e57;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMjAiIGhlaWdodD0iNjIwIiB2aWV3Qm94PSIwIDAgMzIwIDYyMCI+CiAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQgLTUwKSI+CiAgICA8cGF0aCBmaWxsPSIjNEE0RTU3IiBkPSJNMTQgNTBoMzQwdjYyMEgxNHoiLz4KICAgIDxjaXJjbGUgY3g9IjMzNCIgY3k9IjEwNiIgcj0iMjAiIGZpbGw9IiMwMDAiIG9wYWNpdHk9Ii4xOTIiLz4KICAgIDxjaXJjbGUgY3g9IjI1IiBjeT0iMjEyIiByPSIyMCIgZmlsbD0iIzAwMCIgb3BhY2l0eT0iLjE5MiIvPgogICAgPGcgc3Ryb2tlPSIjRkZGIiBzdHJva2Utb3BhY2l0eT0iLjIiIHN0cm9rZS13aWR0aD0iOCI+CiAgICAgIDxwYXRoIGQ9Ik0yMDAuODIgMjY2Ljk5MmwyNy42IDMwLjAzNWExMyAxMyAwIDAxMCAxNy41OTNsLTI3LjYgMzAuMDM1Yy00Ljg1OCA1LjI4Ni0xMy4wODIgNS42MzQtMTguMzY4Ljc3NmExMyAxMyAwIDAxLS43NzYtLjc3NmwtMjcuNi0zMC4wMzVhMTMgMTMgMCAwMTAtMTcuNTkzbDI3LjYtMzAuMDM1YzQuODU4LTUuMjg2IDEzLjA4MS01LjYzNCAxOC4zNjgtLjc3NmExMyAxMyAwIDAxLjc3Ni43NzZ6Ii8+CiAgICAgIDxwYXRoIGQ9Ik0xNjYuODIgMjY2Ljk5MmwyNy42IDMwLjAzNWExMyAxMyAwIDAxMCAxNy41OTNsLTI3LjYgMzAuMDM1Yy00Ljg1OCA1LjI4Ni0xMy4wODIgNS42MzQtMTguMzY4Ljc3NmExMyAxMyAwIDAxLS43NzYtLjc3NmwtMjcuNi0zMC4wMzVhMTMgMTMgMCAwMTAtMTcuNTkzbDI3LjYtMzAuMDM1YzQuODU4LTUuMjg2IDEzLjA4MS01LjYzNCAxOC4zNjgtLjc3NmExMyAxMyAwIDAxLjc3Ni43NzZ6Ii8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMiIgc3Ryb2tlLXdpZHRoPSI4Ij4KICAgICAgPHBhdGggZD0iTTIwMC44MiAxMC45OTJsMjcuNiAzMC4wMzVhMTMgMTMgMCAwMTAgMTcuNTkzbC0yNy42IDMwLjAzNWMtNC44NTggNS4yODYtMTMuMDgyIDUuNjM0LTE4LjM2OC43NzZhMTMgMTMgMCAwMS0uNzc2LS43NzZsLTI3LjYtMzAuMDM1YTEzIDEzIDAgMDEwLTE3LjU5M2wyNy42LTMwLjAzNWM0Ljg1OC01LjI4NiAxMy4wODEtNS42MzQgMTguMzY4LS43NzZhMTMgMTMgMCAwMS43NzYuNzc2eiIvPgogICAgICA8cGF0aCBkPSJNMTY2LjgyIDEwLjk5MmwyNy42IDMwLjAzNWExMyAxMyAwIDAxMCAxNy41OTNsLTI3LjYgMzAuMDM1Yy00Ljg1OCA1LjI4Ni0xMy4wODIgNS42MzQtMTguMzY4Ljc3NmExMyAxMyAwIDAxLS43NzYtLjc3NmwtMjcuNi0zMC4wMzVhMTMgMTMgMCAwMTAtMTcuNTkzbDI3LjYtMzAuMDM1YzQuODU4LTUuMjg2IDEzLjA4MS01LjYzNCAxOC4zNjgtLjc3NmExMyAxMyAwIDAxLjc3Ni43NzZ6Ii8+CiAgICA8L2c+CiAgICA8ZyBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMiIgc3Ryb2tlLXdpZHRoPSI4Ij4KICAgICAgPHBhdGggZD0iTTIwMC44MiA1NDEuOTkybDI3LjYgMzAuMDM1YTEzIDEzIDAgMDEwIDE3LjU5M2wtMjcuNiAzMC4wMzVjLTQuODU4IDUuMjg2LTEzLjA4MiA1LjYzNC0xOC4zNjguNzc2YTEzIDEzIDAgMDEtLjc3Ni0uNzc2bC0yNy42LTMwLjAzNWExMyAxMyAwIDAxMC0xNy41OTNsMjcuNi0zMC4wMzVjNC44NTgtNS4yODYgMTMuMDgxLTUuNjM0IDE4LjM2OC0uNzc2YTEzIDEzIDAgMDEuNzc2Ljc3NnoiLz4KICAgICAgPHBhdGggZD0iTTE2Ni44MiA1NDEuOTkybDI3LjYgMzAuMDM1YTEzIDEzIDAgMDEwIDE3LjU5M2wtMjcuNiAzMC4wMzVjLTQuODU4IDUuMjg2LTEzLjA4MiA1LjYzNC0xOC4zNjguNzc2YTEzIDEzIDAgMDEtLjc3Ni0uNzc2bC0yNy42LTMwLjAzNWExMyAxMyAwIDAxMC0xNy41OTNsMjcuNi0zMC4wMzVjNC44NTgtNS4yODYgMTMuMDgxLTUuNjM0IDE4LjM2OC0uNzc2YTEzIDEzIDAgMDEuNzc2Ljc3NnoiLz4KICAgIDwvZz4KICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iMTAwIiByPSIyMCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjgiIG9wYWNpdHk9Ii4xOTIiLz4KICAgIDxjaXJjbGUgY3g9IjMzNCIgY3k9IjIxOCIgcj0iMjAiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI4IiBvcGFjaXR5PSIuMTkyIi8+CiAgICA8ZyBvcGFjaXR5PSIuMTkyIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSAwIDAgMSAzNDkgNDA4KSI+CiAgICAgIDxjaXJjbGUgY3g9IjMyOSIgY3k9IjI2IiByPSIyMCIgZmlsbD0iIzAwMCIvPgogICAgICA8Y2lyY2xlIGN4PSIyMCIgY3k9IjEzMiIgcj0iMjAiIGZpbGw9IiMwMDAiLz4KICAgICAgPGNpcmNsZSBjeD0iNDUiIGN5PSIyMCIgcj0iMjAiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI4Ii8+CiAgICAgIDxjaXJjbGUgY3g9IjMyOSIgY3k9IjEzOCIgcj0iMjAiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI4Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K");
  background-position: center center;
  background-size: cover;
}

@media (min-width: 481px) {
  .cta {
    padding: 46px 20px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSI0NTYiIHZpZXdCb3g9IjAgMCAxNDQwIDQ1NiI+CiAgPGRlZnM+CiAgICA8cGF0aCBpZD0iYSIgZD0iTTAgMGgxNDU2djQ1NkgweiIvPgogIDwvZGVmcz4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPgogICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIi8+CiAgICA8L21hc2s+CiAgICA8dXNlIGZpbGw9IiM0QTRFNTciIHhsaW5rOmhyZWY9IiNhIi8+CiAgICA8Y2lyY2xlIGN4PSIzOTkuNSIgY3k9IjQzNS41IiByPSIyMC41IiBmaWxsPSIjRkZGIiBtYXNrPSJ1cmwoI2IpIiBvcGFjaXR5PSIuMDUyIi8+CiAgICA8ZWxsaXBzZSBjeD0iMTkiIGN5PSI0NTYuNSIgZmlsbD0iI0ZGRiIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjA1MiIgcng9IjE5IiByeT0iMjAuNSIvPgogICAgPGNpcmNsZSBjeD0iMzAyIiBjeT0iMTM2IiByPSIyMCIgZmlsbD0iI0ZGRiIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjA1MiIvPgogICAgPGNpcmNsZSBjeD0iMTM2NSIgY3k9Ijg5LjgxNSIgcj0iMjAiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiIG9wYWNpdHk9Ii4wMzMiLz4KICAgIDxlbGxpcHNlIGN4PSIxMTI4LjUiIGN5PSIzNzkiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI4IiBtYXNrPSJ1cmwoI2IpIiBvcGFjaXR5PSIuMTkyIiByeD0iMTguNSIgcnk9IjE5Ii8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0xMTY5LjEzNSAxODAuNDA0bDM3LjI1NCAxLjU1YTEzIDEzIDAgMDExMi40NDcgMTIuNDMxbDEuNTU4IDM2LjI5NmMuMzA3IDcuMTczLTUuMjU4IDEzLjIzOC0xMi40MzEgMTMuNTQ2YTEzIDEzIDAgMDEtMS4wOTggMGwtMzcuMjU0LTEuNTVhMTMgMTMgMCAwMS0xMi40NDctMTIuNDMxbC0xLjU1OC0zNi4yOTZjLS4zMDctNy4xNzMgNS4yNTgtMTMuMjM4IDEyLjQzMS0xMy41NDZhMTMgMTMgMCAwMTEuMDk4IDB6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAxMTg4IDIxMi4zMTUpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0xMTM4LjEzNCAxODAuNDEzbDM2LjI5NiAxLjUzM2ExMyAxMyAwIDAxMTIuNDQgMTIuNDRsMS41MzMgMzYuMjk1Yy4zMDMgNy4xNzMtNS4yNjcgMTMuMjM0LTEyLjQ0IDEzLjUzN2ExMyAxMyAwIDAxLTEuMDk3IDBsLTM2LjI5Ni0xLjUzM2ExMyAxMyAwIDAxLTEyLjQ0LTEyLjQ0bC0xLjUzMy0zNi4yOTVjLS4zMDMtNy4xNzMgNS4yNjctMTMuMjM0IDEyLjQ0LTEzLjUzN2ExMyAxMyAwIDAxMS4wOTcgMHoiIG1hc2s9InVybCgjYikiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDExNTYuNSAyMTIuMzE1KSIvPgogICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utb3BhY2l0eT0iLjE5OSIgc3Ryb2tlLXdpZHRoPSI4IiBkPSJNODUxLjU5OCAzNDcuNzQ5bDM4LjIxMiAxLjU2NmExMyAxMyAwIDAxMTIuNDU2IDEyLjQyM2wxLjU4IDM2LjI5N2MuMzEzIDcuMTczLTUuMjQ5IDEzLjI0LTEyLjQyMiAxMy41NTNhMTMgMTMgMCAwMS0xLjA5OC4wMDJsLTM4LjIxMi0xLjU2N2ExMyAxMyAwIDAxLTEyLjQ1Ni0xMi40MjNsLTEuNTgtMzYuMjk3Yy0uMzEzLTcuMTczIDUuMjQ5LTEzLjI0IDEyLjQyMi0xMy41NTNhMTMgMTMgMCAwMTEuMDk4LS4wMDF6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSA4NzAuOTYyIDM3OS42NjkpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik02MjIuMTM0IDU4LjQxM2wzNi4yOTYgMS41MzNhMTMgMTMgMCAwMTEyLjQ0IDEyLjQ0bDEuNTMzIDM2LjI5NWMuMzAzIDcuMTczLTUuMjY3IDEzLjIzNC0xMi40NCAxMy41MzdhMTMgMTMgMCAwMS0xLjA5NyAwbC0zNi4yOTYtMS41MzNhMTMgMTMgMCAwMS0xMi40NC0xMi40NGwtMS41MzMtMzYuMjk1Yy0uMzAzLTcuMTczIDUuMjY3LTEzLjIzNCAxMi40NC0xMy41MzdhMTMgMTMgMCAwMTEuMDk3IDB6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSA2NDAuNSA5MC4zMTUpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0yMjkuNTk2IDI0Ny4wNmwzNi4yOTYgMS41MzNhMTMgMTMgMCAwMTEyLjQ0IDEyLjQ0bDEuNTMzIDM2LjI5NGMuMzAzIDcuMTc0LTUuMjY3IDEzLjIzNS0xMi40NCAxMy41MzhhMTMgMTMgMCAwMS0xLjA5OCAwbC0zNi4yOTUtMS41MzRhMTMgMTMgMCAwMS0xMi40NC0xMi40NGwtMS41MzMtMzYuMjk1Yy0uMzAzLTcuMTczIDUuMjY2LTEzLjIzNCAxMi40NC0xMy41MzdhMTMgMTMgMCAwMTEuMDk3IDB6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAyNDcuOTYyIDI3OC45NjIpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik04MjAuNTk2IDM0Ny43NjZsMzYuMjk2IDEuNTM0YTEzIDEzIDAgMDExMi40NCAxMi40NGwxLjUzMyAzNi4yOTVjLjMwMyA3LjE3My01LjI2NyAxMy4yMzQtMTIuNDQgMTMuNTM3YTEzIDEzIDAgMDEtMS4wOTggMGwtMzYuMjk1LTEuNTM0YTEzIDEzIDAgMDEtMTIuNDQtMTIuNDRsLTEuNTMzLTM2LjI5NWMtLjMwMy03LjE3MyA1LjI2Ni0xMy4yMzQgMTIuNDQtMTMuNTM3YTEzIDEzIDAgMDExLjA5NyAweiIgbWFzaz0idXJsKCNiKSIgdHJhbnNmb3JtPSJyb3RhdGUoNDUgODM4Ljk2MiAzNzkuNjY5KSIvPgogICAgPHBhdGggc3Ryb2tlPSIjRkZGIiBzdHJva2Utb3BhY2l0eT0iLjE5OSIgc3Ryb2tlLXdpZHRoPSI4IiBkPSJNNTkwLjEzNSA1OC40MDRsMzcuMjU0IDEuNTVhMTMgMTMgMCAwMTEyLjQ0NyAxMi40MzFsMS41NTggMzYuMjk2Yy4zMDcgNy4xNzMtNS4yNTggMTMuMjM4LTEyLjQzMSAxMy41NDZhMTMgMTMgMCAwMS0xLjA5OCAwbC0zNy4yNTQtMS41NWExMyAxMyAwIDAxLTEyLjQ0Ny0xMi40MzFsLTEuNTU4LTM2LjI5NmMtLjMwNy03LjE3MyA1LjI1OC0xMy4yMzggMTIuNDMxLTEzLjU0NmExMyAxMyAwIDAxMS4wOTggMHoiIG1hc2s9InVybCgjYikiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDYwOSA5MC4zMTUpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0xOTcuNTk2IDI0Ny4wNmwzNi4yOTYgMS41MzNhMTMgMTMgMCAwMTEyLjQ0IDEyLjQ0bDEuNTMzIDM2LjI5NGMuMzAzIDcuMTc0LTUuMjY3IDEzLjIzNS0xMi40NCAxMy41MzhhMTMgMTMgMCAwMS0xLjA5OCAwbC0zNi4yOTUtMS41MzRhMTMgMTMgMCAwMS0xMi40NC0xMi40NGwtMS41MzMtMzYuMjk1Yy0uMzAzLTcuMTczIDUuMjY2LTEzLjIzNCAxMi40NC0xMy41MzdhMTMgMTMgMCAwMTEuMDk3IDB6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAyMTUuOTYyIDI3OC45NjIpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0xNDIzLjU5Ni0zMy45NGwzNi4yOTYgMS41MzNhMTMgMTMgMCAwMTEyLjQ0IDEyLjQ0bDEuNTMzIDM2LjI5NGMuMzAzIDcuMTc0LTUuMjY3IDEzLjIzNS0xMi40NCAxMy41MzhhMTMgMTMgMCAwMS0xLjA5OCAwbC0zNi4yOTUtMS41MzRhMTMgMTMgMCAwMS0xMi40NC0xMi40NGwtMS41MzMtMzYuMjk1Yy0uMzAzLTcuMTczIDUuMjY2LTEzLjIzNCAxMi40NC0xMy41MzdhMTMgMTMgMCAwMTEuMDk3IDB6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAxNDQxLjk2MiAtMi4wMzgpIi8+CiAgICA8cGF0aCBzdHJva2U9IiNGRkYiIHN0cm9rZS1vcGFjaXR5PSIuMTk5IiBzdHJva2Utd2lkdGg9IjgiIGQ9Ik0xMzkxLjU5Ni0zMy45NGwzNi4yOTYgMS41MzNhMTMgMTMgMCAwMTEyLjQ0IDEyLjQ0bDEuNTMzIDM2LjI5NGMuMzAzIDcuMTc0LTUuMjY3IDEzLjIzNS0xMi40NCAxMy41MzhhMTMgMTMgMCAwMS0xLjA5OCAwbC0zNi4yOTUtMS41MzRhMTMgMTMgMCAwMS0xMi40NC0xMi40NGwtMS41MzMtMzYuMjk1Yy0uMzAzLTcuMTczIDUuMjY2LTEzLjIzNCAxMi40NC0xMy41MzdhMTMgMTMgMCAwMTEuMDk3IDB6IiBtYXNrPSJ1cmwoI2IpIiB0cmFuc2Zvcm09InJvdGF0ZSg0NSAxNDA5Ljk2MiAtMi4wMzgpIi8+CiAgICA8ZWxsaXBzZSBjeT0iMTcwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iOCIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjE5MiIgcng9IjE5IiByeT0iMjEiLz4KICAgIDxlbGxpcHNlIGN4PSIzNTYuNSIgY3k9IjYuODE1IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iOCIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjE5MiIgcng9IjE4LjUiIHJ5PSIyMCIvPgogICAgPGNpcmNsZSBjeD0iNTQ0IiBjeT0iMjkyLjgxNSIgcj0iMTkiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSI4IiBtYXNrPSJ1cmwoI2IpIiBvcGFjaXR5PSIuMTkyIi8+CiAgICA8Y2lyY2xlIGN4PSIxNDAyLjUiIGN5PSIyNzguNSIgcj0iMjAuNSIgZmlsbD0iI0ZGRiIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjAzMyIvPgogICAgPGNpcmNsZSBjeD0iODcyLjUiIGN5PSIxNDkuNSIgcj0iMjAuNSIgZmlsbD0iI0ZGRiIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjA1MiIvPgogICAgPGVsbGlwc2UgY3g9IjExNDYuNSIgY3k9IjQ0IiBmaWxsPSIjMDAwIiBtYXNrPSJ1cmwoI2IpIiBvcGFjaXR5PSIuMTkyIiByeD0iMTguNSIgcnk9IjIwIi8+CiAgICA8ZWxsaXBzZSBjeD0iMTguNSIgY3k9IjQ0NiIgZmlsbD0iIzAwMCIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjE5MiIgcng9IjE4LjUiIHJ5PSIyMCIvPgogICAgPGVsbGlwc2UgY3g9IjEzOTYuNSIgY3k9IjQ0NiIgZmlsbD0iIzAwMCIgbWFzaz0idXJsKCNiKSIgb3BhY2l0eT0iLjE5MiIgcng9IjE4LjUiIHJ5PSIyMCIvPgogIDwvZz4KPC9zdmc+Cg==");
    background-repeat: repeat;
  }
}

.cta__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
  color: #ffffff;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .cta__label {
    font-size: 40px;
    line-height: 52px;
  }
}

.w-forum-cta {
  width: 100%;
  background-image: url(/7d751ad7/1.7.39/images/forum-cta/forum-cta-background-small.90b52ea0.png);
  background-color: #f7f7f7;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: var(--content-gap);
  padding: 88px var(--gutter);
}

@media (min-width: 768px) {
  .w-forum-cta {
    background-image: url(/7d751ad7/1.7.39/images/forum-cta/forum-cta-background-large.a616458c.png);
  }
}

.forum-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.forum-cta__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 52px;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .forum-cta__title {
    font-size: 48px;
    line-height: 60px;
  }
}

.forum-cta__body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 16px;
}

.forum-cta__button {
  width: 100%;
}

@media (min-width: 480px) {
  .forum-cta__button {
    max-width: 300px;
  }
}

.s-breadcrumbs {
  width: 100%;
  padding: calc(var(--content-gap) / 8) var(--gutter);
  background-color: var(--theme-alt-bg-colour);
  display: none;
}

@media (min-width: 768px) {
  .s-breadcrumbs {
    display: block;
  }
}

.breadcrumbs {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 4px;
  padding-right: 4px;
  font-size: 12px;
  line-height: 2.5em;
}

.breadcrumbs__item {
  display: inline;
  color: rgba(29, 29, 27, 0.9);
}

.breadcrumbs__item:hover {
  color: #4a4e57;
}

.breadcrumbs__item:last-child {
  font-weight: 700;
  pointer-events: none;
}

.breadcrumbs__item:not(:last-child)::after {
  padding: 0 8px;
  color: rgba(29, 29, 27, 0.65);
  content: '>';
}

.technology-feed {
  padding-top: var(--medium-spacing);
  padding-bottom: var(--medium-spacing);
}

.technology-feed__sort-by {
  width: auto;
  display: block;
  color: #1d1d1b;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .technology-feed__sort-by {
    display: none;
  }
}

@media (max-width: 767px) {
  .technology-feed__filter-bar {
    display: none;
  }
}

@media (min-width: 768px) {
  .technology-feed__filter-drawer {
    display: none;
  }
}

.technology-feed__loading-indicator {
  display: none;
}

.is-loading-cards .technology-feed__loading-indicator {
  display: block;
}

.is-loading-cards .technology-feed__load-more,
.has-all-items .technology-feed__load-more {
  display: none;
}

.technology-feed__contribute-link {
  color: #3244ff;
  font-weight: 700;
}

.technology-feed__contribute-link:hover {
  color: #d9121f;
}

.technology-feed__no-content-message--transient {
  display: none;
}

.forum-listing {
  padding-top: var(--medium-spacing);
  padding-bottom: var(--medium-spacing);
}

.forum-listing__title-bar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px 24px;
  color: #ffffff;
  background-color: #1d1d1b;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 480px) {
  .forum-listing__title-bar {
    flex-direction: row;
    align-items: center;
  }
}

.forum-listing__title {
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .forum-listing__title {
    margin-bottom: 0;
  }
}

.forum-listing__filter {
  margin-bottom: 0;
}

@media (min-width: 480px) {
  .forum-listing__filter {
    max-width: 200px;
  }
}

.forum-listing__loading-indicator {
  display: none;
}

.is-loading-cards .forum-listing__loading-indicator {
  display: block;
}

.forum-listing-group__handle {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  padding: 16px var(--small-spacing);
  border-left: 5px solid var(--theme-bg-colour);
  position: relative;
}

@media (min-width: 768px) {
  .forum-listing-group__handle {
    font-size: 24px;
    line-height: 34px;
  }
}

@media (min-width: 480px) {
  .forum-listing-group__handle {
    border-left-width: 10px;
  }
}

.forum-listing-group__handle::after {
  content: "add";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

@media (min-width: 480px) {
  .forum-listing-group__handle::after {
    font-size: 30px;
  }
}

.forum-listing-group__handle:hover {
  cursor: pointer;
}

.forum-listing-group[open] .forum-listing-group__handle::after {
  content: "remove";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

@media (min-width: 480px) {
  .forum-listing-group[open] .forum-listing-group__handle::after {
    font-size: 30px;
  }
}

.js-details-not-supported .forum-listing-group__drawer {
  display: none;
}

.js-details-not-supported[open] .forum-listing-group__drawer {
  display: block;
}

.filter-drawer {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  background-color: #1d1d1b;
  color: #ffffff;
}

.filter-drawer__drawer {
  align-items: center;
}

.filter-drawer__drawer[open] .filter-drawer__handle::after {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path fill='%23ffffff' d='M8.12 14.71L12 10.83l3.88 3.88c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41L12.7 8.71c-.39-.39-1.02-.39-1.41 0L6.7 13.3c-.39.39-.39 1.02 0 1.41.39.38 1.03.39 1.42 0z'/></svg>");
}

.filter-drawer__handle {
  padding: 22px 20px;
  position: relative;
}

.filter-drawer__handle::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 18px;
  min-width: 24px;
  min-height: 24px;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path fill='%23ffffff' d='M8.12 9.29L12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7c-.39-.39-.39-1.02 0-1.41.39-.38 1.03-.39 1.42 0z'/></svg>");
  background-repeat: no-repeat;
  background-position: right;
}

.filter-drawer__handle::before {
  content: "filter_list";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.filter-drawer__tray {
  background-color: #edeff1;
  color: #1d1d1b;
  display: flex;
  flex-direction: column;
  border-bottom: 2px solid #1d1d1b;
  padding: 16px;
}

.w-filter-bar {
  width: 100%;
  padding: 0 var(--gutter);
  background: #1d1d1b;
}

.filter-bar {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
  align-items: center;
}

.filter-bar__filter {
  padding: 16px 20px;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}

@media hover {
  .filter-bar__filter:hover {
    border-bottom: 2px solid #ffffff;
  }
}

.filter-bar__filter.is-active {
  border-bottom: 2px solid #ffffff;
}

.software-requirements {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  padding: 24px;
  color: #4a4e57;
}

.software-requirements__heading {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 30px;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .software-requirements__heading {
    font-size: 28px;
    line-height: 32px;
  }
}

.software-requirements__list {
  display: flex;
  align-items: center;
  margin-bottom: 48px;
}

.software-requirements__list:last-child {
  margin-bottom: 0;
}

.software-requirements__icon {
  margin-right: 32px;
}

@media (min-width: 768px) {
  .software-requirements__icon svg {
    width: 56px;
    height: 56px;
  }
}

.software-requirements__icon svg {
  width: 45px;
  height: 45px;
}

.software-requirements__body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
}

@media (min-width: 768px) {
  .software-requirements__body {
    font-size: 14px;
    line-height: 20px;
  }
}

.media-carousel {
  position: relative;
}

.media-carousel__slide {
  display: flex;
  justify-content: space-between;
}

.media-carousel__controls {
  position: absolute;
  bottom: 0;
  width: 100%;
}

@media (min-width: 768px) {
  .media-carousel__controls {
    right: 0;
    width: 50%;
  }
}

.media-carousel-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.media-carousel-controls__button {
  background-color: #f1f1f1;
  width: 64px;
  height: 56px;
}

@media (min-width: 768px) {
  .media-carousel-controls__button {
    width: 104px;
    height: 88px;
  }
}

.media-carousel-controls__button:hover {
  background-color: #d9121f;
}

.media-carousel-controls__button--back::before {
  content: "keyboard_arrow_left";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 36px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

@media (min-width: 768px) {
  .media-carousel-controls__button--back::before {
    content: "keyboard_arrow_left";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 56px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
  }
}

.media-carousel-controls__button--forward::before {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 36px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

@media (min-width: 768px) {
  .media-carousel-controls__button--forward::before {
    content: "keyboard_arrow_right";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 56px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
  }
}

.media-carousel-controls__counter {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  color: #4a4e57;
  display: inline-flex;
}

.media-slide {
  opacity: 0;
  position: absolute;
  color: #4a4e57;
  pointer-events: none;
  top: 0;
}

.media-slide.is-current {
  opacity: 1;
  position: relative;
  pointer-events: auto;
}

.media-slide__image {
  display: none;
}

@media (min-width: 768px) {
  .media-slide__image {
    width: 50%;
    display: block;
  }
}

.media-slide__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 30px;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .media-slide__title {
    font-size: 28px;
    line-height: 32px;
  }
}

.media-slide__subtitle {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-bottom: var(--small-spacing);
}

.media-slide__body_text p {
  margin-bottom: 16px;
}

.media-slide__body_text a {
  font-weight: 700;
}

.media-slide__body_text a:hover {
  color: #d9121f;
}

.media-slide__body {
  padding: 16px 16px 96px;
}

@media (min-width: 768px) {
  .media-slide__body {
    width: 50%;
  }
}

.avatar {
  display: flex;
  align-items: center;
}

.avatar:hover .avatar__username {
  color: #d9121f;
}

.avatar--large-username .avatar__username {
  font-size: 18px;
}

.avatar__image {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-block;
}

.avatar__image > svg {
  width: 38px;
  height: 38px;
  fill: #4a4e57;
}

.avatar__username {
  margin-left: 16px;
  font-size: 14px;
  font-weight: 700;
  color: #3244ff;
}

.user-metadata {
  display: flex;
  margin-bottom: 34px;
}

@media (min-width: 768px) {
  .user-metadata {
    justify-content: flex-start;
    margin-bottom: 0;
  }
}

.user-metadata__set {
  display: flex;
  font-size: 14px;
  font-weight: 700;
  flex-direction: column;
  margin-right: 16px;
  text-align: center;
}

@media (min-width: 480px) {
  .user-metadata__set {
    flex-direction: row;
  }
  .user-metadata__set .user-metadata__value {
    margin-right: 4px;
  }
}

@media (min-width: 768px) {
  .user-metadata__set--reversed {
    flex-direction: row-reverse;
  }
  .user-metadata__set--reversed .user-metadata__value {
    margin-right: 0;
  }
  .user-metadata__set--reversed .user-metadata__term {
    margin-right: 4px;
  }
}

.user-metadata__value {
  color: #d9121f;
}

.user-metadata__term {
  color: #4a4e57;
}

.forum-content {
  display: flex;
  flex-direction: column;
  padding: 24px 16px;
}

@media (min-width: 768px) {
  .forum-content {
    border-radius: 3px;
    box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
    padding: 16px 40px;
  }
}

.forum-content--nominated {
  padding-right: 13px;
  padding-left: 13px;
}

@media (min-width: 768px) {
  .forum-content--nominated {
    border-radius: 3px;
    box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
    padding-right: 37px;
    padding-left: 37px;
  }
}

.forum-content--preview .forum-content__reply-button,
.forum-content--preview .forum-content__actions {
  display: none;
}

.forum-content--preview .forum-content__text {
  margin-bottom: 0;
}

.forum-content__header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 16px;
}

@media (min-width: 992px) {
  .forum-content__header {
    align-items: center;
    flex-direction: row;
  }
}

.forum-content__avatar {
  margin-right: 16px;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .forum-content__avatar {
    margin-bottom: 0;
  }
}

.forum-content__metadata {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

@media (min-width: 768px) {
  .forum-content__metadata {
    align-items: center;
    flex-direction: row;
  }
}

.forum-content__actions {
  display: inline-flex;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .forum-content__actions {
    justify-content: flex-end;
  }
}

@media (min-width: 768px) {
  .forum-content__body {
    margin-left: 54px;
  }
}

.forum-content--post .forum-content__body {
  margin-left: 0;
}

@media (min-width: 768px) {
  .forum-content--post .forum-content__body {
    padding: 32px 54px;
    border-radius: 3px;
    border: 1px solid rgba(188, 188, 188, 0.5);
  }
}

.forum-content__addthis {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.forum-content__datetime {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #1d1d1b;
  display: block;
  margin-bottom: 16px;
}

.forum-content__text {
  font-size: 18px;
  font-family: "Roboto", Arial, sans-serif;
  margin-bottom: 40px;
}

.forum-content__reply-button {
  display: inline-flex;
}

.forum-content__reply-button::before {
  content: "reply";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 14px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  margin-right: 8px;
}

.o-forum-content-header {
  padding: 24px 16px;
  text-align: center;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .o-forum-content-header {
    padding: 16px 40px;
    text-align: left;
  }
}

.nominated-comment {
  border: 3px solid #1d1d1b;
  border-radius: 3px;
}

.nominated-comment__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 20px;
  color: #ffffff;
  background-color: #1d1d1b;
  padding: var(--small-spacing);
}

@media (min-width: 768px) {
  .nominated-comment__label {
    padding: var(--small-spacing) 40px;
  }
}

.forum-votes {
  font-size: 18px;
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  background-color: #edeff1;
  margin-bottom: 8px;
  margin-right: 8px;
  line-height: 24px;
  position: relative;
}

.forum-votes:last-child {
  margin-right: 0;
}

.forum-votes__vote {
  padding: 10px 20px;
}

.forum-votes__vote:hover {
  background-color: #bcbcbc;
}

.forum-votes__vote:disabled {
  color: #bcbcbc;
  pointer-events: none;
}

.forum-votes__vote--like {
  margin-right: 0;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

.forum-votes__vote--like::after {
  content: "thumb_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.forum-votes__vote--dislike {
  margin-left: 0;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.forum-votes__vote--dislike::after {
  content: "thumb_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.forum-votes__count {
  margin-left: 4px;
  margin-right: 4px;
}

.forum-votes-tooltip {
  top: 54px;
  width: unset;
  box-shadow: 0 10px 10px 0 rgba(74, 78, 87, 0.2);
  border-top: 1px solid rgba(74, 78, 87, 0.1);
}

.forum-votes-tooltip::before, .forum-votes-tooltip::after {
  display: none;
}

.forum-votes-tooltip__link {
  white-space: pre;
  text-align: center;
}

.software-install .software-install-step:first-child {
  padding-top: 0;
}

.software-install .software-install-step:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.software-install-step {
  padding-top: var(--small-spacing);
  padding-bottom: var(--medium-spacing);
  border-bottom: 1px solid #4a4e57;
}

.software-install-step__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 30px;
  color: #4a4e57;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .software-install-step__title {
    font-size: 28px;
    line-height: 32px;
  }
}

.software-install-step__text {
  font-size: 20px;
  line-height: 26px;
}

@media (min-width: 768px) {
  .software-install-step__text {
    line-height: 30px;
  }
}

.software-download {
  display: flex;
  flex-direction: column;
}

.software-download__button {
  display: none;
  align-self: flex-start;
  width: 100%;
}

@media (min-width: 768px) {
  .software-download__button {
    width: auto;
  }
}

.software-download__button.is-active {
  display: block;
}

.project-parts-list {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  padding: 24px var(--small-spacing) 0;
}

.project-parts-list__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-left: 16px;
}

.project-parts-list__table {
  width: 100%;
}

.project-parts-list__data,
.project-parts-list__header-item {
  text-align: left;
  vertical-align: middle;
  padding: 16px;
}

.project-parts-list__header {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  border-bottom: 1px solid rgba(188, 188, 188, 0.65);
}

.project-parts-list__header-item--basket {
  display: none;
}

@media (min-width: 480px) {
  .project-parts-list__header-item--basket {
    display: table-cell;
    text-align: right;
    color: #1d1d1b;
  }
  .project-parts-list__header-item--basket::before {
    content: "shopping_basket";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
  }
}

.project-parts-list__row {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

@media (min-width: 480px) {
  .project-parts-list__row {
    border-bottom: 1px solid rgba(188, 188, 188, 0.25);
  }
}

.is-retracted .project-parts-list__row--transient {
  display: none;
}

.project-parts-list__row--basket {
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
}

@media (min-width: 480px) {
  .project-parts-list__row--basket {
    display: none;
  }
}

.project-parts-list__row--add-all {
  border-bottom: none;
}

.project-parts-list__row--add-all .project-parts-list__data {
  padding-bottom: 0;
  text-align: right;
}

.project-parts-list__data--quantity {
  position: relative;
  padding-right: 32px;
}

.project-parts-list__data--quantity::after {
  content: 'x';
  position: absolute;
  right: 16px;
}

.project-parts-list__data--basket {
  display: none;
}

@media (min-width: 480px) {
  .project-parts-list__data--basket {
    display: table-cell;
    text-align: right;
  }
}

.project-parts-list__part-link:hover {
  color: #d9121f;
}

.project-parts-list__basket-add-label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  text-decoration: underline;
  color: #4a4e57;
  position: relative;
  padding: 16px 28px 16px 40px;
}

.project-parts-list__basket-add-label::before {
  content: "add_circle";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #1d1d1b;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.project-parts-list__basket-add-button {
  color: #1d1d1b;
}

.project-parts-list__button {
  width: 100%;
}

@media (min-width: 480px) {
  .project-parts-list__button--add-all {
    max-width: 300px;
  }
}

.project-parts-list__button--expand {
  display: none;
}

.is-retracted .project-parts-list__button--expand {
  display: inline-block;
}

.is-retracted .project-parts-list__button--collapse {
  display: none;
}

.product-page__section-title {
  display: none;
}

@media (min-width: 768px) {
  .product-page__section-title {
    font-family: "Roboto", Arial, sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 32px;
    display: block;
    margin-bottom: var(--small-spacing);
  }
}

@media (min-width: 768px) and (min-width: 768px) {
  .product-page__section-title {
    font-size: 36px;
    line-height: 44px;
  }
}

.product-page__divider {
  max-width: 1244px;
  color: rgba(247, 247, 247, 0.25);
  background-color: rgba(247, 247, 247, 0.25);
  border-color: rgba(247, 247, 247, 0.25);
}

.product-page__expandable-section {
  display: block;
}

@media (min-width: 768px) {
  .product-page__expandable-section {
    display: none;
  }
}

.product-page__handle {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  padding: 16px var(--small-spacing);
  border-left: 5px solid #ffdb0f;
  position: relative;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .product-page__handle {
    font-size: 24px;
    line-height: 34px;
  }
}

@media (min-width: 480px) {
  .product-page__handle {
    border-left-width: 10px;
  }
}

.product-page__handle::after {
  content: "add";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

@media (min-width: 480px) {
  .product-page__handle::after {
    font-size: 30px;
  }
}

.product-page__expandable-section[open] .product-page__handle::after {
  content: "remove";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

@media (min-width: 480px) {
  .product-page__expandable-section[open] .product-page__handle::after {
    font-size: 30px;
  }
}

.js-details-not-supported .product-page__drawer {
  display: none;
}

.js-details-not-supported[open] .product-page__drawer {
  display: block;
}

.product-page-heading {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .product-page-heading {
    align-items: flex-start;
  }
}

.product-page-heading__title {
  margin-bottom: 16px;
}

.product-page-heading__metadata {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .product-page-heading__metadata {
    font-size: 16px;
    line-height: 22px;
  }
}

.product-page-heading__metadata-set {
  display: flex;
  flex-wrap: wrap;
}

.product-page-heading__metadata-set::before {
  content: '|';
  speak: none;
  margin-right: 4px;
}

.product-page-heading__metadata-set:first-child::before {
  content: none;
}

.product-page-heading__metadata-label {
  margin-right: 4px;
}

.product-page-heading__metadata-label::after {
  content: ':';
  speak: none;
}

.product-page-heading__metadata-value {
  color: #d9121f;
  font-weight: 700;
  margin-right: 4px;
}

.product-specifications {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .product-specifications {
    flex-direction: row;
  }
}

.product-specifications__image-container {
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .product-specifications__image-container {
    flex-shrink: 0;
    max-width: 33%;
    margin-right: var(--small-spacing);
  }
}

.product-specifications__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 30px;
}

.product-specifications-table {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  table-layout: fixed;
  width: 100%;
}

.product-specifications-table__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-left: 16px;
}

.product-specifications-table__data,
.product-specifications-table__header-item {
  text-align: left;
  vertical-align: middle;
  padding: 16px;
  overflow: hidden;
}

.product-specifications-table__data:not(:last-child),
.product-specifications-table__header-item:not(:last-child) {
  border-right: 2px solid rgba(188, 188, 188, 0.25);
}

.product-specifications-table__data--no-data {
  padding: var(--small-spacing) var(--gutter);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.product-specifications-table__header {
  font-size: 16px;
  font-weight: 700;
  background-color: #f7f7f7;
}

@media (min-width: 480px) {
  .product-specifications-table__header {
    font-size: 20px;
  }
}

.product-specifications-table__row {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
}

.is-retracted .product-specifications-table__row--transient {
  display: none;
}

.product-specifications-table__button {
  width: 100%;
  max-width: 320px;
  position: relative;
}

.product-specifications-table__button::after {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.product-specifications-table__button--expand {
  display: none;
}

.product-specifications-table__button--expand::after {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .product-specifications-table__button--expand {
  display: inline-block;
}

.product-specifications-table__button--collapse::after {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .product-specifications-table__button--collapse {
  display: none;
}

.product-specifications-table__footer {
  text-align: center;
  background-color: #f7f7f7;
}

.product-specifications-table--skeleton .product-specifications-table__body {
  background-image: linear-gradient(-55deg, #ffffff 25%, #edeff1, #ffffff 75%);
  background-size: 450% auto;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: moveBackground;
          animation-name: moveBackground;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
}

@-webkit-keyframes moveBackground {
  from {
    background-position: top right;
  }
  to {
    background-position: bottom left;
  }
}

@keyframes moveBackground {
  from {
    background-position: top right;
  }
  to {
    background-position: bottom left;
  }
}

.product-specifications-table--skeleton {
  position: relative;
}

.product-specifications-table__loading-indicator {
  display: none;
}

.product-specifications-table--skeleton .product-specifications-table__loading-indicator {
  position: absolute;
  top: 20px;
  display: block;
}

.technical-references {
  position: relative;
}

.technical-references__table {
  display: none;
}

@media (min-width: 768px) {
  .technical-references__table {
    display: table;
  }
}

.technical-references-table {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  table-layout: fixed;
  width: 100%;
}

.technical-references-table__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-left: 16px;
}

.technical-references-table__data,
.technical-references-table__header-item {
  text-align: left;
  vertical-align: middle;
  padding: 16px;
  overflow: hidden;
}

.technical-references-table__data:not(:last-child),
.technical-references-table__header-item:not(:last-child) {
  border-right: 2px solid rgba(188, 188, 188, 0.25);
}

.technical-references-table__data--no-data {
  padding: var(--small-spacing) var(--gutter);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.technical-references-table__header {
  font-size: 16px;
  font-weight: 700;
  background-color: #f7f7f7;
}

@media (min-width: 480px) {
  .technical-references-table__header {
    font-size: 20px;
  }
}

.technical-references-table__row {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
}

.is-retracted .technical-references-table__row--transient {
  display: none;
}

.technical-references-table__button {
  width: 100%;
  max-width: 320px;
  position: relative;
}

.technical-references-table__button::after {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.technical-references-table__button--expand {
  display: none;
}

.technical-references-table__button--expand::after {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .technical-references-table__button--expand {
  display: inline-block;
}

.technical-references-table__button--collapse::after {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .technical-references-table__button--collapse {
  display: none;
}

.technical-references-table__footer {
  text-align: center;
  background-color: #f7f7f7;
}

.technical-references--skeleton .technical-references-table__body {
  background-image: linear-gradient(-55deg, #ffffff 25%, #edeff1, #ffffff 75%);
  background-size: 450% auto;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: moveBackground;
          animation-name: moveBackground;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
}

.technical-references-table__data--type {
  position: relative;
  padding-left: 56px;
}

.technical-references-table__data--type::before {
  content: "description";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #bcbcbc;
  speak: none;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.technical-references-table__data--download span {
  display: flex;
  align-items: center;
}

.technical-references-table__download-link {
  margin-left: auto;
}

.technical-references-table__download-link::after {
  content: "save_alt";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  vertical-align: top;
}

.technical-references-table__alternative-download-link {
  color: #3244ff;
  font-size: 14px;
  font-weight: 700;
}

.technical-references-table__loading-indicator {
  display: none;
}

.technical-references--skeleton .technical-references-table__loading-indicator {
  position: absolute;
  top: 20px;
  display: block;
}

.technical-references-table__button {
  outline-offset: 3px;
}

.technical-reference-card {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .technical-reference-card {
    font-size: 18px;
    line-height: 28px;
  }
}

.technical-references--skeleton .technical-reference-card {
  width: 100%;
}

.technical-reference-card__header,
.technical-reference-card__body,
.technical-reference-card__footer {
  padding: 16px;
}

.technical-reference-card__header,
.technical-reference-card__body {
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
  display: flex;
}

.technical-reference-card__header::before {
  content: "description";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #1d1d1b;
  speak: none;
  margin-right: 16px;
}

.technical-references--skeleton .technical-reference-card__body {
  background-image: linear-gradient(-55deg, #ffffff 25%, #edeff1, #ffffff 75%);
  background-size: 450% auto;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: moveBackground;
          animation-name: moveBackground;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  display: block;
}

.technical-references--skeleton .technical-reference-card__body::before {
  display: none;
}

.technical-references--skeleton .technical-reference-card__body .o-loading-indicator {
  margin-top: 20px;
  margin-bottom: 20px;
}

.technical-reference-card__footer-link {
  color: #3244ff;
  font-size: 14px;
  font-weight: 700;
}

.design-references {
  position: relative;
}

.design-references__table {
  display: none;
}

@media (min-width: 768px) {
  .design-references__table {
    display: table;
  }
}

.design-references__status-text {
  font-size: 14px;
  font-weight: 700;
}

.design-references-table {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  table-layout: fixed;
  width: 100%;
}

.design-references-table__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-left: 16px;
}

.design-references-table__data,
.design-references-table__header-item {
  text-align: left;
  vertical-align: middle;
  padding: 16px;
  overflow: hidden;
}

.design-references-table__data:not(:last-child),
.design-references-table__header-item:not(:last-child) {
  border-right: 2px solid rgba(188, 188, 188, 0.25);
}

.design-references-table__data--no-data {
  padding: var(--small-spacing) var(--gutter);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.design-references-table__header {
  font-size: 16px;
  font-weight: 700;
  background-color: #f7f7f7;
}

@media (min-width: 480px) {
  .design-references-table__header {
    font-size: 20px;
  }
}

.design-references-table__row {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
}

.is-retracted .design-references-table__row--transient {
  display: none;
}

.design-references-table__button {
  width: 100%;
  max-width: 320px;
  position: relative;
}

.design-references-table__button::after {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.design-references-table__button--expand {
  display: none;
}

.design-references-table__button--expand::after {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .design-references-table__button--expand {
  display: inline-block;
}

.design-references-table__button--collapse::after {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.is-retracted .design-references-table__button--collapse {
  display: none;
}

.design-references-table__footer {
  text-align: center;
  background-color: #f7f7f7;
}

.design-references--skeleton .design-references-table__body {
  background-image: linear-gradient(-55deg, #ffffff 25%, #edeff1, #ffffff 75%);
  background-size: 450% auto;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: moveBackground;
          animation-name: moveBackground;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
}

.design-references-table__data--type {
  position: relative;
  padding-left: 56px;
}

.design-references-table__data--type::before {
  content: "description";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #bcbcbc;
  speak: none;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.design-references-table__data--select {
  padding: 0 4px;
}

.design-reference-table__select {
  margin-bottom: 0;
  width: 100%;
}

.design-references-table__download-link {
  color: #3244ff;
  font-size: 14px;
  font-weight: 700;
}

.design-reference-table__download-container {
  display: none;
}

.design-reference-table__download-container.is-active {
  display: flex;
}

.design-references-table__loading-indicator {
  display: none;
}

.design-references--skeleton .design-references-table__loading-indicator {
  position: absolute;
  top: 20px;
  display: block;
}

.design-reference-card {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .design-reference-card {
    font-size: 18px;
    line-height: 28px;
  }
}

.technical-references--skeleton .design-reference-card {
  width: 100%;
}

.design-reference-card__header,
.design-reference-card__body,
.design-reference-card__footer {
  padding: 16px;
}

.design-reference-card__header,
.design-reference-card__body {
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
  display: flex;
}

.design-reference-card__header::before {
  content: "description";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #1d1d1b;
  speak: none;
  margin-right: 16px;
}

.technical-references--skeleton .design-reference-card__body {
  background-image: linear-gradient(-55deg, #ffffff 25%, #edeff1, #ffffff 75%);
  background-size: 450% auto;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-name: moveBackground;
          animation-name: moveBackground;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  display: block;
}

.technical-references--skeleton .design-reference-card__body::before {
  display: none;
}

.technical-references--skeleton .design-reference-card__body .o-loading-indicator {
  margin-top: 20px;
  margin-bottom: 20px;
}

.design-reference-card__footer-link {
  color: #3244ff;
  font-size: 14px;
  font-weight: 700;
}

.design-reference-card__download-container {
  display: none;
}

.design-reference-card__download-container.is-active {
  display: flex;
}

.design-library__small {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .design-library__small {
    display: none;
  }
}

.design-library__large {
  display: none;
}

@media (min-width: 768px) {
  .design-library__large {
    display: flex;
    width: 100%;
  }
}

.design-library__alert {
  width: 100%;
}

.design-library__nav {
  margin-right: var(--gutter);
  flex-basis: 25%;
}

.design-library__nav-tabs {
  display: none;
}

@media (min-width: 768px) {
  .design-library__nav-tabs {
    border-radius: 3px;
    box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
    display: block;
    width: 100%;
    max-width: 300px;
  }
}

.design-library__nav-tab {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  padding: 16px;
  width: 100%;
  text-align: left;
  transition: padding-left ease-in-out 300ms;
}

.design-library__nav-tab.is-active {
  border-left: 6px solid #d9121f;
  padding-left: 10px;
}

.design-library__nav-tab:not(:last-child) {
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
}

.design-library__nav-tab:hover, .design-library__nav-tab:focus {
  background-color: #f7f7f7;
  padding-left: 24px;
}

.design-library__nav-tab:hover.is-active, .design-library__nav-tab:focus.is-active {
  padding-left: 18px;
}

.design-library__nav-tab.is-disabled {
  background-color: #bcbcbc;
  opacity: 0.5;
  padding-left: 16px;
  pointer-events: none;
}

.design-library__slide-container {
  display: none;
}

.design-library__slide-container.is-active {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  justify-content: space-around;
  display: flex;
  position: relative;
}

.design-library__slide {
  padding-bottom: 56.25%;
  height: 0;
}

.design-library__slide > * {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  height: 100%;
  resize: both;
  overflow: auto;
}

.design-library__slide > .design-library__slide-image {
  width: auto;
}

.registration-cta {
  background-color: #4a4e57;
  color: #ffffff;
  padding: 34px 24px;
  display: flex;
  flex-direction: column;
}

.registration-cta__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 16px;
}

.registration-cta__text {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .registration-cta__text {
    font-size: 18px;
    line-height: 28px;
  }
}

.registration-cta__benefits {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 24px;
}

.registration-cta__benefit {
  margin-bottom: 16px;
  display: flex;
}

.registration-cta__benefit::before {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #bcbcbc;
  margin-right: 8px;
}

.log-in {
  padding: 24px 16px;
}

@media (min-width: 768px) {
  .log-in {
    padding: 88px 88px;
  }
}

.log-in__form {
  display: flex;
  flex-direction: column;
}

.log-in__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .log-in__title {
    font-size: 24px;
    line-height: 34px;
  }
}

.log-in__recaptcha {
  margin-bottom: 16px;
}

.log-in__submit {
  margin-bottom: 24px;
  width: 100%;
}

@media (min-width: 768px) {
  .log-in__submit {
    width: auto;
    margin-right: 16px;
    margin-bottom: 0;
  }
}

.log-in__options {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 768px) {
  .log-in__options {
    flex-direction: row;
  }
}

.paginator {
  display: flex;
  align-items: center;
}

.paginator__link {
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  display: flex;
  min-width: 32px;
  justify-content: center;
  margin-right: 8px;
}

.paginator__link:hover {
  color: #d9121f;
}

.paginator__link--active {
  color: #ffffff;
  background-color: #4a4e57;
  border-radius: 50%;
  text-align: center;
  border: 6px solid #4a4e57;
}

.paginator__link--active:hover {
  color: #ffffff;
}

.paginator__link--previous::after {
  content: "keyboard_arrow_left";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.paginator__link--next::after {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.paginator__link--first::after {
  margin-left: 16px;
  content: '...';
}

.paginator__link--last::before {
  margin-right: 16px;
  content: '...';
}

.page-heading__title-container {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .page-heading__title-container {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 0;
    align-items: flex-start;
  }
}

.page-heading__title {
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .page-heading__title {
    margin-right: 56px;
  }
}

.page-heading__partner-logo {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.partner-logo__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  margin-right: 4px;
}

.product-link {
  display: inline-flex;
  vertical-align: middle;
}

.product-link__product {
  margin-right: 4px;
}

.product-link--unverified .product-link__product {
  color: inherit;
  text-decoration: inherit;
  cursor: auto;
  pointer-events: none;
  margin-right: 0;
}

.product-link__basket {
  color: #3244ff;
}

.product-link__basket:hover {
  color: #d9121f;
}

.product-link__basket::before {
  content: "shopping_basket";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.product-link--unverified .product-link__basket {
  display: none;
}

.search {
  margin-bottom: 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.search__input {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #4a4e57;
  font-weight: inherit;
  border-radius: 3px;
  border: 2px solid #1d1d1b;
  background-color: #ffffff;
  padding: 10px 8px;
  margin-bottom: 4px;
}

.search__input:focus {
  box-shadow: 0 2px 4px 0 rgba(29, 29, 27, 0.5);
}

.is-invalid .search__input {
  border: 2px solid #d9121f;
}

.search__input::-webkit-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search__input::-moz-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search__input:-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search__input::-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search__input::placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #1d1d1b;
}

.is-invalid > .search__label {
  color: #d9121f;
}

.search__label a {
  font-weight: 700;
}

.search__label a:hover {
  color: #d9121f;
}

.search__label--regular {
  font-weight: 400;
}

.search__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

.search__help {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: rgba(74, 78, 87, 0.8);
  text-align: left;
}

.search__help a {
  color: #4a4e57;
  text-decoration: underline;
}

.search-select {
  margin-bottom: 24px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.search-select__input {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #4a4e57;
  font-weight: inherit;
  border-radius: 3px;
  border: 2px solid #1d1d1b;
  background-color: #ffffff;
  padding: 10px 8px;
  margin-bottom: 4px;
}

.search-select__input:focus {
  box-shadow: 0 2px 4px 0 rgba(29, 29, 27, 0.5);
}

.is-invalid .search-select__input {
  border: 2px solid #d9121f;
}

.search-select__input::-webkit-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search-select__input::-moz-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search-select__input:-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search-select__input::-ms-input-placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search-select__input::placeholder {
  color: rgba(74, 78, 87, 0.45);
}

.search-select__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #1d1d1b;
}

.is-invalid > .search-select__label {
  color: #d9121f;
}

.search-select__label a {
  font-weight: 700;
}

.search-select__label a:hover {
  color: #d9121f;
}

.search-select__label--regular {
  font-weight: 400;
}

.search-select__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
}

.search-select__help {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: rgba(74, 78, 87, 0.8);
  text-align: left;
}

.search-select__help a {
  color: #4a4e57;
  text-decoration: underline;
}

.search {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  margin-bottom: 0;
}

.search__search-field {
  display: flex;
  flex: 5;
  position: relative;
}

.search__search-field::before {
  display: none;
}

@media (min-width: 768px) {
  .search__search-field::before {
    content: "search";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 8px;
    color: #bcbcbc;
    display: block;
  }
}

.search__input {
  margin-bottom: 0;
  width: 100%;
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

@media (min-width: 768px) {
  .search__input {
    padding: 10px 32px;
    margin-right: 16px;
    border-right: 2px solid;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
  }
}

.search__input:focus {
  box-shadow: none;
}

@media (min-width: 768px) {
  .search__input:focus {
    box-shadow: 0 2px 4px 0 rgba(29, 29, 27, 0.5);
  }
}

.search__error {
  display: none;
}

.is-invalid > .search__error {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #d9121f;
  position: absolute;
  left: 0;
  margin-top: 50px;
  display: block;
}

.search__text-label {
  opacity: 0;
}

.search__submit {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  padding: 10px;
  display: inline-block;
  text-align: center;
  color: #ffffff;
  background-color: #1d1d1b;
  border-radius: 3px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  text-indent: -9999px;
  position: relative;
  height: 44px;
  width: 44px;
}

@media (min-width: 768px) {
  .search__submit {
    text-indent: 0;
    width: auto;
    padding: 14px 40px;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    line-height: 16px;
  }
}

.search__submit::before {
  content: "search";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #bcbcbc;
  display: block;
  position: absolute;
  text-indent: 0;
  left: 10px;
  top: 10px;
}

@media (min-width: 768px) {
  .search__submit::before {
    display: none;
  }
}

.search__preposition {
  display: none;
}

@media (min-width: 768px) {
  .search__preposition {
    display: block;
    margin-right: 16px;
  }
}

.search-results {
  padding-bottom: var(--medium-spacing);
}

@media (max-width: 767px) {
  .search-results__filter-bar {
    display: none;
  }
}

@media (min-width: 768px) {
  .search-results__filter-drawer {
    display: none;
  }
}

.search-results__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 24px;
}

.search-results__label strong {
  color: #d9121f;
}

.search-results__options {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .search-results__options {
    flex-direction: row;
  }
}

.search-results__info {
  margin-bottom: 24px;
}

.search-results__alt-link {
  font-weight: 700;
  color: #3244ff;
}

.search-results__alt-link:hover {
  color: #d9121f;
}

.search-results__sort {
  display: none;
  align-items: center;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .search-results__sort {
    display: flex;
  }
}

.search-results__sort > .select-field {
  width: auto;
  margin-right: 16px;
  margin-bottom: 16px;
}

.search-results__paginator {
  display: flex;
  width: 100%;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .search-results__paginator {
    justify-content: flex-end;
    margin-bottom: 0;
  }
}

.search-select {
  margin-bottom: 0;
  display: flex;
  flex: 2;
  max-width: calc(50% - 44px);
}

@media (min-width: 768px) {
  .search-select {
    margin-right: 16px;
    max-width: none;
  }
}

.search-select__input {
  margin-bottom: 0;
  border-right: 0;
  border-radius: 0;
  padding-right: 24px;
  min-width: 104px;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M8.12 9.29L12 13.17l3.88-3.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0L6.7 10.7c-.39-.39-.39-1.02 0-1.41.39-.38 1.03-.39 1.42 0z'/></svg>");
  background-repeat: no-repeat;
  background-position: right;
}

@media (min-width: 768px) {
  .search-select__input {
    border-radius: 3px;
    border-right: 2px solid;
  }
}

.search-select__input:focus {
  box-shadow: none;
}

@media (min-width: 768px) {
  .search-select__input:focus {
    box-shadow: 0 2px 4px 0 rgba(29, 29, 27, 0.5);
  }
}

.no-search-results__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  display: flex;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .no-search-results__title {
    font-size: 24px;
    line-height: 34px;
  }
}

.no-search-results__title::before {
  content: "search";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  align-self: center;
  margin-right: 16px;
}

.forum-post-listing {
  padding-bottom: var(--medium-spacing);
}

.forum-post-listing__title-bar {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px 8px;
  color: #ffffff;
  background-color: #1d1d1b;
  align-items: center;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 480px) {
  .forum-post-listing__title-bar {
    flex-direction: row;
    padding: 16px 24px;
  }
}

.forum-post-listing__title {
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .forum-post-listing__title {
    margin-bottom: 0;
  }
}

.forum-post-listing__create-post {
  background-color: #bcbcbc;
  color: #1d1d1b;
  width: 100%;
}

@media (min-width: 480px) {
  .forum-post-listing__create-post {
    max-width: 250px;
  }
}

.forum-post-listing__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-bottom: 24px;
}

.forum-post-listing__label strong {
  color: #d9121f;
}

.forum-post-listing__options {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .forum-post-listing__options {
    flex-direction: row;
  }
}

.forum-post-listing__search,
.forum-post-listing__search-info {
  margin-bottom: 16px;
}

.forum-post-listing__contribute-link {
  color: #3244ff;
  font-weight: 700;
}

.forum-post-listing__contribute-link:hover {
  color: #d9121f;
}

.forum-post-listing__sort {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.forum-post-listing__sort > .select-field {
  width: auto;
  margin-right: 16px;
  margin-bottom: 16px;
}

.forum-post-listing__paginator {
  display: flex;
  width: 100%;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .forum-post-listing__paginator {
    justify-content: flex-end;
    margin-bottom: 0;
  }
}

.forum-post-preview__actions {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .forum-post-preview__actions {
    flex-direction: row;
    margin-bottom: 34px;
  }
}

.forum-post-preview__action {
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .forum-post-preview__action {
    margin-bottom: 0;
    margin-right: 16px;
    padding: 12px 64px;
  }
}

.forum-post-preview__cancel-text {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  text-decoration: underline;
}

.forum-guidelines {
  background-color: #f7f7f7;
  color: #1d1d1b;
  padding: 34px 24px;
  display: flex;
  flex-direction: column;
}

.forum-guidelines__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  margin-left: 32px;
  margin-bottom: 24px;
}

.forum-guidelines__items {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}

.forum-guidelines__item {
  margin-bottom: 34px;
  display: flex;
}

.forum-guidelines__item::before {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: rgba(74, 78, 87, 0.6);
  margin-right: 8px;
}

.forum-guidelines__link {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  margin-left: 32px;
  color: #3244ff;
}

.create-forum-post__actions {
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .create-forum-post__actions {
    flex-direction: row;
    margin-bottom: 34px;
  }
}

.create-forum-post__action {
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .create-forum-post__action {
    margin-bottom: 0;
    margin-right: 16px;
  }
}

.create-forum-post__action-button {
  width: 100%;
}

.create-forum-post__guidelines {
  display: none;
}

@media (min-width: 992px) {
  .create-forum-post__guidelines {
    display: flex;
  }
}

.create-forum-post__cancel {
  margin-bottom: var(--medium-spacing);
}

.create-forum-post__cancel-text {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  text-decoration: underline;
}

.forum-listing-item {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  display: inline-flex;
  flex-direction: column;
  border: 1px solid rgba(29, 29, 27, 0.17);
  transition: 0.2s;
}

.forum-listing-item:hover {
  transform: scale(1.02);
  box-shadow: 2px 6px 34px 12px rgba(29, 29, 27, 0.24);
}

.forum-listing-item__link {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 1px solid #bcbcbc;
  padding: var(--small-spacing);
}

@media (min-width: 768px) {
  .forum-listing-item__link {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
  }
}

.forum-listing-item__metadata {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .forum-listing-item__metadata {
    margin-left: auto;
  }
}

.forum-listing-item__metadata-set {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

@media (min-width: 768px) {
  .forum-listing-item__metadata-set {
    justify-content: flex-start;
  }
}

.forum-listing-item__metadata-set--highlighted {
  color: #d9121f;
}

.forum-listing-item__metadata-label {
  margin-left: 6px;
}

.forum-listing-item__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .forum-listing-item__body {
    flex-basis: 70%;
  }
}

.forum-listing-item__body-title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #1d1d1b;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .forum-listing-item__body-title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 8px;
  }
}

.forum-listing-item__body-subtext {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .forum-listing-item__body-subtext {
    font-size: 16px;
    line-height: 22px;
  }
}

@media (min-width: 768px) {
  .forum-listing-item__body-subtext {
    display: flex;
    flex-direction: row;
    margin-bottom: 0;
  }
}

.forum-listing-item__icon {
  display: none;
}

@media (min-width: 768px) {
  .forum-listing-item__icon {
    margin-right: var(--gutter);
    display: flex;
    width: 86px;
    height: 86px;
    background: #f7f7f7;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
  }
  .forum-listing-item__icon::before {
    content: "forum";
    font-family: "Material Icons Round";
    font-weight: normal;
    font-style: normal;
    font-size: 32px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
    color: #d9121f;
  }
}

.forum-listing-item__recent {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  padding: 16px var(--small-spacing);
}

.forum-listing-item__recent-subtext {
  font-weight: bold;
}

.forum-listing-item__recent-post {
  text-decoration: underline;
}

.embedded-video__poster {
  position: relative;
  width: 100%;
}

.embedded-video__poster > img {
  width: 100%;
  pointer-events: none;
}

.embedded-video__poster::after {
  content: "play_circle_outline";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 50px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #d9121f;
  speak: none;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
}

@media (min-width: 768px) {
  .embedded-video__poster::after {
    font-size: 70px;
  }
}

.embedded-video__video-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
}

.embedded-video__video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.has-open-modal {
  overflow: hidden;
}

.w-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  background: rgba(0, 0, 0, 0.75);
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal {
  background: #ffffff;
  box-shadow: 4px 4px 14px 0 rgba(81, 81, 81, 0.5);
  min-width: 100px;
  min-height: 100px;
  max-width: 821px;
  max-height: calc(100vh - 2 * 16px);
  display: flex;
  flex-direction: column;
  position: relative;
}

.modal--media {
  background: none;
  width: calc(((100vh - 2 * 16px) * (16/9)) - 90px);
  max-width: 1000px;
}

.modal__header {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  padding: calc(var(--small-spacing) / 2) var(--small-spacing);
  border-bottom: 1px solid #f7f7f7;
  display: flex;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .modal__header {
    font-size: 24px;
    line-height: 34px;
  }
}

.modal__close {
  width: 50px;
  height: 40px;
  font-weight: normal;
  font-size: 32px;
  line-height: 40px;
  color: #1d1d1b;
  position: absolute;
  right: 0;
  top: 0;
}

@media (min-width: 768px) {
  .modal__close {
    right: 5px;
    top: 5px;
  }
}

.modal__close > span {
  pointer-events: none;
}

.modal--media .modal__close {
  color: #ffffff;
  top: -45px;
  right: 0;
}

.modal__body {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  padding: var(--small-spacing);
  flex: 1 1 auto;
  overflow: auto;
}

@media (min-width: 768px) {
  .modal__body {
    font-size: 14px;
    line-height: 20px;
  }
}

.modal__footer {
  padding: calc(var(--small-spacing) / 2) var(--small-spacing);
  border-top: 1px solid #f7f7f7;
  display: flex;
  justify-content: flex-start;
}

.software-comparison-card {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  display: flex;
  flex-direction: column;
  padding-top: 24px;
  text-align: center;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
}

@media (min-width: 768px) {
  .software-comparison-card {
    font-size: 16px;
    line-height: 22px;
  }
}

.software-comparison-card__header {
  margin-bottom: 16px;
}

.software-comparison-card__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .software-comparison-card__title {
    font-size: 24px;
    line-height: 34px;
  }
}

.software-comparison-card__description {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .software-comparison-card__description {
    font-size: 18px;
    line-height: 28px;
  }
}

.software-comparison-card__price {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
  background-color: #f7f7f7;
  margin-bottom: 16px;
}

.software-comparison-card__features {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  font-weight: 700;
  padding-left: 34px;
  margin-bottom: 16px;
  text-align: left;
}

@media (min-width: 768px) {
  .software-comparison-card__features {
    font-size: 14px;
    line-height: 20px;
  }
}

.software-comparison-card__feature {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  display: flex;
  margin-top: 8px;
}

.software-comparison-card__feature::before {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  color: #d9121f;
  margin-right: 8px;
}

.software-comparison-card__footer {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  display: flex;
  border-top: 1px solid rgba(188, 188, 188, 0.25);
  padding: 16px 34px;
  text-align: left;
  justify-content: space-between;
}

.software-comparison-card__footer::after {
  content: "keyboard_arrow_right";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
}

.software-comparison-table {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
}

.software-comparison-table__table {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  width: 100%;
}

@media (min-width: 768px) {
  .software-comparison-table__table {
    font-size: 16px;
    line-height: 22px;
  }
}

.software-comparison-table__table th {
  border-left: 1px solid rgba(188, 188, 188, 0.25);
  border-right: 1px solid rgba(188, 188, 188, 0.25);
}

.software-comparison-table__table th p {
  margin-bottom: 8px;
}

.software-comparison-table__table th strong {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
}

.software-comparison-table__table td,
.software-comparison-table__table th {
  text-align: center;
  padding: 16px 34px;
}

.software-comparison-table__table tfoot td {
  border-left: 1px solid rgba(188, 188, 188, 0.25);
  border-right: 1px solid rgba(188, 188, 188, 0.25);
}

.software-comparison-table__row {
  border-bottom: 1px solid rgba(188, 188, 188, 0.25);
}

.software-comparison-table__row td {
  border-left: 1px solid rgba(188, 188, 188, 0.25);
  border-right: 1px solid rgba(188, 188, 188, 0.25);
}

.software-comparison-table__row td:first-child {
  text-align: left;
}

.software-comparison-table__row--highlighted {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
  background-color: #f7f7f7;
}

.software-comparison-table__row--emphasis {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 22px;
}

.is-retracted .software-comparison-table__row--transient {
  display: none;
}

.software-comparison-table__check::before {
  content: "check";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 30px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  color: #d9121f;
  vertical-align: middle;
}

.software-comparison-table__controls {
  background-color: #f7f7f7;
  padding: 16px;
}

.software-comparison-table__button {
  position: relative;
  padding-right: 88px;
  padding-left: 88px;
}

.software-comparison-table__button::after {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  speak: none;
}

.software-comparison-table__button--expand {
  display: none;
}

.is-retracted .software-comparison-table__button--expand {
  display: inline-block;
}

.software-comparison-table__button--expand::after {
  content: "keyboard_arrow_down";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.is-retracted .software-comparison-table__button--collapse {
  display: none;
}

.software-comparison-table__button--collapse::after {
  content: "keyboard_arrow_up";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
}

.registration__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: var(--medium-spacing);
}

@media (min-width: 768px) {
  .registration__title {
    font-size: 24px;
    line-height: 34px;
  }
}

.registration__title strong {
  color: #d9121f;
}

@media (min-width: 768px) {
  .registration__body {
    display: flex;
  }
}

@media (min-width: 768px) {
  .registration__credentials {
    border-right: 1px solid #bcbcbc;
    padding-right: 40px;
    width: 50%;
  }
}

.registration__additional-info {
  margin-bottom: 32px;
}

@media (min-width: 768px) {
  .registration__additional-info {
    margin-bottom: 0;
    margin-left: 40px;
    width: 50%;
  }
}

.registration__language-selector {
  display: none;
}

.registration__language-selector.is-visible {
  display: block;
}

.registration__recaptcha {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  margin-bottom: 16px;
}

.registration__cta {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
}

@media (min-width: 768px) {
  .registration__cta {
    justify-content: space-between;
    flex-direction: row;
  }
}

@media (min-width: 768px) {
  .registration__cta-button {
    display: flex;
    width: 50%;
  }
}

@media (min-width: 768px) {
  .registration__cta-button--center {
    justify-content: center;
  }
}

.registration__cancel {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  text-decoration: underline;
}

.registration__cancel::before {
  content: '< ';
  speak: none;
}

.registration__cancel a {
  color: #4a4e57;
  text-decoration: underline;
}

.registration__submit {
  margin-bottom: var(--small-spacing);
  width: 100%;
}

@media (min-width: 768px) {
  .registration__submit {
    width: auto;
    margin-bottom: 0;
  }
}

.registration__submit-row {
  width: 100%;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .registration__submit-row {
    margin-right: 8px;
    width: auto;
  }
}

.registration__submit-separator {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  margin-bottom: 8px;
}

@media (min-width: 768px) {
  .registration__submit-separator {
    margin-right: 8px;
  }
}

@media (min-width: 768px) {
  .registration__form-fields {
    max-width: 320px;
  }
}

.registration__options {
  align-items: center;
  flex-direction: column;
  margin-bottom: 56px;
}

@media (min-width: 768px) {
  .registration__options {
    flex-direction: row;
  }
}

.has-use-email-selected .registration__referral-username {
  display: none;
}

.registration__referral-email {
  display: none;
}

.has-use-email-selected .registration__referral-email {
  display: flex;
}

.vp-banner {
  min-height: 460px;
  background-color: var(--theme-bg-colour);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  padding-top: 60px;
  padding-right: var(--gutter);
  padding-left: var(--gutter);
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(/7d751ad7/1.7.39/images/vp-banner-images/Home_VP50_479px_small.5ca94323.png);
}

@media (min-width: 480px) {
  .vp-banner {
    background-image: url(/7d751ad7/1.7.39/images/vp-banner-images/Home_VP50_767x460_medium_small.92fbecd3.png);
  }
}

@media (min-width: 768px) {
  .vp-banner {
    background-image: url(/7d751ad7/1.7.39/images/vp-banner-images/Home_VP50_991x460_medium.5c909e1e.png);
  }
}

@media (min-width: 992px) {
  .vp-banner {
    background-image: url(/7d751ad7/1.7.39/images/vp-banner-images/Home_VP50_1244x460_medium_large.82fba1f3.png);
  }
}

@media (min-width: 1440px) {
  .vp-banner {
    background-image: url(/7d751ad7/1.7.39/images/vp-banner-images/Home_VP50_1244x460_large.83c6e298.png);
  }
}

@media (min-width: 768px) {
  .vp-banner {
    padding-top: 56px;
    padding-bottom: 56px;
  }
}

@media (min-width: 992px) {
  .vp-banner {
    align-items: baseline;
  }
}

.vp-banner__body {
  display: flex;
  flex-direction: column;
}

@media (min-width: 992px) {
  .vp-banner__body {
    align-self: flex-start;
  }
}

.vp-banner__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 44px;
  max-width: 520px;
  display: inline-block;
  margin-bottom: var(--small-spacing);
  letter-spacing: -1.5px;
  color: #1d1d1b;
  text-align: center;
}

@media (min-width: 768px) {
  .vp-banner__title {
    font-size: 40px;
    line-height: 52px;
  }
}

@media (min-width: 992px) {
  .vp-banner__title {
    text-align: left;
  }
}

.vp-banner__title > b {
  color: #ffffff;
}

.vp-banner__feature-list {
  list-style: disc inside;
  margin-bottom: var(--small-spacing);
  text-align: center;
}

@media (min-width: 992px) {
  .vp-banner__feature-list {
    text-align: left;
  }
}

.vp-banner__feature {
  font-size: 24px;
  color: #1d1d1b;
}

.vp-banner__button {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  padding-left: 92px;
  padding-right: 92px;
  align-self: center;
}

@media (min-width: 768px) {
  .vp-banner__button {
    font-size: 24px;
    line-height: 34px;
  }
}

@media (min-width: 992px) {
  .vp-banner__button {
    align-self: baseline;
  }
}

.attachments {
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
  position: relative;
}

.attachments__label {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 16px;
}

.attachments__files {
  display: flex;
  justify-content: flex-start;
}

.attachments__files > .file-download-link {
  margin-right: 24px;
}

.attachments__tooltip {
  top: 54px;
  box-shadow: 0 10px 10px 0 rgba(74, 78, 87, 0.2);
  border-top: 1px solid rgba(74, 78, 87, 0.1);
}

.attachments__tooltip::before, .attachments__tooltip::after {
  display: none;
}

.attachments__tooltip-link {
  white-space: pre-wrap;
  text-align: center;
}

.file-download-link {
  display: flex;
  text-align: center;
  align-items: center;
}

@media (min-width: 768px) {
  .file-download-link {
    flex-direction: column;
  }
}

.file-download-link:hover {
  color: #d9121f;
}

.file-download-link::before {
  content: "description";
  font-family: "Material Icons Round";
  font-weight: normal;
  font-style: normal;
  font-size: 34px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: 'liga';
  speak: none;
  color: #bcbcbc;
  margin-right: 4px;
}

@media (min-width: 768px) {
  .file-download-link::before {
    font-size: 56px;
    margin-bottom: 4px;
    margin-right: 0;
  }
}

.file-download-link__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  overflow-wrap: anywhere;
}

.dz-error-message {
  margin-top: 1.5rem;
}

.dz-size {
  display: none;
}

.dz-filename {
  margin-top: 1.5rem;
}

.password-reset__title {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .password-reset__title {
    font-size: 24px;
    line-height: 34px;
  }
}

.password-reset__title strong {
  color: #d9121f;
}

.password-reset__body {
  font-size: 16px;
  margin-bottom: var(--medium-spacing);
}

.password-reset__instruction {
  margin-bottom: var(--small-spacing);
  max-width: 462px;
}

.password-reset__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 768px) {
  .password-reset__cta {
    align-items: flex-start;
    flex-direction: row;
  }
}

.password-reset__cta-button {
  margin-bottom: var(--small-spacing);
}

@media (min-width: 768px) {
  .password-reset__cta-button {
    margin-right: var(--small-spacing);
    margin-bottom: 0;
  }
}

.password-reset__cancel {
  font-family: "Roboto", Arial, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  text-decoration: underline;
}

.password-reset__cancel::before {
  speak: none;
}

.password-reset__cancel a {
  color: #4a4e57;
  text-decoration: underline;
}

/**
 * Components - structures
 */
.s-alert {
  padding: calc(var(--content-gap) / 2) calc(2 * var(--gutter));
}

.s-alert .d-alert {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: calc(var(--small-spacing) / 2);
}

.s-alert .d-alert:last-child {
  margin-bottom: 0;
}

.s-alert--floaty {
  position: absolute;
  top: 115px;
  left: 32px;
  right: 32px;
  z-index: 5;
  padding: 0;
}

@media (min-width: 768px) {
  .s-alert--floaty {
    top: 75px;
  }
}

.s-author-summary {
  width: 100%;
  padding: calc(var(--content-gap) / 2) 0;
}

@media (min-width: 992px) {
  .s-author-summary {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}

.s-author-summary > .d-author-summary {
  width: 100%;
  max-width: 1042px;
  margin-right: auto;
  margin-left: auto;
}

.s-button-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.s-button-group > .d-button-group {
  margin: 4px 8px;
}

.s-button-group--left-align {
  justify-content: left;
}

/**
 * Card decks are a structure that holds multiple cards.
 */
.s-card-deck {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.s-card-deck > .d-card-deck {
  width: 100%;
  margin-bottom: 16px;
}

@media (min-width: 480px) {
  .s-card-deck[data-cards-per-row='2'] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='2'] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row='3'] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='3'] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 768px) {
  .s-card-deck[data-cards-per-row='3'] > .d-card-deck {
    width: calc(33.33333% - 10.66667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='3'] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row='4'] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='4'] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row='4'] > .d-card-deck {
    width: calc(33.33333% - 10.66667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='4'] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 992px) {
  .s-card-deck[data-cards-per-row='4'] > .d-card-deck {
    width: calc(25% - 12px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='4'] > .d-card-deck:nth-child(4n) {
    margin-right: 0;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck {
    width: calc(33.33333% - 10.66667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 992px) and (max-width: 1439px) {
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck {
    width: calc(25% - 12px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck:nth-child(4n) {
    margin-right: 0;
  }
}

@media (min-width: 1440px) {
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck {
    width: calc(20% - 12.8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='5'] > .d-card-deck:nth-child(5n) {
    margin-right: 0;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck {
    width: calc(50% - 8px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck {
    width: calc(33.33333% - 10.66667px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck:nth-child(3n) {
    margin-right: 0;
  }
}

@media (min-width: 992px) and (max-width: 1439px) {
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck {
    width: calc(25% - 12px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck:nth-child(4n) {
    margin-right: 0;
  }
}

@media (min-width: 1440px) {
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck {
    width: calc(16.66667% - 13.33333px);
    margin-right: 16px;
  }
  .s-card-deck[data-cards-per-row='6'] > .d-card-deck:nth-child(6n) {
    margin-right: 0;
  }
}

.s-hierarchy-deck {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-columns: 1fr;
  grid-template-areas: 'feature-card-1' 'feature-card-2' 'feature-card-3' 'card-4' 'card-5';
}

@media (min-width: 480px) {
  .s-hierarchy-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-template-areas: 'feature-card-1 feature-card-1' 'feature-card-2 feature-card-2' 'feature-card-3 feature-card-3' 'card-4 card-5';
  }
}

@media (min-width: 992px) {
  .s-hierarchy-deck {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-template-areas: 'feature-card-1 feature-card-1 feature-card-2 feature-card-2' 'feature-card-3 feature-card-3 card-4 card-5';
  }
}

.s-hierarchy-deck__feature-card-1 {
  grid-area: feature-card-1;
}

.s-hierarchy-deck__feature-card-2 {
  grid-area: feature-card-2;
}

.s-hierarchy-deck__feature-card-3 {
  grid-area: feature-card-3;
}

.s-hierarchy-deck__card-4 {
  grid-area: card-4;
}

.s-hierarchy-deck__card-5 {
  grid-area: card-5;
}

.s-home-deck {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-columns: 1fr;
  grid-template-areas: 'feature-card-1' 'feature-card-2' 'card-3' 'card-4' 'card-5' 'card-6' 'card-7' 'card-8';
}

@media (min-width: 480px) {
  .s-home-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-template-areas: 'feature-card-1 feature-card-2' 'card-3 card-4' 'card-5 card-6' 'card-7 card-8';
  }
}

@media (min-width: 992px) {
  .s-home-deck {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(6, 1fr);
    grid-template-areas: 'feature-card-1 card-3 card-4' 'feature-card-1 card-3 card-4' 'feature-card-1 card-5 card-6' 'feature-card-2 card-5 card-6' 'feature-card-2 card-7 card-8' 'feature-card-2 card-7 card-8';
  }
}

.s-home-deck__feature-card-1 {
  grid-area: feature-card-1;
}

.s-home-deck__feature-card-2 {
  grid-area: feature-card-2;
}

.s-home-deck__card-3 {
  grid-area: card-3;
}

.s-home-deck__card-4 {
  grid-area: card-4;
}

.s-home-deck__card-5 {
  grid-area: card-5;
}

.s-home-deck__card-6 {
  grid-area: card-6;
}

.s-home-deck__card-7 {
  grid-area: card-7;
}

.s-home-deck__card-8 {
  grid-area: card-8;
}

.s-extravaganza-deck {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-columns: 1fr;
  grid-template-areas: 'feature-card-1' 'card-2' 'card-3';
}

@media (min-width: 480px) {
  .s-extravaganza-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: 'feature-card-1 feature-card-1' 'card-2 card-3';
  }
}

@media (min-width: 992px) {
  .s-extravaganza-deck {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-template-areas: 'feature-card-1 card-2' 'feature-card-1 card-3';
  }
}

.s-extravaganza-deck__feature-card-1 {
  grid-area: feature-card-1;
}

.s-extravaganza-deck__card-2 {
  grid-area: card-2;
}

.s-extravaganza-deck__card-3 {
  grid-area: card-3;
}

/**
 * Section for a carousel block
 */
.s-carousel {
  --carousel-bg-colour-red: 255;
  --carousel-bg-colour-green: 255;
  --carousel-bg-colour-blue: 255;
  --carousel-bg-colour: rgb(var(--carousel-bg-colour-red), var(--carousel-bg-colour-green), var(--carousel-bg-colour-blue));
  background: var(--carousel-bg-colour);
  width: 100%;
  padding: calc(var(--content-gap) / 2) var(--gutter);
}

.s-carousel > .d-carousel {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 1440px) {
  .s-carousel > .d-carousel.d-carousel--peekaboo {
    max-width: calc((2 * 100px) + 1244px);
  }
}

.s-carousel--alternative {
  --carousel-bg-colour-red: 247;
  --carousel-bg-colour-green: 247;
  --carousel-bg-colour-blue: 247;
}

.s-comments {
  width: 100%;
  padding: calc(var(--content-gap) / 2) 0;
}

@media (min-width: 992px) {
  .s-comments {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}

.s-comments > .d-comments {
  width: 100%;
  max-width: 1042px;
  margin-right: auto;
  margin-left: auto;
}

.s-comments > .d-comments--header {
  background-color: #1d1d1b;
  padding-right: 0;
  padding-left: 0;
}

/**
 * Section is the default block on a page.
 *
 * It'll typically have one or more d-section children
 */
.s-section {
  width: 100%;
  padding: calc(var(--content-gap) / 2) var(--gutter);
}

.s-section > .d-section {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
}

.s-section--spaceless {
  padding: 0 var(--gutter);
}

.s-section--alternative {
  background-color: #f7f7f7;
}

.s-section--themeable {
  --section-bg-colour: #f7f7f7;
  background-color: var(--section-bg-colour, #f7f7f7);
}

.s-section-header {
  width: 100%;
  padding: calc(var(--content-gap) / 2) var(--gutter);
}

.s-section-header > .d-section-header {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
  background-color: #1d1d1b;
  padding: 24px 16px;
  margin-bottom: 16px;
  text-align: center;
}

@media (min-width: 480px) {
  .s-section-header > .d-section-header {
    text-align: left;
  }
}

.s-section-header > .d-section-header--no-background {
  background-color: inherit;
  padding: 0;
  text-align: inherit;
}

.s-listing {
  width: 100%;
  padding: calc(var(--content-gap) / 2) 0;
}

@media (min-width: 992px) {
  .s-listing {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}

.s-listing > .d-listing {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--gutter);
  padding-left: var(--gutter);
}

@media (min-width: 992px) {
  .s-listing > .d-listing {
    padding-right: 0;
    padding-left: 0;
  }
}

.s-listing > .d-listing--header {
  background-color: #1d1d1b;
  padding-right: 0;
  padding-left: 0;
}

.s-hero {
  width: 100%;
  background-color: var(--theme-bg-colour);
}

.s-hero > .d-hero {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 1272px) {
  .s-hero > .d-hero {
    padding-left: 0;
    padding-right: 0;
  }
}

.s-cta {
  width: 100%;
  background-color: var(--theme-bg-colour);
}

.s-cta > .d-cta {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 1272px) {
  .s-cta > .d-cta {
    padding-left: 0;
    padding-right: 0;
  }
}

/**
 * Expandable is a section with some hidden content.
 *
 * It'll typically have one or more d-expandable children
 */
.s-expandable {
  position: relative;
  width: 100%;
  padding: calc(var(--content-gap) / 2) var(--gutter);
  margin-bottom: calc(var(--content-gap) * 2);
  background-color: #f7f7f7;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.s-expandable > .d-expandable {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 768px) {
  .s-title-group {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.d-title-group {
  display: flex;
  align-items: center;
}

/**
 * Section is the default block on a page.
 *
 * It'll typically have one or more d-section children
 */
.s-user-content {
  width: 100%;
  padding: calc(var(--user-content-gap) / 2) var(--gutter);
}

.s-user-content > .d-user-content {
  width: 100%;
  max-width: 1042px;
  margin-right: auto;
  margin-left: auto;
}

.s-user-content--header {
  padding-top: calc(var(--content-gap) / 2);
}

.s-content-with-aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .s-content-with-aside {
    flex-direction: row;
  }
}

.d-content-with-aside {
  flex: 1;
}

.d-content-with-aside--content {
  margin-bottom: 64px;
}

@media (min-width: 768px) {
  .d-content-with-aside--content {
    flex: 3;
    margin-right: 64px;
    margin-bottom: 0;
  }
}

.s-pseudo-modal {
  background: #bcbcbc;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--medium-spacing) var(--gutter);
}

.s-pseudo-modal > .d-pseudo-modal {
  border-radius: 3px;
  box-shadow: 0 2px 10px 0 rgba(29, 29, 27, 0.17);
  width: 100%;
  max-width: 872px;
  margin-right: auto;
  margin-left: auto;
  background: #ffffff;
}

.s-pseudo-modal::before {
  height: 100%;
  width: 100%;
  content: '';
  background-color: #bcbcbc;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
}

.s-log-in {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .s-log-in {
    flex-direction: row;
  }
}

.d-log-in--form {
  flex: 1;
}

.d-log-in--supporting {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

@media (min-width: 768px) {
  .d-log-in--supporting {
    border-top-right-radius: inherit;
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: 0;
    width: 35%;
  }
}

.s-software-comparison {
  width: 100%;
  padding: calc(var(--content-gap) / 2) 0;
}

@media (min-width: 992px) {
  .s-software-comparison {
    padding-right: var(--gutter);
    padding-left: var(--gutter);
  }
}

.s-software-comparison > .d-software-comparison {
  width: 100%;
  max-width: 1244px;
  margin-right: auto;
  margin-left: auto;
}

.d-software-comparison--title {
  padding-right: var(--gutter);
  padding-left: var(--gutter);
}

@media (min-width: 992px) {
  .d-software-comparison--title {
    padding: 0;
  }
}

.d-software-comparison--card {
  max-width: 100%;
  margin-bottom: var(--small-spacing);
}

@media (min-width: 992px) {
  .d-software-comparison--card {
    display: none;
  }
}

.d-software-comparison--table {
  display: none;
}

@media (min-width: 992px) {
  .d-software-comparison--table {
    display: block;
  }
}

.s-registration {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .s-registration {
    flex-direction: row;
  }
}

.d-registration {
  padding: 16px var(--gutter) 34px;
}

@media (min-width: 768px) {
  .d-registration {
    padding: 56px 88px;
  }
}

.s-password-reset {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .s-password-reset {
    flex-direction: row;
  }
}

.d-password-reset {
  padding: 16px var(--gutter) 34px;
}

@media (min-width: 768px) {
  .d-password-reset {
    padding: 56px 88px;
  }
}

/**
 * Utilities
 */
.u-mb-large {
  margin-bottom: var(--large-spacing);
}

.u-mb-medium {
  margin-bottom: var(--medium-spacing);
}

.u-mb-small {
  margin-bottom: var(--small-spacing);
}

.u-mt-large {
  margin-top: var(--large-spacing);
}

.u-mt-medium {
  margin-top: var(--medium-spacing);
}

.u-mt-small {
  margin-top: var(--small-spacing);
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.u-standalone {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--small-spacing);
}

/**
 * IE specific styling
 */
/**
 * IE specific styling
 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .info-card__body {
    min-height: 1px;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 480px), (-ms-high-contrast: none) and (min-width: 480px) {
  .info-card--jumbo .info-card__body ul {
    -moz-column-count: auto;
         column-count: auto;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .glide__slide {
    margin-top: 8px;
    margin-bottom: 8px;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 1440px), (-ms-high-contrast: none) and (min-width: 1440px) {
  .carousel--peekaboo::before {
    background: linear-gradient(to right, #ffffff 0%, transparent 75%, transparent 100%);
  }
  .carousel--peekaboo::after {
    background: linear-gradient(to left, #ffffff 0%, transparent 75%, transparent 100%);
  }
  .s-carousel--alternative .carousel--peekaboo::before {
    background: linear-gradient(to right, #f7f7f7 0%, transparent 75%, transparent 100%);
  }
  .s-carousel--alternative .carousel--peekaboo::after {
    background: linear-gradient(to left, #f7f7f7 0%, transparent 75%, transparent 100%);
  }
}

.alert {
  background-color: #f7f7f7;
  color: #4a4e57;
  border-color: #edeff1;
}

.alert--success {
  background-color: #dff0d8;
  color: #3c763d;
  border-color: #d6e9c6;
}

.alert--error {
  background-color: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}

.alert--warning {
  background-color: #fff3cd;
  color: #856404;
  border-color: #ffeeba;
}

.alert--info {
  background-color: #d1ecf1;
  color: #0c5460;
  border-color: #bee5eb;
}

.alert__close {
  color: #4a4e57;
}

.alert--success .alert__close {
  color: #3c763d;
}

.alert--error .alert__close {
  color: #721c24;
}

.alert--warning .alert__close {
  color: #856404;
}

.alert--info .alert__close {
  color: #0c5460;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .footer__social-icons svg {
    width: 16px;
  }
  .footer__ds-logo svg {
    width: 170px;
  }
  .footer__partners > a {
    width: 30px;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-breadcrumbs {
    background-color: #f7f7f7;
  }
  .t-discover .s-breadcrumbs {
    background-color: #40ceb7;
  }
  .t-forum .s-breadcrumbs {
    background-color: #40b2cf;
  }
  .t-learn .s-breadcrumbs {
    background-color: #41d37a;
  }
  .t-resources .s-breadcrumbs {
    background-color: #ffe44b;
  }
  .t-services .s-breadcrumbs {
    background-color: #fea861;
  }
  .t-software .s-breadcrumbs,
  .t-software-ds-pcb .s-breadcrumbs,
  .t-software-ds-pcb-pro .s-breadcrumbs,
  .t-software-dse .s-breadcrumbs,
  .t-software-dsm .s-breadcrumbs,
  .t-software-pcb-compare .s-breadcrumbs {
    background-color: #ddbfe5;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .forum-listing-group__handle {
    border-color: #f7f7f7;
  }
  .t-discover .forum-listing-group__handle {
    border-color: #00bf9f;
  }
  .t-forum .forum-listing-group__handle {
    border-color: #0098bf;
  }
  .t-home .forum-listing-group__handle {
    border-color: #e36666;
  }
  .t-learn .forum-listing-group__handle {
    border-color: #01c44e;
  }
  .t-resources .forum-listing-group__handle {
    border-color: #ffdb0f;
  }
  .t-services .forum-listing-group__handle {
    border-color: #ff8b2d;
  }
  .t-software .forum-listing-group__handle {
    border-color: #d1aadc;
  }
  .t-software-ds-pcb .forum-listing-group__handle {
    border-color: #d1aadc;
  }
  .t-software-ds-pcb-pro .forum-listing-group__handle {
    border-color: #d1aadc;
  }
  .t-software-dse .forum-listing-group__handle {
    border-color: #d1aadc;
  }
  .t-software-dsm .forum-listing-group__handle {
    border-color: #d1aadc;
  }
  .t-software-pcb-compare .forum-listing-group__handle {
    border-color: #d1aadc;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .w-header {
    position: fixed;
    top: 0;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .vp-banner {
    background-color: #f7f7f7;
  }
  .t-discover .vp-banner {
    background-color: #00bf9f;
  }
  .t-forum .vp-banner {
    background-color: #0098bf;
  }
  .t-home .vp-banner {
    background-color: #e36666;
  }
  .t-learn .vp-banner {
    background-color: #01c44e;
  }
  .t-resources .vp-banner {
    background-color: #ffdb0f;
  }
  .t-services .vp-banner {
    background-color: #ff8b2d;
  }
  .t-software .vp-banner {
    background-color: #d1aadc;
  }
  .t-software-ds-pcb .vp-banner {
    background-color: #d1aadc;
  }
  .t-software-ds-pcb-pro .vp-banner {
    background-color: #d1aadc;
  }
  .t-software-dse .vp-banner {
    background-color: #d1aadc;
  }
  .t-software-dsm .vp-banner {
    background-color: #d1aadc;
  }
  .t-software-pcb-compare .vp-banner {
    background-color: #d1aadc;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .search-result-metadata {
    flex: 1 1;
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 480px), (-ms-high-contrast: none) and (min-width: 480px) {
  .add-comment__submit {
    max-width: 240px;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-hierarchy-deck .d-hierarchy-deck {
    width: calc(33.33333% - 10.66667px);
    margin-top: 8px;
    margin-bottom: 8px;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-home-deck .d-home-deck {
    margin-top: 8px;
    margin-bottom: 8px;
  }
  .s-home-deck__feature-card-1,
  .s-home-deck__feature-card-2 {
    width: calc(50% - 8px);
  }
  .s-home-deck__card-3,
  .s-home-deck__card-4,
  .s-home-deck__card-5,
  .s-home-deck__card-6,
  .s-home-deck__card-7,
  .s-home-deck__card-8 {
    width: calc(33.33333% - 10.66667px);
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-extravaganza-deck::after {
    content: '';
    display: table;
    clear: both;
  }
  .s-extravaganza-deck .d-extravaganza-deck {
    width: calc(50% - 8px);
    margin-top: 8px;
    margin-bottom: 8px;
  }
  .s-extravaganza-deck .s-extravaganza-deck__feature-card-1 {
    float: left;
  }
  .s-extravaganza-deck .s-extravaganza-deck__card-2 {
    float: right;
  }
  .s-extravaganza-deck .s-extravaganza-deck__card-3 {
    float: right;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-carousel {
    background: #ffffff;
  }
  .s-carousel--alternative {
    background: #f7f7f7;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-hero {
    background-color: #f7f7f7;
  }
  .t-discover .s-hero {
    background-color: #00bf9f;
  }
  .t-forum .s-hero {
    background-color: #0098bf;
  }
  .t-home .s-hero {
    background-color: #e36666;
  }
  .t-learn .s-hero {
    background-color: #01c44e;
  }
  .t-resources .s-hero {
    background-color: #ffdb0f;
  }
  .t-services .s-hero {
    background-color: #ff8b2d;
  }
  .t-software .s-hero {
    background-color: #d1aadc;
  }
  .t-software-ds-pcb .s-hero {
    background-color: #d1aadc;
  }
  .t-software-ds-pcb-pro .s-hero {
    background-color: #d1aadc;
  }
  .t-software-dse .s-hero {
    background-color: #d1aadc;
  }
  .t-software-dsm .s-hero {
    background-color: #d1aadc;
  }
  .t-software-pcb-compare .s-hero {
    background-color: #d1aadc;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .hero__title,
  .hero__content {
    align-self: flex-start;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .s-cta {
    background-color: #f7f7f7;
  }
  .t-discover .s-cta {
    background-color: #00bf9f;
  }
  .t-forum .s-cta {
    background-color: #0098bf;
  }
  .t-home .s-cta {
    background-color: #e36666;
  }
  .t-learn .s-cta {
    background-color: #01c44e;
  }
  .t-resources .s-cta {
    background-color: #ffdb0f;
  }
  .t-services .s-cta {
    background-color: #ff8b2d;
  }
  .t-software .s-cta {
    background-color: #d1aadc;
  }
  .t-software-ds-pcb .s-cta {
    background-color: #d1aadc;
  }
  .t-software-ds-pcb-pro .s-cta {
    background-color: #d1aadc;
  }
  .t-software-dse .s-cta {
    background-color: #d1aadc;
  }
  .t-software-dsm .s-cta {
    background-color: #d1aadc;
  }
  .t-software-pcb-compare .s-cta {
    background-color: #d1aadc;
  }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  main {
    margin-top: 56px;
  }
}

