@charset "UTF-8";
/*
$brown       : #A77A3E;
$purple      : #A83E7A;
$yellow      : #EB9F24;
$selection   : $yellow;
*/
@font-face {
  font-family: "Lato";
  font-weight: 400;
  src: url("/assets/fonts/lato-v17-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Lato Regular"), local("Lato-Regular"), url("/assets/fonts/lato-v17-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/lato-v17-latin-regular.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-regular.woff") format("woff"), url("/assets/fonts/lato-v17-latin-regular.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-regular.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
@font-face {
  font-family: "Lato-Bold";
  font-weight: 700;
  src: url("/assets/fonts/lato-v17-latin-700.eot"); /* IE9 Compat Modes */
  src: local("Lato Bold"), local("Lato-Bold"), url("/assets/fonts/lato-v17-latin-700.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-700.woff") format("woff"), url("/assets/fonts/lato-v17-latin-700.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-700.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* varela-round-regular - latin */
@font-face {
  font-family: "Varela";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/varela-round-v13-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Varela Round"), url("/assets/fonts/varela-round-v13-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/varela-round-v13-latin-regular.woff2") format("woff2"), url("/assets/fonts/varela-round-v13-latin-regular.woff") format("woff"), url("/assets/fonts/varela-round-v13-latin-regular.ttf") format("truetype"), url("/assets/fonts/varela-round-v13-latin-regular.svg#VarelaRound") format("svg"); /* Legacy iOS */
}
@font-face {
  font-family: "Lato";
  font-weight: 400;
  src: url("/assets/fonts/lato-v17-latin-regular.eot");
  src: local("Lato Regular"), local("Lato-Regular"), url("/assets/fonts/lato-v17-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/lato-v17-latin-regular.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-regular.woff") format("woff"), url("/assets/fonts/lato-v17-latin-regular.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-regular.svg#Lato") format("svg");
  font-display: swap;
}
@font-face {
  font-family: "Lato";
  font-weight: 700;
  src: url("/assets/fonts/lato-v17-latin-700.eot");
  src: local("Lato Bold"), local("Lato-Bold"), url("/assets/fonts/lato-v17-latin-700.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-700.woff") format("woff"), url("/assets/fonts/lato-v17-latin-700.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-700.svg#Lato") format("svg");
  font-display: swap;
}
@font-face {
  font-family: "Varela";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/varela-round-v13-latin-regular.eot");
  src: local("Varela Round"), url("/assets/fonts/varela-round-v13-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/varela-round-v13-latin-regular.woff2") format("woff2"), url("/assets/fonts/varela-round-v13-latin-regular.woff") format("woff"), url("/assets/fonts/varela-round-v13-latin-regular.ttf") format("truetype"), url("/assets/fonts/varela-round-v13-latin-regular.svg#VarelaRound") format("svg");
}
a 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,
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,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

:root {
  font-size: 62.5%;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

html {
  box-sizing: border-box;
}

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

*:focus,
*:before:focus,
*:after:focus {
  outline: 0;
}

html,
body {
  min-width: 320px;
  min-height: 100%;
}

p:empty,
pre:empty,
blockquote:empty,
ol:empty,
ul:empty,
li:empty,
legend:empty,
figcaption:empty,
body:empty,
article:empty,
nav:empty,
aside:empty,
section:empty,
header:empty,
footer:empty,
main:empty,
address:empty {
  display: none;
}

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

svg,
symbol {
  overflow: visible;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

body {
  font-size: 1.6rem;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000;
  height: 100%;
  width: 100%;
}
body ::-moz-selection {
  color: #000;
  background-color: #b2d3fa;
}
body ::selection {
  color: #000;
  background-color: #b2d3fa;
}

address {
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  font-weight: normal;
}

h1 {
  font-size: 40px;
  line-height: 28px;
}

h2 {
  font-size: 28px;
  line-height: 33.6px;
}

h3 {
  font-size: 22px;
  line-height: 26.4px;
}

h4 {
  font-size: 19px;
  line-height: 22.8px;
}

h5 {
  font-size: 18px;
  line-height: 21.6px;
}

h6 {
  font-size: 17px;
  line-height: 20.4px;
}

hr {
  border: none;
  height: 1px;
  background-color: #000;
  margin: 0 0;
  box-sizing: content-box;
  overflow: visible;
}

blockquote,
q {
  quotes: none;
}

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

ol,
ul {
  list-style: none;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
  background-color: white;
  color: black;
  position: relative;
  z-index: 9999;
}

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

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
button:focus,
[type=button]:focus,
[type=reset]:focus,
[type=submit]:focus {
  outline: 0;
}
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[disabled] {
  cursor: default;
}

input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
textarea {
  border-radius: 0;
  border: 0;
  text-rendering: optimizeLegibility;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  -webkit-font-smoothing: antialiased;
}
input[type=color]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
textarea:focus {
  outline: 0;
}
input[type=color]:focus::-webkit-input-placeholder,
input[type=date]:focus::-webkit-input-placeholder,
input[type=datetime]:focus::-webkit-input-placeholder,
input[type=datetime-local]:focus::-webkit-input-placeholder,
input[type=email]:focus::-webkit-input-placeholder,
input[type=month]:focus::-webkit-input-placeholder,
input[type=number]:focus::-webkit-input-placeholder,
input[type=password]:focus::-webkit-input-placeholder,
input[type=search]:focus::-webkit-input-placeholder,
input[type=tel]:focus::-webkit-input-placeholder,
input[type=text]:focus::-webkit-input-placeholder,
input[type=time]:focus::-webkit-input-placeholder,
input[type=url]:focus::-webkit-input-placeholder,
input[type=week]:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: transparent;
}
input[type=color]:focus::-moz-placeholder,
input[type=date]:focus::-moz-placeholder,
input[type=datetime]:focus::-moz-placeholder,
input[type=datetime-local]:focus::-moz-placeholder,
input[type=email]:focus::-moz-placeholder,
input[type=month]:focus::-moz-placeholder,
input[type=number]:focus::-moz-placeholder,
input[type=password]:focus::-moz-placeholder,
input[type=search]:focus::-moz-placeholder,
input[type=tel]:focus::-moz-placeholder,
input[type=text]:focus::-moz-placeholder,
input[type=time]:focus::-moz-placeholder,
input[type=url]:focus::-moz-placeholder,
input[type=week]:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent;
}
input[type=color]:focus:-moz-placeholder,
input[type=date]:focus:-moz-placeholder,
input[type=datetime]:focus:-moz-placeholder,
input[type=datetime-local]:focus:-moz-placeholder,
input[type=email]:focus:-moz-placeholder,
input[type=month]:focus:-moz-placeholder,
input[type=number]:focus:-moz-placeholder,
input[type=password]:focus:-moz-placeholder,
input[type=search]:focus:-moz-placeholder,
input[type=tel]:focus:-moz-placeholder,
input[type=text]:focus:-moz-placeholder,
input[type=time]:focus:-moz-placeholder,
input[type=url]:focus:-moz-placeholder,
input[type=week]:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: transparent;
}
input[type=color]:focus:-ms-input-placeholder,
input[type=date]:focus:-ms-input-placeholder,
input[type=datetime]:focus:-ms-input-placeholder,
input[type=datetime-local]:focus:-ms-input-placeholder,
input[type=email]:focus:-ms-input-placeholder,
input[type=month]:focus:-ms-input-placeholder,
input[type=number]:focus:-ms-input-placeholder,
input[type=password]:focus:-ms-input-placeholder,
input[type=search]:focus:-ms-input-placeholder,
input[type=tel]:focus:-ms-input-placeholder,
input[type=text]:focus:-ms-input-placeholder,
input[type=time]:focus:-ms-input-placeholder,
input[type=url]:focus:-ms-input-placeholder,
input[type=week]:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: transparent;
}
input[type=color]::-webkit-input-placeholder,
input[type=date]::-webkit-input-placeholder,
input[type=datetime]::-webkit-input-placeholder,
input[type=datetime-local]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=month]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=text]::-webkit-input-placeholder,
input[type=time]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
input[type=week]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #a9a9a9;
  -webkit-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}
input[type=color]::-moz-placeholder,
input[type=date]::-moz-placeholder,
input[type=datetime]::-moz-placeholder,
input[type=datetime-local]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=month]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=text]::-moz-placeholder,
input[type=time]::-moz-placeholder,
input[type=url]::-moz-placeholder,
input[type=week]::-moz-placeholder,
textarea::-moz-placeholder {
  color: #a9a9a9;
  -moz-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}
input[type=color]:-moz-placeholder,
input[type=date]:-moz-placeholder,
input[type=datetime]:-moz-placeholder,
input[type=datetime-local]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=month]:-moz-placeholder,
input[type=number]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=text]:-moz-placeholder,
input[type=time]:-moz-placeholder,
input[type=url]:-moz-placeholder,
input[type=week]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #a9a9a9;
  -moz-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}
input[type=color]:-ms-input-placeholder,
input[type=date]:-ms-input-placeholder,
input[type=datetime]:-ms-input-placeholder,
input[type=datetime-local]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=month]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=time]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
input[type=week]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #a9a9a9;
  -ms-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

body {
  display: grid;
  grid-column-gap: var(--lo-gaps);
  grid-row-gap: 0;
  grid-template-rows: auto 1fr;
  grid-template-columns: 0 1fr 1fr 0;
}
@media (min-width: 1030px) {
  body {
    grid-template-columns: 1fr 360px minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2)) minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2)) 360px 1fr;
    max-width: 100vw;
    box-sizing: border-box;
  }
}

.lo-full {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-full > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-full {
    grid-column: 1/-1;
    grid-template-columns: inherit;
  }
}

.lo-full-content {
  grid-column: 2/-2;
}

.lo-center-content {
  grid-column: 3/-3;
}

.lo-left-content {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-left-content > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-left-content {
    grid-column: 1/-3;
    grid-template-columns: 1fr 360px minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2)) minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2));
  }
}
@media (min-width: 1030px) {
  .lo-left-content > * {
    grid-column: 2/-1;
  }
}

.lo-left-sidebar {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-left-sidebar > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-left-sidebar {
    grid-column: 1/3;
    grid-template-columns: 1fr 360px;
  }
}
@media (min-width: 1030px) {
  .lo-left-sidebar > * {
    grid-column: 2/-1;
  }
}

.lo-left-half {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-left-half > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-left-half {
    grid-column: 1/4;
    grid-template-columns: 1fr 360px minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2));
  }
}
@media (min-width: 1030px) {
  .lo-left-half > * {
    grid-column: 2/-1;
  }
}

.lo-right-content {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-right-content > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-right-content {
    grid-column: 3/-1;
    grid-template-columns: minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2)) minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2)) 360px 1fr;
  }
}
@media (min-width: 1030px) {
  .lo-right-content > * {
    grid-column: 1/-2;
  }
}

.lo-right-sidebar {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-right-sidebar > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-right-sidebar {
    grid-column: -3/-1;
    grid-template-columns: 360px 1fr;
  }
}
@media (min-width: 1030px) {
  .lo-right-sidebar > * {
    grid-column: 1/-2;
  }
}

.lo-right-half {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: inherit;
  grid-gap: inherit;
  align-content: flex-start;
  min-width: 0;
}
.lo-right-half > * {
  grid-row: auto;
  grid-column: 2/-2;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
@media (min-width: 1030px) {
  .lo-right-half {
    grid-column: 4/-1;
    grid-template-columns: minmax(auto, calc((1600px - 720px - var(--lo-gaps) - var(--lo-gaps) - var(--lo-gaps)) / 2)) 360px 1fr;
  }
}
@media (min-width: 1030px) {
  .lo-right-half > * {
    grid-column: 1/-2;
  }
}

.lo-child-fullwidth {
  grid-column: 1/-1 !important;
  max-width: none !important;
  min-width: 0;
  box-sizing: border-box;
}

.lo-right-content .lo-child-fullwidth,
.lo-right-sidebar .lo-child-fullwidth {
  padding-left: calc(2 * var(--lo-gaps)) !important;
}
@media (min-width: 1030px) {
  .lo-right-content .lo-child-fullwidth,
  .lo-right-sidebar .lo-child-fullwidth {
    padding-left: var(--lo-gaps) !important;
  }
}
.lo-right-content .lo-child-fullwidth,
.lo-right-sidebar .lo-child-fullwidth {
  transform: translateX(calc(-1 * var(--lo-gaps)));
  width: calc(100% + var(--lo-gaps));
}

html {
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
}
html.locked {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow-y: scroll !important;
}
html.locked site-cover {
  pointer-events: all;
  opacity: 1;
  cursor: pointer;
}
html * {
  font-weight: 400;
}
html {
  --bp-min: 320px;
  --bp-phone: 480px;
  --bp-medium: 720px;
  --bp-tablet: 800px;
  --bp-desktop: 1030px;
  --bp-widescreen: 1428px;
}

.block > .content.rich-text > :is(h1, h2, h3, h4, h5, h6):first-of-type,
.rich-text > :is(h1, h2, h3, h4, h5, h6):first-of-type {
  font-size: 36px;
}
.block > .content.rich-text > * + *,
.rich-text > * + * {
  margin-top: 2em;
}

.block.dark-theme {
  color: white;
}

.button-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}
@media screen and (max-width: 500px) {
  .button-wrapper {
    flex-direction: column;
  }
}

site-cover {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 0.2s;
}

video-container {
  padding-bottom: 56.25%;
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
video-container[style*=background-image] {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: black;
}
video-container iframe,
video-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

*:focus {
  outline: none;
}

body {
  color: #36383d;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  margin: 0;
  --primary: #2452a4;
  --primary-l: rgb(150.45, 179.775, 232.05);
  --primary-d: #292560;
  --field-bg: #e5eaef;
  --lo-gaps: 16px;
  --border-radius-large: 100px;
}
@media screen and (min-width: 800px) {
  body {
    --lo-gaps: 32px;
  }
}
@media screen and (min-width: 1030px) {
  body {
    --lo-gaps: 48px;
    --border-radius-large: 200px;
  }
}
@media screen and (min-width: 1428px) {
  body {
    --lo-gaps: 64px;
  }
}
body {
  --checkbox-size: 1.5em;
  --checkbox-spacing: 16px;
  --checkbox-color: #13ace3;
}
body .logo,
body .lo-left-sidebar,
body .lo-right-sidebar,
body .lo-right-content,
body .lo-full-content:not(.topnav),
body .lo-full,
body .mainnav li > a,
body .mainnav li > button {
  transition: filter 200ms;
}
body.blurred {
  overflow: hidden;
  height: 100vh;
}
body.blurred .logo,
body.blurred .lo-left-sidebar,
body.blurred .lo-right-sidebar,
body.blurred .lo-right-content,
body.blurred .lo-full-content:not(.topnav),
body.blurred .lo-full,
body.blurred .mainnav li > a,
body.blurred .mainnav li > button,
body.blurred .nav-highlighter {
  filter: blur(5px);
  opacity: 0.5;
  pointer-events: none;
}
body.blurred .popup--wrapper {
  top: 0;
}

hr {
  margin: 48px 0;
  height: 1px;
  background-color: #99999a;
}

h1,
h2,
h3,
h4 {
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  line-height: 1.2;
}
h1.heading,
h2.heading,
h3.heading,
h4.heading {
  margin-bottom: 0;
}

h1 {
  color: var(--primary-d);
  font-size: 50px;
}

h2 {
  font-size: 30px;
}
@media (max-width: 800px) {
  h2 {
    font-size: 36px;
  }
}

h3 {
  color: var(--primary-d);
  font-size: 30px;
  color: #2452a4;
  margin: 0;
}

h4 {
  font-size: 20px;
}

p,
li {
  line-height: 1.6;
}

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

.success {
  color: #3ea845;
}

.error {
  color: #882927;
}

.themed-h2 {
  font-size: clamp(28px, 4vw, 30px);
  margin-top: 0.6em !important;
  color: #002a35;
  margin-bottom: 12px;
}
.themed-h2 + * {
  margin-top: 0 !important;
}

.logo {
  fill: #fff;
  stroke: #fff;
  color: #fff;
}

svg.icon {
  height: 1em;
  width: 1em;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
}

img[data-src] {
  opacity: 1;
  transition: opacity 0.4s;
}
img[data-src].lazy {
  opacity: 0;
}

.white-bg {
  background-color: #fafcff;
}

.primary-bg {
  background-color: #2452a4;
}

.primary-l-bg {
  background-color: rgb(150.45, 179.775, 232.05);
}

.primary-vl-bg {
  background-color: rgb(234.09, 239.955, 250.41);
}

.inverted-sidebar-page {
  background: #f2f2f2;
}
.inverted-sidebar-page .banner,
.inverted-sidebar-page .maincontent {
  position: relative;
}
.inverted-sidebar-page .banner {
  margin-bottom: 0;
  z-index: 2;
}
.inverted-sidebar-page .maincontent {
  background: #fff;
  display: block;
  margin-top: calc(-1 * var(--border-radius-large));
  padding-top: calc(var(--border-radius-large) + calc(1.25 * var(--lo-gaps)));
  padding-right: var(--lo-gaps);
  padding-left: var(--lo-gaps);
  padding-bottom: calc(var(--border-radius-large) / 2);
}
.inverted-sidebar-page .maincontent figure img {
  max-width: 100%;
}
@media screen and (min-width: 1728px) {
  .inverted-sidebar-page .maincontent {
    padding-left: calc((100vw - 1600px) / 2);
  }
}
.inverted-sidebar-page .maincontent .themed-h2:first-child {
  margin-top: 0 !important;
}
.inverted-sidebar-page .inverted-sidebar {
  padding-top: calc(3vh + 64px / 2);
  padding-top: calc(3vh + var(--gutters, 64px) / 2);
  padding-bottom: calc(3vh + 64px / 2);
  padding-bottom: calc(3vh + var(--gutters, 64px) / 2);
}
.inverted-sidebar-page .inverted-sidebar > nav {
  padding: 16px 0 16px 0;
}
@media screen and (max-width: 1030px) {
  .inverted-sidebar-page .inverted-sidebar > nav:first-of-type {
    border-top: none;
  }
}
.inverted-sidebar-page .inverted-sidebar > h3.lo-child-fullwidth {
  padding-bottom: 12px;
}
.inverted-sidebar-page aside.search ~ .inverted-sidebar {
  margin-top: calc(1.25 * var(--lo-gaps));
}

.maincontent > ol,
.maincontent > ul {
  margin-bottom: 16px;
  margin-top: 16px;
}
.maincontent > ol li,
.maincontent > ul li {
  position: relative;
  display: block;
  padding-left: 20px;
}
.maincontent > ol li + li,
.maincontent > ul li + li {
  margin-top: 5px;
}
.maincontent > ol li a,
.maincontent > ul li a {
  text-decoration: none;
  color: #2452a4;
}
.maincontent > ol li:before,
.maincontent > ul li:before {
  color: #2452a4;
  position: absolute;
  top: 1px;
  left: 0;
}
.maincontent > ul li:before {
  content: "●";
}
.maincontent > ol {
  counter-reset: counter;
}
.maincontent > ol > li:before {
  content: counter(counter) ".";
  counter-increment: counter;
}

.maincontent p,
.maincontent ul,
.maincontent figure {
  margin-top: 16px;
}
.maincontent h1 + p,
.maincontent h1 + ul,
.maincontent h3,
.maincontent h4 {
  margin-top: 32px;
}
.maincontent * + h2 {
  margin-top: 48px;
}
.maincontent h3:first-of-type,
.maincontent h2:first-of-type,
.maincontent h3.JS_tablist-tab {
  margin-top: 0;
}
.maincontent figure figcaption {
  margin-top: 8px;
  font-size: 14px;
  color: var(theme, primary);
}
.maincontent p a {
  text-decoration: underline;
}
.maincontent .content.columned {
  display: flex;
}
.maincontent .content.columned .col1 {
  padding-right: 32px;
}
.maincontent .content.columned .col1,
.maincontent .content.columned .col2 {
  width: 50%;
}
.maincontent .content.columned video-container {
  position: relative;
}
@media (max-width: 1500px) and (min-width: 1031px), (max-width: 970px) {
  .maincontent .content.columned {
    flex-direction: column;
  }
  .maincontent .content.columned .col1,
  .maincontent .content.columned .col2 {
    width: 100%;
  }
  .maincontent .content.columned figure {
    width: 100%;
  }
}

.maincontent + .footer-wrap {
  margin-top: var(--lo-gaps);
}

.content--title {
  color: #292560;
  margin-bottom: calc(1.25 * var(--lo-gaps));
  margin-top: calc(1.25 * var(--lo-gaps));
  text-align: center;
}

.title-block .content--title {
  margin-top: 0;
}

.text-centered {
  text-align: center;
}

.floating-connector {
  filter: drop-shadow(8px 16px 16px #333);
}

.addon-advantage {
  color: --primary;
  color: var(--primary-l, --primary);
  display: block;
  font-size: 30px;
  margin-bottom: 16px;
}
.addon-advantage::after {
  content: ":";
}

@media screen and (max-width: 1030px) {
  .default-nav-layout .topnav {
    order: 0;
  }
  .default-nav-layout .topnav:not(.open) {
    --nav-icon-colour: #828786;
  }
  .default-nav-layout .topnav a.logo {
    width: 140px !important;
    height: 31px !important;
  }
  .default-nav-layout .topnav a.logo svg {
    fill: #2452a4;
    stroke: #2452a4;
    color: #2452a4;
  }
  .default-nav-layout .topnav .pre-nav > a,
  .default-nav-layout .topnav .pre-nav .mini-menu > a {
    text-shadow: initial;
    color: #36383d;
  }
}

sticky-sidebar {
  position: sticky;
  top: 90px;
}

.error-message {
  position: relative;
  width: 100%;
  z-index: 999;
  grid-row: 1;
  grid-column: 1/-1;
  background-color: #2452a4;
  color: white;
  display: table;
  text-align: center;
  vertical-align: middle;
  padding-top: 30px;
  padding-bottom: 30px;
}
noscript {
  grid-row: 1;
  grid-column: 1/-1;
}

.error-message div {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}
.error-message div h1,
.error-message div p,
.error-message div a {
  max-width: 720px;
  margin-bottom: 8px;
  margin-left: auto;
  margin-right: auto;
}
.error-message div h1 {
  color: white;
  font-size: 30px;
}
.error-message div p {
  color: white;
  line-height: 1.6;
}
.error-message div .button {
  display: inline-block;
  background-color: white;
  color: black;
  margin-top: 10px;
}
.error-message div .button:hover {
  color: #2452a4;
}
.error-message.full-screen {
  position: fixed !important;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

form.special-freeform input:not([value=""]):not(:focus) ~ field-status-bar:before,
form.special-freeform textarea:not([value=""]):not(:focus) ~ field-status-bar:before {
  width: 100%;
}
form.special-freeform input:not([value=""]):not(:focus):invalid ~ field-status-bar:before,
form.special-freeform textarea:not([value=""]):not(:focus):invalid ~ field-status-bar:before {
  background-color: var(#c04542) !important;
}

body > div > div.grecaptcha-badge {
  bottom: 60px !important;
}

.help-link {
  position: fixed;
  bottom: 0;
  right: 12px;
  background: linear-gradient(to right, #2452a4, #292560);
  color: white;
  padding: 12px 32px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  font-size: 20px;
  font-family: "Varela", "Lato", "Lato-Bold", "Arial Rounded MT Bold", "Helvetica Rounded", Arial, sans-serif;
}
.help-link:hover:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 23px;
  background-color: #000;
  opacity: 0.2;
  pointer-events: none;
  border-radius: 8px 8px 0 0;
}

/*
$brown       : #A77A3E;
$purple      : #A83E7A;
$yellow      : #EB9F24;
$selection   : $yellow;
*/
@font-face {
  font-family: "Lato";
  font-weight: 400;
  src: url("/assets/fonts/lato-v17-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Lato Regular"), local("Lato-Regular"), url("/assets/fonts/lato-v17-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/lato-v17-latin-regular.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-regular.woff") format("woff"), url("/assets/fonts/lato-v17-latin-regular.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-regular.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
@font-face {
  font-family: "Lato-Bold";
  font-weight: 700;
  src: url("/assets/fonts/lato-v17-latin-700.eot"); /* IE9 Compat Modes */
  src: local("Lato Bold"), local("Lato-Bold"), url("/assets/fonts/lato-v17-latin-700.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-700.woff") format("woff"), url("/assets/fonts/lato-v17-latin-700.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-700.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* varela-round-regular - latin */
@font-face {
  font-family: "Varela";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/varela-round-v13-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Varela Round"), url("/assets/fonts/varela-round-v13-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/varela-round-v13-latin-regular.woff2") format("woff2"), url("/assets/fonts/varela-round-v13-latin-regular.woff") format("woff"), url("/assets/fonts/varela-round-v13-latin-regular.ttf") format("truetype"), url("/assets/fonts/varela-round-v13-latin-regular.svg#VarelaRound") format("svg"); /* Legacy iOS */
}
.accordion {
  position: relative;
  display: block;
  padding-left: 0;
  width: 100%;
  padding: 32px;
  border-bottom: 1px solid #828786;
}

.accordion > *:first-child {
  position: relative;
  display: block;
  width: 100%;
  margin-bottom: 0;
  cursor: pointer;
  color: #36383d;
  font-size: 20px;
  font-weight: bold;
}

.accordion > *:first-child svg {
  position: absolute;
  stroke-width: 14px;
  right: 16px;
  top: 50%;
  height: 32px;
  width: 32px;
  content: "";
  display: block;
  top: calc(50% - 16px);
  color: #2452a4;
  transition: all 0.3s ease-in-out;
}

.accordion > *:first-child p {
  margin-bottom: 0;
}

.accordion > div {
  display: block;
  overflow: hidden;
  max-height: 0;
  transition: all 0.3s ease-in-out;
  opacity: 0;
  padding: 0 32px;
  border-left: 2px solid #2452a4;
}

.accordion > div > *:last-child {
  display: block;
  line-height: 28px;
}

.accordion.open > *:first-child svg {
  transform: rotate(45deg);
}

.accordion.open > *:last-child > *:first-child {
  opacity: 1;
}

.accordion.open > div {
  margin-top: 16px;
  opacity: 1;
}

.accordion .accordion > *:first-child {
  background-color: white;
}

.accordion .accordion > *:last-child > *:first-child {
  background-color: white;
}

.accordion .accordion.open > *:first-child {
  color: white;
}

@media (max-width: 760px) {
  .accordion {
    padding-left: 16px;
  }
  .accordion > *:first-child {
    padding-right: 32px;
  }
  .accordion > *:first-child svg {
    right: -24px;
  }
}
#advantage-partner-program {
  background-color: #edf0fa;
}

section.advantages-table {
  margin-bottom: 0;
  padding-top: 0 !important;
}

section.advantages-table .badge-block {
  position: relative;
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  width: 100%;
  margin: 64px auto;
}

section.advantages-table .badge-block > figure {
  position: relative;
}

section.advantages-table .badge-block > figure img {
  display: block;
  z-index: 10;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: 32px;
}

@media (min-width: 769px) {
  section.advantages-table .badge-block {
    flex-direction: row;
    width: 80%;
  }
  section.advantages-table .badge-block > figure img {
    height: 200px;
    width: 300px;
  }
}
div.advantages-table > h4 {
  z-index: 10;
  position: relative;
}

div.advantages-table > div {
  display: flex;
  flex-direction: row;
  border-bottom: 2px solid #fff;
}

div.advantages-table > div > div {
  width: 20%;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  flex-grow: 1;
  border-bottom: none;
  background: #2452a4;
  font-size: 30px;
  background: linear-gradient(to bottom, #2452a4, #292560);
  z-index: 10;
}

@media (max-width: 768px) {
  div.advantages-table > div > div {
    font-size: 18px;
  }
}
@media (max-width: 400px) {
  div.advantages-table > div > div {
    font-size: 8px;
  }
}
div.advantages-table > div:first-of-type > div {
  margin-top: 36px;
  border-top-left-radius: 8px;
}

div.advantages-table > div:last-of-type {
  border-bottom: none;
}

div.advantages-table > div:last-of-type > div {
  border-bottom-left-radius: 8px;
}

div.advantages-table > div table {
  width: 80%;
  position: relative;
}

div.advantages-table > div table thead {
  display: none;
}

div.advantages-table > div table thead td {
  height: 0px;
  background-color: transparent;
  border: none;
  color: #2452a4;
  font-weight: bold;
  font-size: 18px;
}

@media (max-width: 500px) {
  div.advantages-table > div table thead td {
    font-size: 8px;
  }
}
div.advantages-table > div table tr.header-row td {
  background-color: #d4d3d8;
  font-weight: bold;
  border: none;
}

div.advantages-table > div table td {
  background-color: #f2f2f2;
  width: 15%;
  padding: 8px;
  text-align: center;
  border: 1px solid #fff;
  position: relative;
}

div.advantages-table > div table td svg {
  height: 18px;
  width: 18px;
  color: #2452a4;
  position: absolute;
  top: calc(50% - 9px);
  left: calc(50% - 9px);
}

div.advantages-table > div table td:first-of-type {
  width: 50%;
  text-align: left;
}

div.advantages-table > div:first-of-type table thead {
  display: table-row-group;
}

div.advantages-table > div:first-of-type table tbody {
  border-top-right-radius: 12px;
}

div.advantages-table > div:first-of-type table tbody tr:first-of-type {
  border-top: 3px solid #fff;
}

div.advantages-table > div:first-of-type table tbody tr:first-of-type td:last-of-type {
  border-top-right-radius: 12px;
}

.banner-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
}

.banner-icons li {
  float: left;
  width: 20%;
}

.banner-icons li img {
  opacity: 0.8;
  max-width: 200px;
  width: auto;
  max-height: 40px;
}

@media (max-width: 1200px) {
  .banner-icons {
    flex-direction: column;
    position: relative;
  }
  .banner-icons li {
    width: auto;
    margin-bottom: 48px;
  }
}
.banner {
  grid-row: 1/2;
  margin-bottom: var(--lo-gaps);
  position: relative;
  padding-top: 128px;
  color: #ffffff;
}

.banner > nav {
  position: absolute;
  top: calc(50% - 20px);
  right: calc(360px + var(--lo-gaps) * 2);
  z-index: 999;
  display: flex;
}

.banner > nav button {
  padding: 8px;
  background-color: white;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.banner > nav button svg {
  width: 70%;
  height: 70%;
  position: relative;
}

.banner > nav button.previous {
  margin-right: 16px;
}

.banner > nav button.previous svg {
  left: -2px;
}

.banner > nav button.next svg {
  right: -1px;
}

.banner > nav button:hover {
  transform: scale(1.2);
}

.banner section .button {
  transition: color 0.2s ease-in-out, transform 0.2s ease-in-out, border-color 0.2s ease-in-out, background-color 0.2s ease-in-out !important;
}

.banner button.next {
  margin-left: 16px;
}

.banner button.next svg {
  margin-left: 8px;
  font-size: 0.7em;
  position: relative;
}

.banner .background-element {
  grid-column: 1/-1;
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  z-index: -1;
  background-color: #2452a4;
  filter: contrast(0.65);
}

.banner .background-element.standard-video:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #07051f;
  animation: fade-out 0.8s 0.2s ease-in-out forwards;
}

.banner .background-element video,
.banner .background-element img {
  background: #2452a4;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.banner .background-element video[src*="1131198259"], .banner .background-element video[data-src*="1131198259"],
.banner .background-element img[src*="1131198259"],
.banner .background-element img[data-src*="1131198259"] {
  -o-object-position: 0% 0%;
     object-position: 0% 0%;
}

.banner.nof {
  /* no object fit support */
}

.banner.nof .background-element video,
.banner.nof .background-element img {
  width: 100%;
  height: auto;
}

.banner.nof {
  overflow: hidden;
}

.banner .search form {
  background: #ffffff;
  border-radius: 10px;
  color: #292560;
  margin: 0 0 64px auto;
  padding: 32px;
  width: calc(360px + var(--lo-gaps));
}

.banner .search form fieldset {
  padding: 0;
  border: none;
}

@media (max-width: 1030px) {
  .banner .search {
    grid-column: 1/-1;
  }
  .banner .search form {
    margin-left: auto;
    margin-right: auto;
    max-width: 40em;
    width: 100%;
  }
}
.banner .banner--content {
  margin: 32px 0;
}

.banner .banner--content h1,
.banner .banner--content h2 {
  color: inherit;
}

.banner .banner--content h2 {
  font-size: 32px;
}

.banner .banner--content h2,
.banner .banner--content a {
  margin-top: 16px;
}

.banner .banner--content .JS_share-btn {
  margin-top: 16px;
}

@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.marker-holder {
  position: absolute;
  bottom: 20px;
  z-index: 9999;
  width: auto;
  display: inline-block;
  border-radius: 5px;
}

.marker-holder button {
  width: 12px;
  height: 12px;
  background: #ffffff;
  border-radius: 50%;
  opacity: 0.3;
  margin-right: 10px;
}

.marker-holder button.active {
  opacity: 1;
}

.sys-heading {
  display: flex;
  font-size: 14px;
  width: 100%;
  justify-content: center;
  align-items: center;
  margin-bottom: 32px;
}

.sys-heading:before, .sys-heading:after {
  content: "";
  border-top: 1px solid;
  margin: 0 20px 0 0;
  flex: 1 0 20px;
  opacity: 0.2;
}

.sys-heading:after {
  margin: 0 0 0 20px;
}

.block-list {
  display: grid;
  grid-column-gap: var(--lo-gaps);
  grid-row-gap: var(--lo-gaps);
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.block-list.block-list--three {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.block-list {
  justify-content: center;
}

#insights .block-list.block-list--three {
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
}

#news .block-list-block .block-list-block--description {
  display: block;
  padding-top: 0;
}

.block-list-block {
  background: #fff;
  border-radius: 20px;
  border: 1px solid #e5eaef;
  color: inherit;
  position: relative;
  text-decoration: none;
  width: 100%;
  justify-self: center;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  display: flex;
  flex-direction: column;
}

.block-list-block:hover {
  border: 1px solid #13ace3;
}

.block-list-block {
  /*
  	&[data-tag] {
  		&:after {
  			content:attr(data-tag);
  			position:absolute;
  			top:$gap2; right:0;
  			color:white;
  			font-size:14px;
  			padding:5px 10px;
  			border-top-left-radius:$border-radius-small;
  			border-bottom-left-radius:$border-radius-small;
  		}
  		&[data-tag="Sale"]:after { background-color:$c-red; }
  		&[data-tag="New"]:after { background-color:$c-green; }
  		&[data-tag="Discontinued"] {
  			&:after { background-color:$c-grey; }
  			background:$c-grey-vl;
  			h2, p { color:$c-grey; }
  			.block-list-block--image { filter:grayscale(100%); }
  		}
  	}
  */
  /*&:not(.knowledge-blocks) {
  	&:hover {
  		will-change		 : transform;
  		transform		: scale(1.02);
  		box-shadow		: 0 2px 24px -8px $c-grey-bg;
  	}
  }*/
}

.block-list-block .block-list-block--image {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: hidden;
  padding-bottom: 66.67%;
  position: relative;
}

.block-list-block .block-list-block--image img, .block-list-block .block-list-block--image::after {
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.block-list-block .block-list-block--image img {
  display: block !important;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.block-list-block .block-list-block--image img.avoid-cropping {
  -o-object-fit: fill;
     object-fit: fill;
  width: 80%;
  height: 80%;
  margin: auto;
}

.block-list-block .block-list-block--bigtitle {
  color: #2452a4;
  font-size: 20px;
  order: 3;
  padding: 16px 32px;
}

.block-list-block .block-list-block--callout {
  order: 2;
  padding: 16px 32px 0;
  text-transform: uppercase;
}

.block-list-block .block-list-block--callout + .block-list-block--bigtitle {
  padding: 16px 32px 32px;
}

.block-list-block .block-list-block--smalltitle,
.block-list-block .block-list-block--description {
  margin-top: 0;
  padding: 32px;
}

.block-list-block .block-list-block--description {
  padding-top: 0;
  order: 4;
}

.block-list-block .block-list-block--smalltitle {
  color: #2452a4;
  font-size: 19.2px;
  padding-bottom: 0;
}

.block-list-block .block-list-block--smalltitle ~ .block-list-block--description {
  padding-top: 16px;
}

.block-list-block:hover .block-list-block--bigtitle {
  color: #13ace3;
}

.block-list--loading .block-list-block {
  opacity: 0.5;
}

.block-list-block--list-block {
  background: #fff;
  padding-bottom: 16px;
}

.block-list-block--list-block h3 {
  padding: 32px;
}

.block-list-block--list-block .block-list-block--list-link {
  align-items: flex-start;
  border-top: 1px solid #e5eaef;
  display: flex;
  line-height: 1.4;
  padding: 16px 32px;
  text-decoration: none;
}

.block-list-block--list-block .block-list-block--list-link::before {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%2313ace3'%3E %3Cpath d='M0,13.7h23.3L13,3.2L16.2,0L32,16L16.2,32L13,28.8l10.3-10.5H0V13.7z'/%3E %3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  min-height: 16px;
  min-width: 16px;
  top: 4px;
  position: relative;
  display: block;
  margin-right: 16px;
}

.block-list--page-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #e5eaef;
  margin-bottom: 16px;
  padding: 16px 0;
  font-size: smaller;
}

.block-list--page-info span:nth-of-type(2) {
  margin-left: auto;
}

@media (max-width: 799px) {
  .block-list--page-info span:nth-of-type(2) {
    display: none;
  }
}
@media (max-width: 669px) {
  .block-list--page-info {
    margin: 16px 0;
    padding: 16px;
    background-color: #e5eaef;
  }
}
.search-index-page .block-list--page-info {
  background-color: unset;
  margin: 0;
  border-bottom: none;
}

.block-list--pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 32px 0;
}

.block-list--pagination span {
  align-self: center;
  margin: 0 16px;
  white-space: nowrap;
}

.block-list--pagination button {
  border-radius: 10px 0 0 10px;
  font-size: 14px;
}

.block-list--pagination button + button {
  border-left-width: 0;
  border-radius: 0 10px 10px 0;
}

.block-list--rows {
  display: block;
}

.block-list--rows .block-list-block {
  align-items: flex-start;
  border: none;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  padding: 32px;
  max-width: none;
  width: 100%;
}

.block-list--rows .block-list-block:nth-child(2n) {
  background-color: rgb(234.09, 239.955, 250.41);
}

.block-list--rows .block-list-block::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%2313ace3'%3E %3Cpath d='M0,13.7h23.3L13,3.2L16.2,0L32,16L16.2,32L13,28.8l10.3-10.5H0V13.7z'/%3E %3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  content: " ";
  height: 1em;
  width: 1em;
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translate(-50%);
}

.block-list--rows .block-list-block > :first-child {
  padding-top: 0;
}

.block-list--rows .block-list-block > :last-child {
  padding-bottom: 0;
}

.block-list--rows .block-list-block:hover {
  box-shadow: none;
}

.block-list--rows .block-list-block--image {
  display: none;
}

.block-list--rows .block-list-block--bigtitle,
.block-list--rows .block-list-block--callout {
  color: #292560;
  position: static;
}

.block-list--rows .block-list-block--callout {
  background: none;
  border: none;
  font-size: 14px;
  padding: 0;
  order: -1;
}

.block-list--rows .block-list-block--callout::before {
  color: #828786;
  content: "Found in: ";
}

.block-list--rows .block-list-block--smalltitle,
.block-list--rows .block-list-block--description {
  padding: 16px 0;
}

.JS_tablist .block-list--products .block-list-block {
  background: linear-gradient(#e3e8ec, white 80%);
}

.sidebar + .maincontent .block-list {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
}

.sidebar + .maincontent .block-list .block-list-block--bigtitle {
  font-size: 20px;
  margin-top: 16px;
}

@media (max-width: 669px) {
  .list-view {
    margin: 0 -16px;
    max-width: unset;
    width: auto;
  }
}
.list-view .block-list {
  display: flex;
  flex-direction: column;
  grid-column-gap: 0 !important;
  grid-row-gap: 0 !important;
}

.list-view .block-list .block-list-block {
  border-radius: 5px;
  display: flex;
  flex-direction: row;
  align-items: center;
  max-width: 100%;
  margin-bottom: 16px;
  padding: 8px;
}

@media (max-width: 669px) {
  .list-view .block-list .block-list-block {
    border-radius: unset;
  }
}
.list-view .block-list .block-list-block .block-list-block--image {
  border-radius: inherit;
  padding: 0;
  flex: 0 0 120px;
}

.list-view .block-list .block-list-block .block-list-block--image img {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
}

.list-view .block-list .block-list-block > .block-list-block--title-desc-wrap {
  flex: 0 1 auto;
  margin: 0 16px auto 16px;
}

.list-view .block-list .block-list-block > .block-list-block--title-desc-wrap > .block-list-block--smalltitle {
  padding: 0;
  font-size: 18px;
  margin: 8px 0;
}

.list-view .block-list .block-list-block > .block-list-block--title-desc-wrap > .block-list-block--description {
  border: none;
  padding: 0;
  font-size: 16px;
}

.list-view .block-list .block-list-block[data-tag]:after {
  display: none;
}

.list-view .block-list .block-list-block[data-tag][data-tag=Sale] h2:after {
  content: "(Sale)";
  color: #882927;
}

.list-view .block-list .block-list-block[data-tag][data-tag=New] h2:after {
  content: "(New)";
  color: #3ea845;
}

.list-view .block-list .block-list-block[data-tag][data-tag=Discontinued] h2:after {
  content: "(Discontinued)";
  color: #828786;
}

.list-view .block-list .block-list-block[data-tag] h2:after {
  display: block;
  font-size: 14px;
}

.list-view .block-list .block-list-block button {
  /*top: 50%;
  right:0px;
  left:initial;
  position: absolute;
  bottom:initial;
  transform: translateX(0%) translateY(-50%);
  transition: transform 0.2s $ease-out-back, opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;*/
  align-self: center;
  margin: 0 0 0 auto;
  display: block;
  flex: 0 0 160px;
  max-height: 3em;
}

.list-view .block-list .block-list-block button .icon {
  font-size: 0.75em;
}

@media (max-width: 669px) {
  .list-view .block-list .block-list-block {
    flex-direction: column;
    align-items: unset;
  }
  .list-view .block-list .block-list-block > button {
    width: 100%;
  }
  .list-view .block-list .block-list-block > .block-list-block--image {
    position: absolute;
    left: 8px;
    top: 8px;
    max-width: 120px;
    margin: 0 auto;
  }
  .list-view .block-list .block-list-block > .block-list-block--title-desc-wrap {
    min-height: 120px;
    padding: 0 0 0 120px;
    margin-bottom: 8px;
  }
  .list-view .block-list .block-list-block > .block-list-block--title-desc-wrap > .block-list-block--description {
    font-size: smaller;
  }
}
@media (max-width: 349px) {
  .list-view .block-list .block-list-block > .block-list-block--image {
    max-width: 80px;
  }
  .list-view .block-list .block-list-block > .block-list-block--title-desc-wrap {
    min-height: 80px;
    padding-left: 80px;
  }
  .list-view .block-list .block-list-block > .block-list-block--title-desc-wrap > .block-list-block--smalltitle {
    word-break: break-word;
    margin-bottom: 0;
  }
}
.display-toggle {
  width: 20px;
  height: 20px;
  margin-left: 16px;
}

@media (max-width: 799px) {
  .display-toggle {
    display: none;
  }
}
.display-toggle .icon-layout {
  fill: #13ace3;
  transition: fill 0.2s ease-in-out;
}

.display-toggle .icon-layout rect {
  pointer-events: none;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.display-toggle .icon-layout rect:nth-of-type(1) {
  transform-origin: 4.3px 4.3px;
}

.display-toggle .icon-layout rect:nth-of-type(2) {
  transform-origin: 4.3px 16.5px;
}

.display-toggle .icon-layout rect:nth-of-type(3) {
  transform-origin: 4.3px 28.7px;
}

.display-toggle .icon-layout rect:nth-of-type(4) {
  transform-origin: 12.5px 4.3px;
}

.display-toggle .icon-layout rect:nth-of-type(5) {
  transform-origin: 12.5px 16.5px;
}

.display-toggle .icon-layout rect:nth-of-type(6) {
  transform-origin: 12.5px 28.7px;
}

.display-toggle .icon-layout rect:nth-of-type(7) {
  transform-origin: 28.7px 4.3px;
}

.display-toggle .icon-layout rect:nth-of-type(8) {
  transform-origin: 28.7px 16.5px;
}

.display-toggle .icon-layout rect:nth-of-type(9) {
  transform-origin: 28.7px 28.7px;
}

.display-toggle .icon-layout rect:nth-of-type(7) {
  transform: scale(0);
  transition-delay: 0s;
}

.display-toggle .icon-layout rect:nth-of-type(8) {
  transform: scale(0);
  transition-delay: 0.1s;
}

.display-toggle .icon-layout rect:nth-of-type(9) {
  transform: scale(0);
  transition-delay: 0.2s;
}

.display-toggle .icon-layout rect:nth-of-type(4) {
  transform: scale(2.5, 1);
  transition-delay: 0.3s;
}

.display-toggle .icon-layout rect:nth-of-type(5) {
  transform: scale(2.5, 1);
  transition-delay: 0.45s;
}

.display-toggle .icon-layout rect:nth-of-type(6) {
  transform: scale(2.5, 1);
  transition-delay: 0.6s;
}

.display-toggle .icon-layout:hover {
  fill: #13ace3;
}

.display-toggle.list-view .icon-layout rect:nth-of-type(7) {
  transform: scale(1);
  transition-delay: 0.3s;
}

.display-toggle.list-view .icon-layout rect:nth-of-type(8) {
  transform: scale(1);
  transition-delay: 0.45s;
}

.display-toggle.list-view .icon-layout rect:nth-of-type(9) {
  transform: scale(1);
  transition-delay: 0.6s;
}

.display-toggle.list-view .icon-layout rect:nth-of-type(4) {
  transform: scale(1);
  transition-delay: 0s;
}

.display-toggle.list-view .icon-layout rect:nth-of-type(5) {
  transform: scale(1);
  transition-delay: 0.1s;
}

.display-toggle.list-view .icon-layout rect:nth-of-type(6) {
  transform: scale(1);
  transition-delay: 0.2s;
}

.JS_mobilefilters {
  color: #13ace3;
  margin-left: 16px;
}

@media (min-width: 1030px) {
  .JS_mobilefilters {
    display: none;
  }
}
#content .block-list-block--bigtitle {
  margin-top: 0;
  padding-left: 0;
  padding-top: 16px;
}

blockquote {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: var(--lo-gaps);
}

@media (min-width: 1030px) {
  blockquote {
    border-bottom: none;
    padding-bottom: 0;
  }
}
blockquote p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 20px;
  line-height: 1.4;
  quotes: '"' '"' "" " " "";
}

blockquote p:before {
  content: open-quote;
}

blockquote p:after {
  content: close-quote;
}

blockquote footer {
  align-items: center;
  display: flex;
  margin-top: 32px;
}

blockquote footer img {
  border-radius: 50%;
  flex: 0 0 50px;
  height: 50px;
  width: 50px;
  margin-right: 16px;
  background-color: white;
}

blockquote footer cite {
  font-style: normal;
  font-weight: 700;
}

blockquote footer cite span {
  color: rgba(255, 255, 255, 0.6);
  display: block;
  font-size: 14px;
  font-weight: 400;
  margin-top: 6px;
}

.sidebar .simple-search + blockquote {
  margin-top: var(--lo-gaps);
}

.breadcrumbs {
  line-height: 1.25em;
}

.breadcrumbs a[href]:hover {
  text-decoration: underline;
}

.breadcrumbs .icon {
  height: 0.5em;
  width: 0.5em;
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.breadcrumbs {
  font-size: 0.75em;
}

@media (min-width: 480px) {
  .breadcrumbs {
    font-size: 1em;
  }
}
.product-page .breadcrumbs {
  margin: 16px 0;
}

@media (min-width: 1030px) {
  .product-page .breadcrumbs {
    margin-top: 0;
  }
}
button[type=button],
button[type=submit],
button[type=reset],
.button {
  align-items: center;
  border-radius: 5px;
  color: #fff;
  background-color: #2452a4;
  cursor: pointer;
  display: inline-flex;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 16px;
  justify-content: center;
  padding: 7px 16px;
  position: relative;
  text-decoration: none;
  transition: 0.2s color, 0.2s background-color, 0.2s opacity;
}

button[type=button].button--large, button[type=button].large,
button[type=submit].button--large,
button[type=submit].large,
button[type=reset].button--large,
button[type=reset].large,
.button.button--large,
.button.large {
  padding: 10.6666666667px 16px;
  font-size: 16px;
}

button[type=button].button--large .icon,
button[type=button].button--large .symbol, button[type=button].large .icon,
button[type=button].large .symbol,
button[type=submit].button--large .icon,
button[type=submit].button--large .symbol,
button[type=submit].large .icon,
button[type=submit].large .symbol,
button[type=reset].button--large .icon,
button[type=reset].button--large .symbol,
button[type=reset].large .icon,
button[type=reset].large .symbol,
.button.button--large .icon,
.button.button--large .symbol,
.button.large .icon,
.button.large .symbol {
  font-size: 0.7em;
}

button[type=button].small,
button[type=submit].small,
button[type=reset].small,
.button.small {
  padding: 5.3333333333px 8px;
  font-size: 16px;
}

button[type=button].small .icon,
button[type=button].small .symbol,
button[type=submit].small .icon,
button[type=submit].small .symbol,
button[type=reset].small .icon,
button[type=reset].small .symbol,
.button.small .icon,
.button.small .symbol {
  font-size: 0.7em;
}

button[type=button] .symbol,
button[type=button] .icon,
button[type=submit] .symbol,
button[type=submit] .icon,
button[type=reset] .symbol,
button[type=reset] .icon,
.button .symbol,
.button .icon {
  width: 1.3rem;
  fill: currentColor;
}

button[type=button]:disabled,
button[type=submit]:disabled,
button[type=reset]:disabled,
.button:disabled {
  color: #828786;
  background-color: #e5eaef;
  border-color: #e5eaef;
  pointer-events: none;
}

button[type=button].button--loading,
button[type=submit].button--loading,
button[type=reset].button--loading,
.button.button--loading {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' id='plusEncircled' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23fff'%3E %3Cstyle%3E @keyframes spin %7B to %7B transform : rotate( 180deg ); %7D %7D path %7B animation : spin 1.5s ease-in-out infinite; transform-origin : 50%25 50%25; %7D %3C/style%3E %3Cpath d=' M0 32 A32 32 0 0 1 32 0 A32 32 0 0 1 64 32 A32 32 0 0 1 32 64 A32 32 0 0 1 0 32 Z M28 28 L12 28 A4 4 0 0 0 12 36 L28 36 L28 52 A4 4 0 0 0 36 52 L36 36 L52 36 A4 4 0 0 0 52 28 L36 28 L36 12 A4 4 0 0 0 28 12 Z '/%3E %3C/svg%3E");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1em;
  color: transparent;
}

@media (hover: hover) {
  button[type=button]:hover,
  button[type=submit]:hover,
  button[type=reset]:hover,
  .button:hover {
    background: #13ace3;
    color: #fff;
  }
}
button[type=button]:active, button[type=button]:focus,
button[type=submit]:active,
button[type=submit]:focus,
button[type=reset]:active,
button[type=reset]:focus,
.button:active,
.button:focus {
  background: #13ace3;
  color: #fff;
}

button[type=button] .icon,
button[type=button] .symbol,
button[type=submit] .icon,
button[type=submit] .symbol,
button[type=reset] .icon,
button[type=reset] .symbol,
.button .icon,
.button .symbol {
  margin-left: 8px;
}

button[type=button].button--icon-before .icon, button[type=button].button--icon-before .symbol,
button[type=submit].button--icon-before .icon,
button[type=submit].button--icon-before .symbol,
button[type=reset].button--icon-before .icon,
button[type=reset].button--icon-before .symbol,
.button.button--icon-before .icon,
.button.button--icon-before .symbol {
  margin-left: 0;
  margin-right: 8px;
}

button[type=button].button--icon-btn .icon, button[type=button].button--icon-btn .symbol,
button[type=submit].button--icon-btn .icon,
button[type=submit].button--icon-btn .symbol,
button[type=reset].button--icon-btn .icon,
button[type=reset].button--icon-btn .symbol,
.button.button--icon-btn .icon,
.button.button--icon-btn .symbol {
  margin-left: 0;
  margin-right: 0;
}

.ie button,
.ie button[type=button],
.ie button[type=submit] button[type=reset],
.ie .button {
  background-color: #2452a4;
}

.ie button:hover, .ie button:active, .ie button:focus,
.ie button[type=button]:hover,
.ie button[type=button]:active,
.ie button[type=button]:focus,
.ie button[type=submit] button[type=reset]:hover,
.ie button[type=submit] button[type=reset]:active,
.ie button[type=submit] button[type=reset]:focus,
.ie .button:hover,
.ie .button:active,
.ie .button:focus {
  background-color: #292560;
}

.JS_cable-table {
  margin: 32px 0;
  overflow-x: auto;
  overflow-y: hidden;
  transition: height 0.25s ease-out;
}

.JS_cable-table .ctrls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: sticky;
  left: 0;
}

.JS_cable-table select {
  transition: opacity 0.25s ease-out;
  width: 15em;
}

.JS_cable-table table {
  width: 100%;
  margin-top: 16px;
}

.JS_cable-table table tr:nth-child(2n+1) {
  background: #fff;
}

.JS_cable-table table tr:nth-child(2n) {
  background: rgb(234.09, 239.955, 250.41);
}

.JS_cable-table table td,
.JS_cable-table table th {
  vertical-align: middle;
}

.JS_cable-table table th {
  padding: 0.5em;
}

.JS_cable-table table th:first-child {
  text-align: left;
}

.JS_cable-table table td {
  text-align: center;
  /*
  &:hover {
  	position	: relative;
  	z-index		: 1;

  	&::before,
  	&::after {
  		background	: hotpink;
  		content		: ' ';
  		display		: block;
  		position	: absolute;
  		z-index		: -1;
  	}
  	&::before {
  		left	: 0;
  		right	: 0;

  		height	: 10000px;
  		top		: -5000px;
  	}
  	&::after {
  		bottom	: 0;
  		top		: 0;

  		width	: 10000px;
  		left	: -5000px;
  	}
  }*/
}

.JS_cable-table table tr:not(:first-of-type):hover td,
.JS_cable-table table tr:not(:first-of-type):hover th,
.JS_cable-table table td.hilite:not(:first-child),
.JS_cable-table table th.hilite:not(:first-child) {
  background: #e5eaef;
}

.JS_cable-table table tr th:first-child {
  background: inherit;
  left: 0;
  position: sticky;
}

.JS_cable-table table a[href] {
  color: #2452a4;
}

.JS_cable-table table a[href]:hover {
  color: #13ace3;
}

.JS_cable-table table a[href] {
  display: inline-block;
  padding: 0.5em 0.5em;
  text-align: center;
  width: 100%;
}

.JS_cable-table table a[href]:active {
  transform: translateY(1px);
}

.cable-table-opener {
  color: #2452a4;
}

.cable-table-opener:hover {
  color: #13ace3;
}

.cable-table-opener {
  text-align: left;
  width: auto;
}

.cable-table-opener .icon {
  margin-left: 0.5em;
  transition: transform 0.5s;
}

.cable-table-opener {
  /*&.showing .icon {
  	transform	: rotate(-180deg);
  }*/
}

.call-to-actions-bar {
  position: relative;
  padding: calc(5vh + 64px / 2) 216px calc(5vh + 64px / 2) 0;
  padding: calc(5vh + var(--gutters, 64px) / 2) 216px calc(5vh + var(--gutters, 64px) / 2) 0;
  min-height: 216px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.call-to-actions-bar .themed-h2 {
  color: white;
  margin-top: 0 !important;
  font-size: clamp(30px, 4vw, 52px);
}

.call-to-actions-bar .themed-h3 {
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(20px, 2.5vw, 30px);
}

.call-to-actions-bar > div {
  margin-bottom: 16px;
}

.call-to-actions-bar .button {
  margin-top: auto;
}

.call-to-actions-bar .button svg {
  width: 12px;
  height: 12px;
  margin-left: 8px;
  stroke: white;
}

.call-to-actions-bar figure {
  position: absolute;
  top: 50%;
  right: 0;
  width: 200px;
  height: 200px;
  transform: translateY(-50%);
}

.call-to-actions-bar figure:after {
  content: "";
  position: absolute;
  top: 100%;
  left: -10%;
  width: 120%;
  height: 30px;
  background: radial-gradient(rgba(0, 0, 0, 0.3), rgba(255, 255, 255, 0) 50%);
}

.call-to-actions-bar figure svg {
  width: inherit;
  height: inherit;
  fill: rgba(255, 255, 255, 0.7);
}

@media (max-width: 719px) {
  .call-to-actions-bar {
    padding-right: 0;
  }
  .call-to-actions-bar figure {
    display: none;
  }
}
.call-to-action-blocks {
  margin-top: 48px;
  margin-bottom: 48px;
}

.call-to-action-blocks > div .themed-h2,
.call-to-action-blocks > div .themed-h3 {
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
}

.call-to-action-blocks > div .themed-h2 {
  color: #002a35;
  font-size: clamp(24px, 3.5vw, 40px);
  margin-bottom: 16px;
}

.call-to-action-blocks > div .themed-h3 {
  color: #2452a4;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.4;
}

.call-to-action-blocks nav {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  padding: 32px 0;
}

.call-to-action-blocks nav a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-grow: 1;
  padding: 16px;
}

.call-to-action-blocks nav a + a {
  border-left: 1px solid #e5eaef;
}

.call-to-action-blocks nav a > svg {
  stroke: #2452a4;
  width: 200px;
  max-height: 150px;
  margin-bottom: 16px;
  transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.call-to-action-blocks nav a > svg g {
  stroke-width: 1px !important;
}

.call-to-action-blocks nav a > img {
  width: 240px;
  max-height: 150px;
  margin-bottom: 16px;
}

.call-to-action-blocks nav a h4 {
  margin-bottom: 16px;
  font-size: clamp(20px, 2.2vw, 26px);
  transition: color 0.2s ease-in-out;
}

.call-to-action-blocks nav a p {
  max-width: 300px;
  margin-bottom: 16px;
  font-size: 16px;
}

.call-to-action-blocks nav a .button {
  margin-top: auto;
}

.call-to-action-blocks nav a .button svg {
  width: 10px;
  height: 10px;
  margin-left: 8px;
  stroke: white;
  position: relative;
  top: -1px;
}

.call-to-action-blocks nav a:hover svg {
  transform: scale(1.1);
}

.call-to-action-blocks nav a:hover h4 {
  color: #13ace3;
}

.call-to-action-blocks nav a:hover .button {
  background-color: #13ace3;
  color: #fff;
}

@media (max-width: 919px) {
  .call-to-action-blocks nav {
    flex-wrap: wrap;
  }
  .call-to-action-blocks nav a {
    width: 50%;
    flex-grow: initial;
  }
  .call-to-action-blocks nav a:last-of-type {
    border-left: none;
  }
}
@media (max-width: 499px) {
  .call-to-action-blocks nav {
    flex-direction: column;
  }
  .call-to-action-blocks nav a {
    width: 100%;
  }
  .call-to-action-blocks nav a > svg {
    width: 133.3333333333px;
    max-height: 100px;
  }
  .call-to-action-blocks nav a + a {
    border-top: 1px solid #e5eaef;
    margin-top: 32px;
    border-left: none;
  }
}
.popup--wrapper.cartpop {
  background: none;
}

.popup--wrapper.cartpop .popup {
  transition: 300ms;
  background: linear-gradient(to top, #2452a4, #292560);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}

.popup--wrapper.cartpop-mob .JS_cartpop--open {
  max-height: unset;
}

.JS_cartpop {
  display: none;
  font-size: 16px;
}

.JS_cartpop.JS_cartpop--open {
  display: block;
  color: #fff;
  max-width: calc(1600px - 360px - var(--lo-gaps));
  max-height: calc(100vh - 78px);
  overflow-y: scroll;
  padding: 8px;
}

@media (min-width: 1030px) {
  .JS_cartpop.JS_cartpop--open {
    padding: 16px;
  }
}
.JS_cartpop.JS_cartpop--open::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

.JS_cartpop.JS_cartpop--open {
  /* Webkit Based */
  scrollbar-width: none; /* Standard way (Firefox) */
  -ms-overflow-style: none; /* hide scrollbars in IE */
}

.JS_cartpop.JS_cartpop--open h3 {
  color: #fff;
}

@media (max-width: 669px) {
  .JS_cartpop.JS_cartpop--open h3 {
    font-size: 24px;
    line-height: 36px;
  }
}
.JS_cartpop.JS_cartpop--open > div.cart-ctrls {
  text-align: center;
  margin-top: 8px;
}

.JS_cartpop.JS_cartpop--open > div.cart-thanks > p {
  margin: 8px;
}

.JS_cartpop.JS_cartpop--open > .cart-row {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  display: flex;
  flex-direction: column;
  padding: 8px;
  border-radius: 5px;
  margin-top: 8px;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--image {
  position: relative;
  max-width: 90px;
}

@media (min-width: 670px) {
  .JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--image {
    max-width: 120px;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--image > img {
  width: 100%;
  height: auto;
  position: absolute;
  border-radius: 5px;
}

.JS_cartpop.JS_cartpop--open > .cart-row > .cart-row--text {
  min-height: 90px;
  padding-left: 96px;
  margin-bottom: 8px;
}

@media (min-width: 670px) {
  .JS_cartpop.JS_cartpop--open > .cart-row > .cart-row--text {
    min-height: 120px;
    padding-left: 136px;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-row > .cart-row--text > h4 {
  margin: 8px 0;
}

@media (max-width: 669px) {
  .JS_cartpop.JS_cartpop--open > .cart-row > .cart-row--text > h4 {
    font-size: 16px;
    margin-top: 0;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-row > .cart-row--text > p {
  font-size: 14px;
}

@media (max-width: 669px) {
  .JS_cartpop.JS_cartpop--open > .cart-row > .cart-row--text > p {
    font-size: 12px;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls {
  display: flex;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity {
  flex-shrink: 1;
  flex-grow: 0;
  flex-basis: calc(100% - 16px);
  font-size: 0;
  margin-right: 16px;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity > input.cart-row--count {
  border-radius: 0;
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  text-align: center;
  vertical-align: middle;
  font-size: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 6px;
}

@media (min-width: 670px) {
  .JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity > input.cart-row--count {
    min-width: 72px;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity > button {
  border-radius: 5px;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity > button.JS_cart-minus {
  border-radius: 5px 0 0 5px;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity > button.JS_cart-plus {
  border-radius: 0 5px 5px 0;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > div.cart-row--quantity > button {
  background-color: rgba(255, 255, 255, 0.2);
  padding: 0;
  width: 24px;
  height: 100%;
  font-size: 10px;
  vertical-align: middle;
}

.JS_cartpop.JS_cartpop--open > .cart-row > div.cart-row--ctrls > button {
  flex: 0 0 80px;
  font-size: 14px;
}

.JS_cartpop.JS_cartpop--open > .cart-details {
  width: 720px;
}

@media (max-width: 1249px) {
  .JS_cartpop.JS_cartpop--open > .cart-details {
    width: 100%;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-details .radio-group-wrap {
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.JS_cartpop.JS_cartpop--open > .cart-details .radio-group-wrap .radio-option .radio--wrap {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.JS_cartpop.JS_cartpop--open > .cart-details .radio-group-wrap .radio-option .radio--wrap input[type=radio] {
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
  width: 2rem;
  height: 2rem;
  margin-right: 1ch;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field {
  flex-basis: calc(50% - 8px);
}

.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field.fullwidth {
  flex-basis: 100%;
}

@media (max-width: 479px) {
  .JS_cartpop.JS_cartpop--open > .cart-details > div > div.field {
    flex-basis: 100%;
    font-size: 13px;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field {
  position: relative;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field > input,
.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field select,
.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field textarea {
  width: 100%;
  margin: 8px 0;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field > input:required + span:before,
.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field select:required + span:before,
.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field textarea:required + span:before {
  content: "*";
  position: absolute;
  right: 5px;
  top: 5px;
  color: #2452a4;
  font-size: 20px;
}

@media (max-width: 1249px) {
  .JS_cartpop.JS_cartpop--open > .cart-details > div > div.field > input:required + span:before,
  .JS_cartpop.JS_cartpop--open > .cart-details > div > div.field select:required + span:before,
  .JS_cartpop.JS_cartpop--open > .cart-details > div > div.field textarea:required + span:before {
    top: 10px;
  }
}
.JS_cartpop.JS_cartpop--open > .cart-details > div > div.field > textarea {
  min-height: 120px;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div.cart-terms-wrap > label.checkbox--wrap {
  height: unset;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div.cart-terms-wrap > label.checkbox--wrap > span.checkbox--label {
  height: var(--checkbox-size);
}

.JS_cartpop.JS_cartpop--open > .cart-details > div.cart-ctrls {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
}

.JS_cartpop.JS_cartpop--open > .cart-details > div.cart-ctrls > button {
  flex-shrink: 0;
  flex-grow: 0;
  flex-basis: calc(50% - 8px);
}

.JS_cartpop.JS_cartpop--open button {
  background-color: rgba(255, 255, 255, 0.1);
}

.JS_cartpop.JS_cartpop--open button:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.JS_cartpop :not(:has(input.evaluation-request:checked)) .address-field {
  display: none !important;
}

.JS_connector-tool {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 var(--lo-gaps);
  counter-reset: connector;
  position: relative;
}

.JS_connector-tool::after {
  display: block;
}

@media (min-width: 800px) {
  .JS_connector-tool::after {
    content: url("/assets/images/connector-tool-bg.png");
  }
}
.JS_connector-tool::after {
  position: absolute;
  left: 0;
  bottom: 32px;
}

.JS_connector-tool > h4,
.JS_connector-tool > div {
  box-sizing: border-box;
  padding: 16px;
  flex: 0 0 100%;
}

@media (min-width: 800px) {
  .JS_connector-tool > h4,
  .JS_connector-tool > div {
    flex: 0 0 33.33%;
  }
}
.JS_connector-tool > h4 {
  background: #2452a4;
  color: #fff;
}

.JS_connector-tool > h4:first-child {
  border-top-left-radius: 10px;
  padding-left: 32px;
}

.JS_connector-tool > h4:nth-child(3) {
  border-top-right-radius: 10px;
  padding-right: 32px;
}

.JS_connector-tool > h4::before {
  background: #fff;
  border-radius: 50%;
  color: #2452a4;
  content: counter(connector);
  counter-increment: connector;
  display: inline-block;
  line-height: 1.5;
  margin-right: 16px;
  text-align: center;
  width: 1.5em;
}

.JS_connector-tool > h4.loading::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' id='plusEncircled' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%232452a4'%3E %3Cstyle%3E @keyframes spin %7B to %7B transform : rotate( 180deg ); %7D %7D path %7B animation : spin 1.5s ease-in-out infinite; transform-origin : 50%25 50%25; %7D %3C/style%3E %3Cpath d=' M0 32 A32 32 0 0 1 32 0 A32 32 0 0 1 64 32 A32 32 0 0 1 32 64 A32 32 0 0 1 0 32 Z M28 28 L12 28 A4 4 0 0 0 12 36 L28 36 L28 52 A4 4 0 0 0 36 52 L36 36 L52 36 A4 4 0 0 0 52 28 L36 28 L36 12 A4 4 0 0 0 28 12 Z '/%3E %3C/svg%3E");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1em;
  color: transparent;
}

@media (max-width: 799px) {
  .JS_connector-tool > h4:nth-child(1) {
    border-top-right-radius: 10px;
    order: 1;
  }
  .JS_connector-tool > h4:nth-child(2) {
    order: 3;
  }
  .JS_connector-tool > h4:nth-child(3) {
    border-top-right-radius: 0;
    order: 5;
  }
}
.JS_connector-tool > div {
  background: #e5eaef;
  --field-bg: #fff;
}

@media (min-width: 800px) {
  .JS_connector-tool > div {
    min-height: 350px;
  }
}
.JS_connector-tool > div:nth-child(4) {
  padding-left: 32px;
}

.JS_connector-tool > div:last-child {
  padding-right: 32px;
}

@media (max-width: 799px) {
  .JS_connector-tool > div:nth-child(4) {
    order: 2;
  }
  .JS_connector-tool > div:nth-child(5) {
    order: 4;
  }
  .JS_connector-tool > div:nth-child(6) {
    order: 6;
  }
}
.JS_connector-tool > footer {
  background: #e5eaef;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  box-sizing: border-box;
  flex: 0 0 99.99%;
  padding: 0 32px 32px;
  text-align: right;
}

@media (max-width: 799px) {
  .JS_connector-tool > footer {
    order: 7;
  }
}
.JS_connector-tool h4.loading ~ div > * {
  opacity: 0.5;
}

.JS_connector-tool select {
  display: block;
  margin-top: 16px;
  width: 100%;
}

.JS_connector-tool .JS_gender {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 16px;
}

.JS_connector-tool .JS_image {
  display: none;
  width: 100%;
}

.JS_connector-tool .JS_image[src] {
  display: block;
}

.connector-results {
  display: flex;
  margin-top: 32px;
}

.connector-results > div {
  flex: 0 0 20%;
}

.connector-results > div + div {
  flex: 0 0 80%;
}

@media (max-width: 800px) {
  .connector-results {
    display: block;
  }
  .connector-results > div {
    display: none;
  }
  .connector-results > div + div {
    display: block;
    flex: auto;
  }
}
.block {
  position: relative;
  margin-bottom: 7vh;
}

.block[style*=background-color] {
  padding-top: 7vh;
  padding-bottom: 7vh;
}

.block[style*=background-color]:before {
  background-color: inherit;
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

.block[style*=background-color] + *[style*=background-color] {
  margin-top: calc(-1 * 7vh);
}

.block[style*=background-color] + *[style*=background-color] + *[style*=background-color] {
  margin-top: calc(-1 * 7vh);
}

.block > .content {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  position: relative;
  text-align: center;
  margin-bottom: 32px;
}

.block > .content > * {
  max-width: 800px;
  margin-bottom: 8px;
}

.block > .content figure img {
  width: 100%;
}

.block > .content h2 {
  font-size: clamp(24px, 2.5vw, 32px);
}

.block > .content h3 {
  font-size: clamp(18px, 2vw, 24px);
}

.block > .content .full-bleed {
  z-index: 99;
  margin-bottom: calc((7vh + 64px / 2 + 38px) * -1);
  margin-bottom: calc((7vh + var(--gutters, 64px) / 2 + 38px) * -1);
}

.block > .content .full-bleed img {
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  top: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

article-list {
  display: flex;
  justify-content: center;
  position: relative;
  flex-wrap: wrap;
  margin-bottom: -32px;
}

article-list .article {
  flex-basis: 400px;
}

@media (min-width: 870px) {
  article-list {
    left: -32px;
    width: calc(100% + 64px);
  }
}
@supports (display: grid) {
  @media (min-width: 870px) {
    article-list[data-columns="4"] {
      display: grid;
      grid-template-columns: repeat(4, 25%);
    }
  }
  @media (min-width: 870px) and (max-width: 1599px) {
    article-list[data-columns="4"] {
      grid-template-columns: repeat(2, 400px);
    }
  }
}
.article {
  overflow: hidden;
  background-color: white;
  margin: 0 16px 32px 16px;
}

.article.centred > * {
  gap: 16px;
  justify-content: center;
  text-align: center;
}

.article.centred > *:hover span.button {
  background-color: #13ace3;
}

.article > * {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 32px;
  height: 100%;
}

.article > * > * {
  order: 3;
  margin-bottom: 8px;
}

.article > * figure {
  order: 1;
  position: relative;
  margin: 0 0 -8px;
  top: -32px;
  left: -32px;
  width: calc(100% + 96px);
  height: 200px;
}

.article > * figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.article > * hr {
  margin: 0;
  background-color: #005587;
}

.article > * span.button {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: auto;
}

.article > * .type {
  order: 2;
  font-size: 16px;
}

.article > * h1,
.article > * h2,
.article > * h3,
.article > * h4,
.article > * h5,
.article > * h6 {
  color: #005587;
  transition: color 0.2s ease-in-out;
}

.article > * h1 {
  font-size: clamp(28px, 2.8vw, 32px);
}

.article > * h2 {
  font-size: clamp(22px, 2.4vw, 26px);
}

.article > * h3 {
  font-size: clamp(20px, 2.2vw, 24px);
}

.article > * h4 {
  font-size: clamp(16px, 1.8vw, 20px);
}

@media (hover: hover) {
  .article a:hover h1,
  .article a:hover h2,
  .article a:hover h3,
  .article a:hover h4,
  .article a:hover h5,
  .article a:hover h6 {
    color: #13ace3;
  }
}
.auto-articles[style*="background-color: #ffffff"] .article.centred {
  border-radius: 1rem;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}

.custom-articles.simple-icon {
  width: min(1230px, 100%);
  margin-inline: auto;
  gap: 64px;
  display: flex;
  flex-direction: column;
}

.custom-articles.simple-icon > .button {
  align-self: center;
}

.custom-articles.simple-icon .content.rich-text {
  margin-bottom: 0;
}

.custom-articles.simple-icon article-list {
  left: initial;
  width: auto;
}

.custom-articles.simple-icon article-list[data-columns="4"] {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.custom-articles.simple-icon article-list + .button {
  margin-top: 32px;
}

.custom-articles.simple-icon article.article {
  display: flex;
  flex-direction: column;
  gap: 16px;
  text-align: center;
  background-color: initial;
  justify-content: center;
  place-items: center;
  margin: 0;
}

.custom-articles.simple-icon article.article .content {
  padding: 0;
  margin: 0;
}

.custom-articles.simple-icon article.article .content p {
  text-wrap: pretty;
}

.custom-articles.simple-icon article.article h4 {
  font-size: 30px;
}

.custom-articles.simple-icon article.article svg {
  all: initial;
  order: -1;
  width: 6rem;
  height: 6rem;
  color: #2452a4;
  margin-bottom: 16px;
}

@supports (grid-template-rows: subgrid) {
  .custom-articles.simple-icon article-list {
    grid-template-rows: clamp(60px, 10vw, 100px) auto;
  }
  .custom-articles.simple-icon article-list .article {
    grid-row: auto/span 2;
    grid-template-rows: subgrid;
    display: grid !important;
  }
}
.custom-articles.simple-circle-icon {
  width: min(1230px, 100%);
  margin-inline: auto;
}

.custom-articles.simple-circle-icon article-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
}

.custom-articles.simple-circle-icon article-list .article {
  border: 1px solid #e5e5e5;
  will-change: transform;
  border-radius: 1rem;
  margin: 0;
  background-color: white;
  max-width: initial;
  text-align: center;
  padding: 32px;
  display: grid;
  grid-template-rows: 4rem auto;
  transition: grid-template-rows 0.2s ease-in-out, gap 0.2s ease-in-out;
  align-content: center;
  gap: 32px;
  isolation: isolate;
  overflow: hidden;
}

.custom-articles.simple-circle-icon article-list .article a {
  display: contents;
}

.custom-articles.simple-circle-icon article-list .article .description {
  padding: 0;
  grid-row: 2;
  transition: color 0.2s ease-in-out;
}

.custom-articles.simple-circle-icon article-list .article .description :is(h3, h4) {
  margin-bottom: 0;
}

.custom-articles.simple-circle-icon article-list .article .snippet {
  opacity: 0;
  margin-bottom: 0;
  padding: 0 !important;
  transition: opacity 0.2s ease-in-out, grid-template-rows 0.2s ease-in-out;
  display: grid;
  grid-template-rows: 0fr;
}

.custom-articles.simple-circle-icon article-list .article .snippet > div {
  padding: 0 !important;
  overflow: hidden;
  transition: margin-top 0.3s ease-in-out;
}

.custom-articles.simple-circle-icon article-list .article .snippet p {
  color: white;
}

.custom-articles.simple-circle-icon article-list .article::before {
  content: "";
  z-index: -1;
  background-color: #2452a4;
  border-radius: 50%;
  position: absolute;
  justify-self: center;
  width: 4rem;
  height: 4rem;
  grid-row: 1;
  pointer-events: none;
  scale: 1.6;
  transition: all 0.5s ease-in-out;
}

.custom-articles.simple-circle-icon article-list .article figure {
  top: 0;
  grid-column: 1;
  grid-row: 1;
  aspect-ratio: 1;
  padding: 0;
  width: 4rem;
  height: 4rem;
  margin: 0;
  align-self: center;
  justify-self: center;
  transition: translate 0.5s ease-in-out, height 0.5s ease-in-out 0.3s, width 0.5s ease-in-out 0.3s, opacity 0.5s ease-in-out;
}

.custom-articles.simple-circle-icon article-list .article figure svg {
  all: initial;
  color: white;
  fill: white;
  width: 100%;
  height: 100%;
}

.custom-articles.simple-circle-icon article-list .article:hover, .custom-articles.simple-circle-icon article-list .article:focus-within {
  grid-template-rows: 0 auto;
  gap: 0;
}

.custom-articles.simple-circle-icon article-list .article:hover figure, .custom-articles.simple-circle-icon article-list .article:focus-within figure {
  opacity: 0;
  translate: 0 -4rem;
}

.custom-articles.simple-circle-icon article-list .article:hover .description :is(h3, h4), .custom-articles.simple-circle-icon article-list .article:focus-within .description :is(h3, h4) {
  color: white;
}

.custom-articles.simple-circle-icon article-list .article:hover .snippet, .custom-articles.simple-circle-icon article-list .article:focus-within .snippet {
  opacity: 1;
  grid-template-rows: 1fr;
  transition-delay: 0.5s, 0.2s;
}

.custom-articles.simple-circle-icon article-list .article:hover .snippet > div, .custom-articles.simple-circle-icon article-list .article:focus-within .snippet > div {
  margin-top: 16px;
  transition-delay: 0.2s;
}

.custom-articles.simple-circle-icon article-list .article:hover::before, .custom-articles.simple-circle-icon article-list .article:focus-within::before {
  scale: 15;
}

.blog-articles {
  width: min(1294px, 100%);
  margin-inline: auto;
  gap: 64px;
  display: flex;
  flex-direction: column;
}

.blog-articles article-list {
  left: initial;
  width: auto;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  display: grid;
  gap: 32px;
}

.blog-articles article-list .article {
  margin: 0;
  isolation: isolate;
  color: white;
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 16px;
  padding: 32px;
}

.blog-articles article-list .article h4 {
  font-size: 30px;
  color: white;
}

.blog-articles article-list .article p {
  color: rgba(255, 255, 255, 0.8);
  text-wrap: pretty;
}

.blog-articles article-list .article a {
  display: contents;
}

.blog-articles article-list .article .type {
  padding: 0.2em 0.6em;
  background-color: #13ace3;
  text-align: center;
  font-size: small;
  justify-self: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 0.2em;
}

.blog-articles article-list .article figure {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #292560;
  transition: scale 0.4s ease-in-out;
}

.blog-articles article-list .article figure img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  opacity: 0.1;
  filter: saturate(0.5);
}

.blog-articles article-list .article span.button {
  align-self: flex-start;
  margin-inline: initial;
}

.blog-articles article-list .article:is(:hover, :focus-within) figure {
  scale: 1.1;
}

.blog-articles article-list .article:is(:hover, :focus-within) span.button {
  background-color: #13ace3;
}

.blog-articles > .button {
  align-self: center;
}

.standard .article {
  border: 1px solid #e5eaef;
  border-radius: 20px;
  transition: border-color 0.2s ease-in-out;
}

@media (hover: hover) {
  .standard .article:hover {
    border-color: #13ace3;
  }
}
.borderless article-list {
  justify-content: space-around;
}

.borderless .article {
  max-width: 400px;
}

.borderless .article a {
  text-align: center;
  align-items: center;
  padding-bottom: 0;
}

.borderless .article a .button {
  margin-top: 0;
  margin-bottom: 0;
}

.borderless .article a figure {
  left: 0;
}

@media (hover: hover) {
  .borderless .article a:hover .button {
    background-color: #13ace3;
    color: white;
  }
}
@supports (display: grid) {
  .blocked-content article-list[data-columns="2"] {
    justify-content: center;
  }
  @media (min-width: 1300px) {
    .blocked-content article-list[data-columns="2"] .article {
      max-width: 600px;
    }
  }
  @media (min-width: 800px) {
    .blocked-content article-list[data-columns="2"] .article {
      flex-basis: 50%;
    }
  }
}
.blocked-content .article > * {
  align-items: center;
  text-align: center;
}

.blocked-content .article figure {
  left: 0;
}

.blocked-content .article figure svg {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  max-height: 80%;
  width: 100%;
  max-width: 100%;
  order: 1;
  fill: #2452a4;
}

.call-to-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.call-to-action > svg {
  width: 60px;
  height: 60px;
  order: 1;
  fill: #005587;
  margin-bottom: 32px;
}

.call-to-action .content {
  margin-bottom: 32px;
}

.call-to-action > * {
  position: relative;
  order: 2;
}

@media (min-width: 600px) {
  .tabbed-content[style*=background-color] {
    padding-top: 0;
  }
  .tabbed-content[style*=background-color]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(white, rgba(255, 255, 255, 0.001));
  }
}
.tabbed-content .JS_tablist {
  position: relative;
  z-index: 1;
}

.tabbed-content .JS_tablist .JS_tablist-content {
  padding-top: 32px;
}

.tabbed-content .JS_tablist .JS_tablist-content > div:last-of-type {
  display: flex;
  margin: 32px 0;
  justify-content: center;
}

.tabbed-content .JS_tablist h3:after {
  width: 100vw;
  left: 50% !important;
  transform: translateX(-50%);
}

.tabbed-content .JS_tablist .block-list {
  grid-gap: 32px;
}

.tabbed-content .JS_tablist .block-list > a {
  transition: border-color 0.2s ease-in-out;
}

.tabbed-content .JS_tablist .block-list > a .block-list-block--image {
  height: 200px;
  padding-bottom: 0;
}

.tabbed-content .JS_tablist .block-list > a .block-list-block--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.tabbed-content .JS_tablist .block-list > a .block-list-block--callout {
  text-transform: initial;
}

.tabbed-content .JS_tablist .block-list > a h2 {
  transition: color 0.2s ease-in-out;
  font-size: clamp(20px, 2.2vw, 24px);
}

@media (max-width: 799px) {
  .tabbed-content .JS_tablist {
    display: flex;
    flex-direction: column;
  }
}
.subscribe form {
  position: relative;
}

.subscribe form > div {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.subscribe form > div label {
  margin-right: 16px;
}

.subscribe form > div label input {
  background: white;
  border: 2px solid #13ace3;
  min-width: 300px;
}

.subscribe form > div label span {
  color: #13ace3;
}

.subscribe form > div:invalid .button {
  pointer-events: none;
}

@media (hover: hover) {
  .subscribe form > div:invalid .button {
    opacity: 0.5;
  }
}
.subscribe form .newsletter-message {
  position: relative;
  font-size: 15px;
  color: #3ea845;
  margin-bottom: 32px;
  color: white;
  display: table;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 20px;
  font-weight: bold;
  text-align: center;
  background-color: #72d51a;
}

.subscribe form .newsletter-message.newsletter-message--error {
  background-color: #fe0000;
}

@media (max-width: 599px) {
  .subscribe form > div {
    flex-wrap: wrap;
    flex-direction: column;
    align-items: stretch;
  }
  .subscribe form > div label {
    margin-right: 0;
    margin-bottom: 8px;
  }
}
.inverted-sidebar-page .block:last-of-type {
  margin-bottom: 0;
}

.faq {
  width: 80%;
  margin: 0 auto 48px;
}

.text-and-image {
  padding-top: 0 !important;
  padding-bottom: 48px !important;
}

.text-and-image + .text-and-image {
  padding-top: 48px !important;
}

.text-and-image > div.content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.text-and-image > div.content > figure {
  width: 40%;
}

.text-and-image > div.content > div {
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.text-and-image:before {
  z-index: -1;
}

.text-and-image figure {
  display: flex;
  position: relative;
  overflow: hidden;
}

.text-and-image figure img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 80%;
}

.text-and-image .left > div {
  order: 1;
}

.text-and-image .left > figure {
  order: 2;
}

.text-and-image .left > figure img {
  margin-left: auto;
}

.text-and-image .right > div {
  order: 2;
}

.text-and-image .right > figure {
  order: 1;
  margin-right: auto;
}

@media (max-width: 768px) {
  .text-and-image > div {
    flex-direction: column;
  }
  .text-and-image > div > div, .text-and-image > div > figure {
    width: 100%;
  }
  .text-and-image > div > div > img, .text-and-image > div > figure > img {
    width: 100%;
    margin: 32px 0 32px 0 !important;
  }
}
.text-and-image.center {
  padding-block: 0 !important;
}

.text-and-image.center .content {
  isolation: isolate;
  padding-block: 7vh;
  color: white;
  margin: 0 auto;
  text-align: center;
}

.text-and-image.center .content.center > div {
  max-width: add-unit(1200);
  width: 100%;
  margin-inline: auto;
  padding-inline: 32px;
}

.text-and-image.center .content.center > div h2 {
  text-wrap: balance;
  line-height: 1.4;
}

.text-and-image.center .content.center > div p {
  text-wrap: pretty;
}

.text-and-image.center .content.center > div p a:only-child {
  align-self: center;
  margin-inline: auto;
}

.text-and-image.center .content figure {
  position: absolute;
  max-width: none;
  margin: 0;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: initial;
}

.text-and-image.center .content figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.text-and-image.center .content figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

@media (min-width: 1920px) {
  .text-and-image.center .content figure {
    -webkit-mask-image: linear-gradient(to right, transparent, black 25%, black 75%, transparent);
            mask-image: linear-gradient(to right, transparent, black 25%, black 75%, transparent);
  }
}
.testimonial {
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  position: relative;
  margin-bottom: 64px;
}

.testimonial:before {
  content: "";
  display: block;
  background: linear-gradient(to bottom, #2452a4, #292560);
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -50vw;
}

.testimonial > div {
  z-index: 10;
  color: #ffffff;
}

.testimonial > div.videos-block {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 64px;
  gap: 64px;
}

.testimonial > div.videos-block video-container {
  max-width: 800px;
  padding-bottom: 0;
  position: inherit;
  top: auto;
  left: auto;
}

.testimonial > div.videos-block video-container iframe,
.testimonial > div.videos-block video-container canvas {
  aspect-ratio: 16/9;
  position: inherit;
  top: auto;
  left: auto;
}

.testimonial > div.testimonial-block {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.testimonial > div.testimonial-block > svg {
  position: absolute;
  color: #3659a7;
  height: 700px;
  width: 700px;
  left: -100px;
  top: -175px;
  opacity: 0.2;
}

.testimonial > div.testimonial-block .testimonial-entry {
  padding: 96px 96px 0;
  text-align: center;
  width: 100%;
  opacity: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.3s ease;
  transition-delay: 0.1s;
  display: none;
  z-index: 3;
  min-height: 370px;
}

.testimonial > div.testimonial-block .testimonial-entry .quote,
.testimonial > div.testimonial-block .testimonial-entry .author {
  font-size: 20px;
}

.testimonial > div.testimonial-block .testimonial-entry .quote {
  font-style: italic;
  margin-bottom: 32px;
  position: relative;
}

.testimonial > div.testimonial-block .testimonial-entry .quote:after {
  display: block;
  content: "";
  position: absolute;
  width: 100px;
  height: 1px;
  background-color: #ffffff;
  bottom: calc(16px * -1);
  left: calc(50% - 50px);
}

.testimonial > div.testimonial-block .testimonial-entry .author {
  font-weight: 600;
}

.testimonial > div.testimonial-block .testimonial-entry.active {
  display: flex;
  opacity: 1;
  transition-delay: 0.3s;
}

.testimonial > div.testimonial-block .testimonial-nav {
  display: flex;
  height: 20px;
  width: 100px;
  margin: 0 auto 64px;
  left: calc(50% - 50px);
  justify-content: space-around;
  z-index: 4;
}

.testimonial > div.testimonial-block .testimonial-nav > .testimonial-nav-btn {
  width: 16px;
  height: 16px;
  background-color: #13ace3;
  border-radius: 50%;
  pointer-events: all;
  padding: 5px;
  opacity: 0.5;
  transition: all 0.3s ease;
}

.testimonial > div.testimonial-block .testimonial-nav > .testimonial-nav-btn.active {
  opacity: 1;
  transform: scale(1.1);
}

@media (max-width: 760px) {
  .testimonial {
    flex-direction: column;
  }
  .testimonial > div.testimonial-block {
    height: 100%;
    width: 100%;
    min-height: 400px;
  }
  .testimonial > div.testimonial-block > svg {
    width: 100%;
    height: 300px;
    left: -20px;
    top: 0;
  }
  .testimonial > div.testimonial-block > .testimonial-entry {
    padding: 32px;
  }
  .testimonial > div.testimonial-block > .testimonial-entry .quote {
    height: -moz-fit-content;
    height: fit-content;
  }
  .testimonial > div.testimonial-block .testimonial-nav {
    bottom: 32px;
  }
}
@media (max-width: 992px) {
  .testimonial > div.videos-block {
    flex-direction: column;
  }
}
.about-page p {
  margin-bottom: 23px;
}

.about-page .wrapper--blue {
  background: #fafcff;
  grid-column: 1/span 4;
}

.about-page .h2--darkblue {
  color: #292560;
  margin-bottom: 16px;
}

@media screen and (min-width: 1030px) {
  .about-page .wrapper--blue {
    grid-column: 1/span 5;
  }
}
.content--bordered ul li,
.ticklist li {
  margin: 0 0 10px 0;
  position: relative;
  padding-left: 40px;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 18px;
}

.content--bordered ul li:before,
.ticklist li:before {
  height: 22px;
  width: 22px;
  border-radius: 50%;
  background: #13ace3;
  color: white;
  left: 0;
  position: absolute;
  top: 2px;
  content: " ";
}

.content--bordered ul li::after,
.ticklist li::after {
  left: 3px;
  position: absolute;
  top: 6px;
  height: 12px;
  width: 6px;
  content: " ";
  border: solid #fff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  transform-origin: bottom right;
}

.content--spacer {
  width: 100%;
  height: 100px;
}

.content--title {
  margin-bottom: 20px;
  font-size: 36px;
}

@media (max-width: 800px) {
  .content--title {
    font-size: 30px;
  }
}
.content--title span {
  color: #13ace3;
  display: block;
  font-size: 30px;
  margin-bottom: 16px;
}

.content--title span .icon:first-child:last-child {
  font-size: 2.5em;
}

.content--title + p {
  text-align: center;
}

.content--intro h3 {
  margin: 0 0 16px 0;
}

.content--bordered {
  margin: 16px 0 0 0;
}

.content--bordered h3 {
  color: #13ace3;
  margin: 0 0 30px 0;
}

.content--upgrades {
  border: 1px solid #13ace3;
  border-radius: 20px;
  -moz-columns: 4 300px;
       columns: 4 300px;
  -moz-column-fill: balance;
       column-fill: balance;
  -moz-column-gap: 64px;
       column-gap: 64px;
  -moz-column-rule: 1px solid #828786;
       column-rule: 1px solid #828786;
  padding: 32px;
}

.content--upgrades li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 18px;
}

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

.content--panels a {
  align-items: center;
  border: 1px solid #e5eaef;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  height: 250px;
  justify-content: center;
  padding: 48px;
  position: relative;
  margin: 0 0 16px 0;
}

.content--panels a:not(span) {
  color: #13ace3;
  font-size: 28px;
}

.content--panels a svg {
  width: 100px;
  height: 100px;
  display: block;
  clear: both;
  color: #292560;
  margin-bottom: 10px;
}

.content--panels a span {
  align-items: center;
  background: #292560;
  border-radius: 20px;
  color: #ffffff;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 0 64px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  opacity: 0;
  transition: 300ms;
  font-size: 16px;
  line-height: 21px;
}

.content--panels a:hover span {
  opacity: 1;
  pointer-events: all;
}

.content--services {
  display: flex;
  flex-wrap: wrap;
}

.content--services a {
  display: flex;
  flex-direction: column;
  flex: 1 1 50%;
  align-items: center;
  margin: 0 0 48px 0;
}

.content--services a span {
  width: 100px;
  height: 100px;
  background: rgb(234.09, 239.955, 250.41);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 32px 0;
}

.content--services a span svg {
  width: 55px;
  height: 55px;
  color: #292560;
  transition: color 0.2s;
}

.content--services a:hover svg {
  color: #13ace3;
}

.content--product-testing {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0 0 48px 0;
  text-align: center;
}

.content--product-testing .step {
  border-bottom: 1px solid #e5eaef;
  margin: 0 0 16px 0;
}

.content--product-testing .step:last-of-type {
  border-bottom: none;
}

.content--product-testing .step img {
  margin: 0 0 16px 0;
  max-height: 128px;
}

.content--product-testing .step h4 {
  color: #13ace3;
  font-size: 30px;
  margin: 0 0 16px 0;
}

.content--advantage {
  display: flex;
  justify-content: center;
}

.content--advantage > li {
  flex: 0 0 240px;
  padding: 0 32px;
  text-align: center;
}

.content--advantage > li img {
  max-width: 128px;
}

@media (max-width: 800px) {
  .content--advantage {
    flex-wrap: wrap;
  }
}
.content--diagram {
  background: linear-gradient(#292560, #2452a4);
  padding: 32px 0;
}

.content--featured-videos {
  margin: 0 0 48px 0;
}

.content--featured-videos > img {
  width: 100%;
  margin-bottom: 16px;
}

.content--featured-videos > .plyr {
  position: relative;
  margin-bottom: 16px;
}

.content--featured-videos ul {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
}

.content--featured-videos ul li {
  color: #13ace3;
  flex: 1 1 45%;
  margin: 0 20px 0 0;
  position: relative;
  text-align: center;
  font-size: 20px;
  line-height: 23px;
  padding: 0 0 32px 0;
  transition: 300ms;
}

.content--featured-videos ul li:before {
  content: "▶";
  position: absolute;
  top: 37%;
  left: calc(50% - 25px);
  background: #13ace3;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  color: #ffffff;
  font-size: 20px;
  line-height: 52px;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: 300ms;
}

.content--featured-videos ul li:hover {
  color: #13ace3;
}

.content--featured-videos ul li:hover:before {
  opacity: 1;
}

.content--featured-videos ul li img {
  width: 100%;
}

.content--featured-videos ul li:nth-of-type(2n) {
  margin-right: 0;
}

.content--circle-images {
  display: flex;
  justify-content: space-evenly;
}

.content--circle-images > * {
  flex: 0 0 20%;
  text-align: center;
}

.content--circle-images > * img {
  border-radius: 50%;
  width: 100%;
}

.content--circle-images > * span {
  color: #13ace3;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 30px;
  margin-top: 1em;
}

@media screen and (max-width: 800px) {
  .content--circle-images {
    flex-direction: column;
  }
  .content--circle-images > * + * {
    margin-top: 32px;
  }
}
@media screen and (min-width: 800px) {
  .content--text-image-small {
    align-items: center;
    display: flex;
    margin: 0 auto;
    max-width: 1000px;
  }
  .content--text-image-small p {
    margin-top: 0;
  }
  .content--text-image-small img {
    flex: 0 0 60%;
    margin-left: 32px;
  }
}
.content--infomessage p {
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 1.125em;
}

.content--infomessage p::before {
  background: #13ace3;
  border-radius: 50%;
  box-sizing: content-box;
  color: #fff;
  content: "i";
  display: inline-block;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-left: 0.5em;
  padding: 0.25em;
  text-align: center;
  width: 1em;
}

.content--multicode-img {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
}

.content--multicode-img img {
  position: relative;
}

.content--multicode-img figcaption {
  background: #13ace3;
  border-radius: 5px;
  color: #fff;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  margin-top: 48px;
  padding: 16px 32px;
  transform: translateY(50%);
}

.content--multicode-img::before {
  border: 2px solid #13ace3;
  border-radius: 10px;
  content: " ";
  display: block;
  height: 75%;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.content--advantage-blocks {
  border-radius: 10px;
  display: flex;
  text-align: center;
  flex-wrap: wrap;
}

.content--advantage-blocks div {
  padding: 32px;
  flex-basis: 360px;
}

.content--advantage-blocks div img {
  max-width: 25%;
}

.content--padbottom {
  margin-bottom: 50px;
}

.content--centered {
  text-align: center;
}

.content--map img,
.content--map svg {
  display: block;
  height: auto;
  margin: 0 auto;
  max-width: 1600px;
  width: 100%;
}

@media screen and (max-width: 1030px) {
  .content--map div {
    -moz-column-count: 2;
         column-count: 2;
  }
  .content--map a {
    background: #13ace3;
    border-radius: 20px;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    color: #ffffff;
    display: block;
    margin-bottom: 12px;
    position: relative;
    text-align: center;
  }
  .content--map a span:first-of-type {
    display: none;
  }
  .content--map a span:last-of-type {
    line-height: 38px;
  }
  .content--diagram {
    display: block;
    text-align: center;
  }
}
.content--cert-test-blocks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: var(--lo-gaps);
}

.content--cert-test-blocks > * {
  padding: var(--lo-gaps);
  text-align: center;
}

.content--cert-test-blocks > * img {
  max-width: 100%;
  height: 128px;
}

.content--cert-test-blocks > * h3 {
  margin: 32px 0;
}

@media screen and (max-width: 720px) {
  .content--cert-test-blocks {
    grid-template-columns: 1fr;
  }
  .content--map div {
    -moz-column-count: 1;
         column-count: 1;
  }
}
@media screen and (min-width: 1030px) {
  .content--bordered {
    border: 1px solid #e5eaef;
    border-radius: 10px;
    margin: 0;
    padding: 32px;
  }
  .content--panels {
    flex-direction: row;
    justify-content: center;
  }
  .content--panels a {
    flex: 0 1 35%;
    margin: 0 16px;
  }
  .content--map svg {
    height: auto;
    width: 100%;
    grid-column: 1/-1;
  }
  .content--map svg #path7418,
  .content--map svg #path7418-1,
  .content--map svg #path7418-2,
  .content--map svg #path7418-3,
  .content--map svg #path7418-5,
  .content--map svg #path7418-6,
  .content--map svg #path7418-7,
  .content--map svg #path7418-9,
  .content--map svg #path7418-35,
  .content--map svg #path7418-62 {
    filter: drop-shadow(0 0 12px #13ace3);
  }
  .content--services a {
    flex: 1 1 25%;
  }
  .content--product-testing {
    flex-direction: row;
  }
  .content--product-testing .step {
    border-bottom: none;
    border-right: 1px solid #e5eaef;
    flex: 1 1 50%;
    padding: 0 48px;
    position: relative;
    text-align: center;
  }
  .content--product-testing .step:first-of-type:before {
    display: none;
  }
  .content--product-testing .step:last-of-type {
    border-right: none;
  }
  .content--diagram {
    border-top-left-radius: 200px;
    border-bottom-left-radius: 200px;
    padding: 64px 0 64px 96px;
  }
  .content--featured-videos ul li {
    flex: 0 1 25%;
    font-size: 28px;
    line-height: 33px;
  }
  .content--featured-videos ul li:nth-of-type(2n) {
    margin-right: 20px;
  }
  .content--featured-videos ul li:last-of-type {
    margin-right: 0px;
  }
}
@media screen and (min-width: 1428px) {
  .content--title {
    padding: 0 10vw;
  }
  .content--product-testing .step {
    flex: 1 1 25%;
  }
  .content--product-testing .step:before {
    width: 24px;
    height: 24px;
    background: #13ace3;
    border-radius: 50%;
    color: white;
    content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 13 13" fill="white"><path d="M0,13l13-6.5L0,0"/></svg>');
    left: -12px;
    line-height: 24px;
    position: absolute;
    text-align: center;
    top: 50%;
    padding-left: 1px;
  }
}
.fancybtn .icon .loader-circ {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-dasharray: var(--lp) var(--lp);
  stroke-dashoffset: var(--ln);
  transition: opacity 0.25s 0.125s, transform 0.25s 0.125s;
  opacity: 0;
  transform: scale(1.125);
}

.fancybtn.loading-in .icon use {
  opacity: calc(1 - 2 * var(--t));
  transform: translateX(calc(var(--t) * 100%));
}

.fancybtn.loading-out .icon use {
  opacity: calc(2 * var(--t));
  transform: translateY(calc(var(--t2) * -100%));
}

.fancybtn.loading .icon use {
  opacity: 0;
}

.fancybtn.loading .loader-circ {
  animation: fancyloaderspin 1s linear infinite;
  opacity: 1;
  transform: scale(2.8);
}

@keyframes fancyloaderspin {
  from {
    stroke-dashoffset: var(--ln);
  }
  to {
    stroke-dashoffset: var(--lp);
  }
}
.footer-wrap,
.pre-pre-footer {
  background: var(--primary);
  color: #fff;
}

.footer-wrap {
  background-color: #292560;
  background-image: linear-gradient(to bottom, #2452a4, #292560);
}

.footer-wrap h2 {
  font-size: clamp(24px, 2.5vw, 32px);
  line-height: 1.1;
  text-align: center;
}

.footer-wrap h2 span {
  font-size: 0.6em;
  color: rgba(255, 255, 255, 0.7);
}

.footer-wrap h3 {
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.1;
}

.footer-wrap .button {
  background-color: #13ace3;
  border: 1px solid #13ace3;
}

.footer-wrap .button:hover {
  background-color: #ffffff;
  color: #13ace3;
}

.pre-pre-footer {
  background-color: #662d91;
  background-image: linear-gradient(rgba(255, 255, 255, 0), #2452a4), url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' class='background-tile' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' stroke='rgba(255, 255, 255, 0.1)'%3E %3Cpath style='fill:none;stroke-miterlimit:10;' d='M4.5,2v5 M7,4.5H2'/%3E %3C/svg%3E");
  background-size: 100% 100%, 15px 15px;
}

.pre-pre-footer + .footer-wrap {
  background: var(#2452a4);
}

.pre-pre-footer--left {
  padding-top: var(--lo-gaps);
}

.pre-pre-footer--right {
  display: none;
}

@media (min-width: 1030px) {
  .pre-pre-footer--right {
    background-color: var(--primary-d);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' class='background-tile' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' stroke='rgba(255, 255, 255, 0.1)'%3E %3Cpath style='fill:none;stroke-miterlimit:10;' d='M4.5,2v5 M7,4.5H2'/%3E %3C/svg%3E");
    background-size: 15px 15px;
    border-bottom-left-radius: var(--border-radius-large);
    display: grid;
  }
  .pre-pre-footer--right > div {
    display: grid;
    grid-template-columns: 0 1fr 1fr;
    grid-column-gap: var(--lo-gaps);
  }
  .pre-pre-footer--right > div h4 {
    font-size: 30px;
    margin: var(--lo-gaps) 0;
    grid-column: 2/-1;
  }
  .pre-pre-footer--right > div div,
  .pre-pre-footer--right > div section {
    margin-bottom: var(--lo-gaps);
    padding-left: 36px;
    grid-column: 2;
  }
  .pre-pre-footer--right > div div:nth-child(2n+1),
  .pre-pre-footer--right > div section:nth-child(2n+1) {
    grid-column: 3;
  }
  .pre-pre-footer--right > div .pre-pre-footer--columns--centered {
    align-self: center;
  }
  .pre-pre-footer--right > div h6 {
    font-size: 20px;
    margin-bottom: 16px;
    position: relative;
  }
  .pre-pre-footer--right > div h6 svg {
    color: #13ace3;
    display: block;
    height: 20px;
    left: -36px;
    position: absolute;
    stroke: #13ace3;
    stroke-width: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
  }
  .pre-pre-footer--right > div .tds {
    color: var(--primary-l);
    fill: currentColor;
    stroke: currentColor;
    display: block;
  }
}
.pre-pre-footer--columns {
  display: grid;
  grid-column-gap: var(--lo-gaps);
  grid-template-columns: 1fr;
}

@media (min-width: 1030px) {
  .pre-pre-footer--columns {
    grid-template-columns: 1fr 1fr;
    margin-left: var(--lo-gaps);
  }
}
.pre-footer {
  display: grid;
  grid-column-gap: 16px;
  grid-template-columns: 1fr auto;
  padding: calc(1.25 * var(--lo-gaps)) 0;
}

.pre-footer p {
  color: rgba(255, 255, 255, 0.8);
  margin: 16px auto 32px;
  max-width: 600px;
}

.pre-footer .floating-connector {
  max-width: 400px;
  width: 100%;
  align-self: center;
  justify-self: flex-end;
  margin-left: 32px;
}

@media (max-width: 799px) {
  .pre-footer {
    --lo-gaps: 3vh;
  }
}
@media (max-width: 1029px) {
  .pre-footer .floating-connector {
    max-width: 200px;
  }
}
@media (max-width: 719px) {
  .pre-footer .floating-connector {
    display: none;
  }
}
.footer {
  display: flex;
  flex-wrap: wrap;
  padding: calc(1.25 * var(--lo-gaps)) 0;
}

@media (min-width: 1030px) {
  .footer {
    justify-content: space-between;
    flex-wrap: nowrap;
  }
}
@media (max-width: 879px) {
  .footer .footer--text {
    flex: 0 0 100%;
    margin-bottom: 16px;
  }
  .footer .footer--text p {
    max-width: 100%;
  }
  .footer .footer--links {
    flex: 0 0 33.33%;
  }
  .footer .footer--social {
    flex: 0 0 100%;
  }
  .footer .footer--social a {
    margin-left: 0;
    margin-right: 16px;
  }
}
@media (max-width: 549px) {
  .footer .footer--links {
    flex: 0 0 50%;
  }
  .footer .footer--links .footer--links--title {
    margin-bottom: 8px;
  }
  .footer .footer--social {
    margin-top: 48px;
  }
}
* + .footer {
  border-top: 1px solid #fff;
  margin-top: calc(1.25 * var(--lo-gaps));
}

.footer--text,
.footer--links {
  padding-right: var(--lo-gaps);
}

.footer--text .logo {
  display: block;
  margin-bottom: 32px;
  width: 150px;
}

.footer--text p {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  max-width: 300px;
}

.footer--links a {
  color: rgba(255, 255, 255, 0.8);
  display: block;
  font-size: 14px;
  margin-bottom: 8px;
  white-space: nowrap;
  text-decoration: none;
  padding: 4px 0;
}

.footer--links .footer--links--title {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 32px;
  margin-top: 16px;
}

.footer--social {
  display: flex;
  margin-top: 16px;
}

@media (max-width: 799px) {
  .footer--social {
    justify-content: center;
  }
}
.footer--social .newsletter-su {
  max-width: 300px;
  margin-left: 0;
  margin-right: 0;
}

.footer--social .newsletter-su .legend {
  display: block;
}

.footer--social .newsletter-su .fields input[type=email] {
  border: none;
}

.footer--social .newsletter-su .fields .button span {
  display: none;
}

.footer--social .newsletter-su input[type=email] {
  width: calc(100% - 50px - 16px) !important;
}

.footer--social .newsletter-su .button {
  width: 50px !important;
}

.footer--social social-media {
  display: flex;
  margin-top: 16px;
}

.footer--social social-media a {
  box-sizing: content-box;
  color: #fff;
  align-items: center;
  display: flex;
  justify-content: center;
  height: 1.5em;
  width: 1.5em;
  padding: 0.5em;
  border: 1px solid currentColor;
  border-radius: 50%;
  scroll-margin-right: 16px;
  margin-right: 16px;
}

.footer--social social-media a svg {
  height: 75%;
  width: 75%;
  fill: currentColor;
}

.footer--social social-media a span {
  display: none;
}

.footer .footer--social {
  display: flex;
  flex-direction: column;
}

@media (max-width: 1029px) {
  .footer .footer--social {
    margin: 32px auto 0 auto;
  }
  .footer .newsletter-su .legend {
    margin-bottom: 8px;
  }
}
.sub-footer {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 48px 0;
}

.sub-footer:before {
  content: "";
  position: absolute;
  height: 100%;
  top: 0;
  background-color: white;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

.sub-footer small,
.sub-footer a {
  position: relative;
  font-size: smaller;
}

.sub-footer small {
  margin-right: auto;
}

.sub-footer a {
  color: inherit;
  margin-left: 16px;
  text-decoration: none;
  padding: 4px 0;
}

@media (max-width: 599px) {
  .sub-footer {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .sub-footer small,
  .sub-footer a {
    margin: 5px 0;
  }
}
.ie .footer-wrap,
.ie .pre-pre-footer {
  background: #2452a4;
}

@media (min-width: 1030px) {
  .ie .pre-pre-footer--right {
    background-color: #292560;
  }
}
.ie .pre-pre-footer--right .tds {
  color: rgb(150.45, 179.775, 232.05);
}

.newsletter-su {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  transition: opacity 0.2s ease-in-out;
}

.newsletter-su.sending {
  opacity: 0.5;
  pointer-events: none;
}

.newsletter-su .newsletter-message {
  margin-bottom: 16px;
  order: 2;
  font-size: 13px;
}

.newsletter-su .legend {
  margin-bottom: 32px;
  font-weight: bold;
  order: 1;
  display: none;
}

.newsletter-su .fields {
  display: flex;
  flex-wrap: wrap;
  order: 3;
  justify-content: space-between;
}

.newsletter-su .fields input[type=email] {
  width: calc(100% - 140px - 16px);
  background: white;
  border: 2px solid #13ace3;
}

.newsletter-su .fields input[type=email]:not(:-moz-placeholder) ~ .gdpr span, .newsletter-su .fields input[type=email]:not(:-moz-placeholder) ~ .gdpr:before, .newsletter-su .fields input[type=email]:not(:-moz-placeholder) ~ .gdpr:after {
  margin-top: 16px;
  opacity: 1;
}

.newsletter-su .fields input[type=email]:focus ~ .gdpr span, .newsletter-su .fields input[type=email]:focus ~ .gdpr:before, .newsletter-su .fields input[type=email]:focus ~ .gdpr:after, .newsletter-su .fields input[type=email]:not(:placeholder-shown) ~ .gdpr span, .newsletter-su .fields input[type=email]:not(:placeholder-shown) ~ .gdpr:before, .newsletter-su .fields input[type=email]:not(:placeholder-shown) ~ .gdpr:after {
  margin-top: 16px;
  opacity: 1;
}

.newsletter-su .fields input[type=email]:not(:-moz-placeholder) ~ .gdpr:after {
  margin-top: 8px;
}

.newsletter-su .fields input[type=email]:focus ~ .gdpr:after, .newsletter-su .fields input[type=email]:not(:placeholder-shown) ~ .gdpr:after {
  margin-top: 8px;
}

.newsletter-su .fields .button {
  height: 42px;
  width: 140px;
}

.newsletter-su .fields .button span {
  margin-right: 8px;
}

.newsletter-su .fields .button svg {
  margin-left: 0;
}

.newsletter-su input[id*=termsAgreed] {
  display: none;
}

.newsletter-su input[id*=termsAgreed] + .gdpr {
  order: 4;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.newsletter-su input[id*=termsAgreed] + .gdpr span, .newsletter-su input[id*=termsAgreed] + .gdpr:before, .newsletter-su input[id*=termsAgreed] + .gdpr:after {
  margin-top: 0;
  opacity: 0;
  transition: margin 0.3s ease-in-out 0.1s, opacity 0.3s ease-in-out 0.1s;
}

.newsletter-su input[id*=termsAgreed] + .gdpr:before {
  content: "";
  background-color: white;
  border-radius: 5px;
  margin-right: 8px;
  width: 20px;
  height: 20px;
  border: 1px solid #dadde8;
}

.newsletter-su input[id*=termsAgreed] + .gdpr span {
  font-size: 13px;
  max-width: 300px;
}

.newsletter-su input[id*=termsAgreed] + .gdpr span a {
  transition: color 0.2s ease-in-out;
}

.newsletter-su input[id*=termsAgreed] + .gdpr span a:hover {
  color: #13ace3;
}

.newsletter-su input[id*=termsAgreed]:checked + .gdpr:after {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 93.9 76' xml:space='preserve'%3E%3Cpolygon fill='%232E96D3' points='27.9,76 0,48.1 9.9,38.2 27.9,56.2 84,0 93.9,9.9 '/%3E%3C/svg%3E%0A");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  pointer-events: none;
  left: 2px;
  transform: translateY(-50%);
}

.newsletter-su input[id*=termsAgreed]:checked + .gdpr span, .newsletter-su input[id*=termsAgreed]:checked + .gdpr:before, .newsletter-su input[id*=termsAgreed]:checked + .gdpr:after {
  margin-top: 16px;
  opacity: 1;
}

.newsletter-su input[id*=termsAgreed]:checked + .gdpr:after {
  margin-top: 8px;
}

.newsletter-su:invalid .fields button {
  opacity: 0.5;
  pointer-events: none;
}

@media (max-width: 599px) {
  .newsletter-su .fields {
    flex-direction: row;
  }
  .newsletter-su .fields input[type=email] {
    width: calc(100% - 50px - 16px);
  }
  .newsletter-su .fields .button {
    width: 50px;
  }
  .newsletter-su .fields .button span {
    display: none;
  }
  .newsletter-su .fields .button svg {
    margin-left: 0;
  }
}
.errors,
.ff-form-errors {
  background-color: #97080e;
}

.success,
.ff-form-success {
  background-color: #488c13;
}

.freeform-form-notification,
.ff-form-errors,
.ff-form-success {
  display: block;
  padding: 8px 16px;
  color: white;
  font-weight: bold;
  margin: 16px 0;
}

.freeform-form-notification p,
.ff-form-errors p,
.ff-form-success p {
  margin-bottom: 0;
  padding-bottom: 0;
}

.recaptcha-wrap .g-recaptcha {
  margin: 0 auto;
}

.recaptcha-wrap .ff-errors {
  width: 100%;
  text-align: center;
}

.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  touch-action: none;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  outline: none;
  overflow: hidden;
}

.glightbox-container.inactive {
  display: none;
}

.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}

.glightbox-container .gslider {
  transition: transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: flex !important;
  justify-content: center;
  align-items: center;
  transform: translate3d(0, 0, 0);
}

.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  opacity: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
}

/* top: 0;
          left: 0;
          right: 0;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%); */
.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}

.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}

.glightbox-container .gslide-inner-content {
  width: 100%;
}

.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}

.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}

.glightbox-container .ginner-container.desc-bottom,
.glightbox-container .ginner-container.desc-top {
  flex-direction: column;
}

.glightbox-container .ginner-container.desc-left,
.glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}

.gslide iframe,
.gslide video {
  outline: none !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  touch-action: auto;
}

.gslide-image {
  align-items: center;
}

.gslide-image img {
  max-height: 100vh;
  display: block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
  outline: none;
  border: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  touch-action: none;
  margin: auto;
  min-width: 200px;
}

.desc-top .gslide-image img,
.desc-bottom .gslide-image img {
  width: auto;
}

.desc-left .gslide-image img,
.desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}

.gslide-image img.zoomable {
  position: relative;
}

.gslide-image img.dragging {
  cursor: grabbing !important;
  transition: none;
}

.gslide-video {
  width: 100%;
  max-width: 100%;
  position: relative;
  width: 100vh;
  max-width: 100vh;
  width: 100% !important;
}

.gslide-video .gvideo-wrapper {
  width: 100%;
  /* max-width: 160vmin; */
  margin: auto;
}

.gslide-video::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}

.gslide-video.playing::before {
  display: none;
}

.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
  height: 80vh;
}

.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}

.gslide-inline {
  background: #fff;
  text-align: left;
  max-height: calc(100vh - 40px);
  overflow: auto;
  max-width: 100%;
}

.gslide-inline .ginlined-content {
  padding: 20px;
  width: 100%;
}

.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}

.gslide-external {
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 75vh;
  height: 100%;
}

.gslide-media {
  display: block;
  display: inline-flex;
  display: flex;
  width: auto;
}

.zoomed .gslide-media {
  box-shadow: none !important;
}

.desc-top .gslide-media,
.desc-bottom .gslide-media {
  margin: 0 auto;
  flex-direction: column;
}

.gslide-description {
  position: relative;
}

.gslide-description.description-left,
.gslide-description.description-right {
  max-width: 100%;
}

.gslide-description.description-bottom,
.gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}

.gslide-description p {
  margin-bottom: 12px;
}

.gslide-description p::last-child {
  margin-bottom: 0;
}

.zoomed .gslide-description {
  display: none;
}

/*
   * Description for mobiles
   * something like facebook does the description
   * for the photos
  */
.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  background: transparent;
  position: absolute;
  bottom: 15px;
  padding: 19px 11px;
  max-width: 100vw !important;
  order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}

.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}

.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}

.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: bold;
}

.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}

.glightbox-mobile .glightbox-container .gslide-desc string {
  color: #fff;
}

.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}

.gdesc-open .gslide-media {
  transition: opacity 0.5s ease;
  opacity: 0.4;
}

.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  transition: opacity 0.5s ease;
  opacity: 1;
}

.greset {
  transition: all 0.3s ease;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}

.gloader {
  height: 25px;
  width: 25px;
  animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}

.goverlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #000;
  will-change: opacity;
}

.glightbox-mobile .goverlay {
  background: #000;
}

.gprev,
.gnext,
.gclose {
  background-repeat: no-repeat;
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  display: block;
  background-position: 0 0;
  border: none;
}

.gprev svg,
.gnext svg,
.gclose svg {
  display: block;
  width: 100%;
  height: auto;
}

.gprev.disabled,
.gnext.disabled,
.gclose.disabled {
  opacity: 0.1;
}

.gprev .garrow,
.gnext .garrow,
.gclose .garrow {
  stroke: #fff;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gnext,
.glightbox-closing .gprev,
.glightbox-closing .gclose {
  opacity: 0 !important;
}

/*Skin */
.glightbox-clean .gslide-description,
.glightbox-modern .gslide-description {
  background: #fff;
}

.glightbox-clean .gdesc-inner,
.glightbox-modern .gdesc-inner {
  padding: 22px 20px;
}

.glightbox-clean .gslide-title,
.glightbox-modern .gslide-title {
  font-size: 1em;
  font-weight: normal;
  font-family: arial;
  color: #000;
  margin-bottom: 19px;
  line-height: 1.4em;
}

.glightbox-clean .gslide-desc,
.glightbox-modern .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial;
  line-height: 1.4em;
}

.glightbox-clean .gslide-video,
.glightbox-modern .gslide-video {
  background: #000;
}

/* .gprev,
      .gnext,
      .gclose{
          border: none;
          background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGMAAAA2CAYAAADTeCfRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5NThDMEMwNzg3NjgxMUU1QUM2MUYwRDYwNTNEN0UxMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5NThDMEMwODg3NjgxMUU1QUM2MUYwRDYwNTNEN0UxMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1OEMwQzA1ODc2ODExRTVBQzYxRjBENjA1M0Q3RTExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjk1OEMwQzA2ODc2ODExRTVBQzYxRjBENjA1M0Q3RTExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+htE8KwAAA9BJREFUeNrsm1tIFGEYhndDI4OSLgqkMrKjBXYwCjt40QkpL4pMyoqMgigIgm6iiy66KSwpj2vrucKgpINRRhYRooQkWYEWUkaWERokhVQXbu/QOyDhpjPzz3H/Dx7W1f2+753/3X9mnPnHHwqFfDKcEWPkEEgzZEgzpBkybDbjHLhvIP8GKLNhPILgksEaFaDKKWacAMdAn4Ean8F+kGOxGXFgDyjSmZ8L9oFpurKVU1uBnAr9jZMCah1hrQLBGkciyL7FGvNymXdZb2+RG3GGYo4LrHmINS9abEiZRkMu8PNXjPQVJV4Vc9SEgclm7WqLDSkd5RdBiBGizCihmMMmDkwWe1yz2JBy9g2E+ft5o7smkWZUUMwBCwYmg71u2nQMCZhphFEzaihmt4UDk86e9TYZUsj3OaKNMGJGHcVkWjwoChvZ+7HFfQvZt42vpaJ76Em6SzHbbDBCZR01NFvct519u8yorzXhEcWk2WiESiq1tFrUT901veZrnp1mNFHEWgcYoZJMTe0m98ljn3K+z+f7oB1mtLD5agcZoZJEbZ3Ab0J9deCrwpzSB6004xWbLnegESqJ1NgNok04aFeF+XtA5MF8pA90stkiBxuhkkCtvSBGQL2iEYz415Bys8yIAu/ZZKELjFCJp+Z+EGugTgHrVGq8ClEm2oxZ4CUYAHNcZIRKHOjj6ed8A8eISo15xUaPIcP9spFFk11ohMp0bkOHxrxa5lXo7Ksack9Pvn+YpTqLwS0QDZbxRo+bYgJoBZPAZtCiIVe5QzceZBroXwP8YKfWRH+YdVOx4AOYCOJBt0uMUAz4BGLAVNDjhXvg/bwF2UdTElywLVOoN5o/97hsRv/3HvgAv10fwVuQ6ODtUO45f6HmyaDXi6tDfoMZNKMdJDlwG2ZyN/qVs/mbl5fqDILZoAO8AMkO0j8XvONJhjKLf0TKuqkF4Dl4BlY6QLty1vcGdHE39SvSFrEtBc2gCWywUfcKfjE6eHIxGKkrCleBRvAApNmgOQU8BW2crRG/vDMV1JN0C/WmcmYqZizxeSyMLO/cBG6DOyDDAq3rwRPOyhSfB8PoWtst4DrJMlGnYnwDeMjZ4c0QdGGumhfIsk246LeVtetcfOFyVEQJ8nQv+AkqwThQIqjuDnAV1ILtPo9HlMBaB/kfewCMBfkG6ylL85VnJZSroLt8kRAmTLezOpfUD+W0WQvFnIzfpEePlaeO5oE1OvOVp56+R8KuaWiYZYYMG05tZUgzpBkypBnSDBnSDGmGDGmGDGmGNEOGNEOaIUOa4YH4I8AAM9m8BFEzyDIAAAAASUVORK5CYII=');
      } */
.glightbox-clean .gprev,
.glightbox-clean .gnext,
.glightbox-clean .gclose,
.glightbox-modern .gprev,
.glightbox-modern .gnext,
.glightbox-modern .gclose {
  background-color: rgba(0, 0, 0, 0.12);
}

.glightbox-clean .gprev:hover,
.glightbox-clean .gnext:hover,
.glightbox-clean .gclose:hover,
.glightbox-modern .gprev:hover,
.glightbox-modern .gnext:hover,
.glightbox-modern .gclose:hover {
  background-color: rgba(0, 0, 0, 0.2);
}

.glightbox-clean .gprev path,
.glightbox-clean .gnext path,
.glightbox-clean .gclose path,
.glightbox-modern .gprev path,
.glightbox-modern .gnext path,
.glightbox-modern .gclose path {
  fill: #fff;
}

.glightbox-clean button:focus:not(.focused):not(.disabled),
.glightbox-modern button:focus:not(.focused):not(.disabled) {
  outline: none;
}

.glightbox-clean .gprev,
.glightbox-modern .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 56px;
}

.glightbox-clean .gnext,
.glightbox-modern .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 56px;
}

.glightbox-clean .gclose,
.glightbox-modern .gclose {
  width: 35px;
  height: 35px;
  top: 15px;
  right: 10px;
  position: absolute;
  opacity: 0.7;
  background-position: -59px 2px;
}

.glightbox-clean .gclose svg,
.glightbox-modern .gclose svg {
  width: 20px;
}

.glightbox-clean .gclose:hover,
.glightbox-modern .gclose:hover {
  opacity: 1;
}

/*CSS Animations*/
.gfadeIn {
  animation: gfadeIn 0.5s ease;
}

.gfadeOut {
  animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
  animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
  animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
  animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
  animation: gslideInRight 0.3s ease;
}

.gzoomIn {
  animation: gzoomIn 0.5s ease;
}

.gzoomOut {
  animation: gzoomOut 0.5s ease;
}
@keyframes lightboxLoader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes gfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes gfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes gslideInLeft {
  from {
    opacity: 0;
    transform: translate3d(-60%, 0, 0);
  }
  to {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideOutLeft {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes gslideInRight {
  from {
    opacity: 0;
    visibility: visible;
    transform: translate3d(60%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideOutRight {
  from {
    opacity: 1;
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@keyframes gzoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 1;
  }
}
@keyframes gzoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
@media (min-width: 769px) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    flex-direction: row;
  }
  .glightbox-container .ginner-container.desc-top .gslide-description {
    order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image,
  .glightbox-container .ginner-container.desc-top .gslide-image img {
    order: 1;
  }
  .glightbox-container .ginner-container.desc-left .gslide-description {
    order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    order: 1;
  }
  .gslide-image img {
    max-height: 97vh;
    max-width: calc(100% - 20px);
    max-width: 100%;
  }
  .gslide-image img.zoomable {
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: grab;
  }
  .gslide-inline {
    max-height: 95vh;
  }
  .gslide-external {
    max-height: 100vh;
  }
  .gslide-description.description-left,
  .gslide-description.description-right {
    max-width: 275px;
  }
  .glightbox-open {
    height: auto;
  }
  .goverlay {
    background: rgba(0, 0, 0, 0.92);
  }
  .glightbox-clean .gslide-media,
  .glightbox-modern .gslide-media {
    box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
  }
  .glightbox-clean .gprev,
  .glightbox-modern .gprev {
    top: 45%;
  }
  .glightbox-clean .gnext,
  .glightbox-modern .gnext {
    top: 45%;
  }
}
@media (min-width: 992px) {
  .glightbox-clean .gclose,
  .glightbox-modern .gclose {
    right: 20px;
  }
}
@media screen and (max-height: 420px) {
  .goverlay {
    background: #000;
  }
}
#glightbox-slider.gslider .gslide,
#glightbox-slider.gslider .gslide .gslide-inner-content,
#glightbox-slider.gslider .gslide .gslide-inner-content .ginner-container {
  height: 100%;
}

#glightbox-slider.gslider .gslide .gslide-inner-content .ginner-container .gslide-video {
  height: 100%;
}

#glightbox-slider.gslider .gslide .gslide-inner-content .ginner-container .gslide-image {
  height: 100%;
}

.icon-links {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 32px;
  margin-bottom: 32px;
}

.icon-links a {
  display: flex;
  flex-direction: column;
  padding: 32px 16px;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  width: 50%;
}

.icon-links a:hover h3 {
  color: #13ace3;
}

@media (min-width: 740px) {
  .icon-links a {
    width: auto;
  }
  .icon-links a + a {
    border-left: 1px solid #e5eaef;
  }
}
.icon-links h3 {
  color: #36383d;
  font-size: inherit;
  padding-top: 16px;
  align-items: center;
  font-size: clamp(16px, 1.5vw, 30px);
}

.icon-links svg {
  width: 30px;
  height: 30px;
}

.icon-links svg.icon-papers {
  color: #00bad0;
}

.icon-links svg.icon-finder {
  color: #662d91;
}

.icon-links svg.icon-connector {
  color: #3ea845;
}

.icon-links svg.icon-tour {
  color: #a83e7a;
}

@media (max-width: 399px) {
  .icon-links a {
    width: 100%;
    justify-content: flex-start;
    flex-direction: row;
    padding: 16px 0;
  }
  .icon-links h3 {
    padding: 0 0 0 16px;
  }
}
.index-grid {
  display: flex;
  padding: var(--lo-gaps) 0;
}

.index-grid > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: 16px;
  width: 100%;
  align-items: flex-start;
  height: 100%;
}

.index-grid .grid-article {
  background: #fff;
  border-radius: 10px;
  flex-grow: 1;
  flex-basis: 300px;
  height: 100%;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 32px;
  position: relative;
  border: 1px solid #e5eaef;
}

.index-grid .grid-article h2 {
  color: #292560;
  font-size: 20px;
  margin: 0;
}

.index-grid .grid-article p {
  margin-top: 16px;
  margin-bottom: 60px;
}

.index-grid .grid-article p:empty {
  display: block;
}

.index-grid .grid-article figure {
  bottom: 32px;
  position: absolute;
  right: 0;
  height: 80px;
  width: 33%;
}

.index-grid .grid-article figure img,
.index-grid .grid-article figure svg {
  height: 100%;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.index-grid .grid-article figure svg {
  fill: #2452a4;
}

.index-grid .grid-article:hover h2 {
  color: #2452a4;
}

.index-grid .grid-article:hover .button {
  background-color: #13ace3;
  color: #fff;
}

.index-grid.tool-list {
  padding: 0;
}

@media (max-width: 399px) {
  .index-grid.tool-list > div {
    display: flex;
    flex-direction: column;
  }
  .index-grid.tool-list > div > a {
    margin-bottom: 16px;
  }
}
@media (min-width: 400px) {
  .index-grid.tool-list > div {
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    grid-gap: 32px;
  }
}
.index-grid .articles {
  background-color: white;
  order: 2;
  margin-left: 16px;
  max-width: 400px;
  width: 100%;
  padding: 32px;
  border-radius: 10px;
}

.index-grid .articles .article {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.index-grid .articles .article + .article {
  border-top: 1px solid #ddd;
}

.index-grid .articles .article h3 {
  font-size: 20px;
  padding: 32px 0 0 0;
}

.index-grid .articles .article p {
  margin-top: 8px;
  padding: 0 0 32px 0;
}

.index-page main {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: calc(1.25 * var(--lo-gaps));
}

.index-page main > figure {
  width: 100vw;
  margin-left: -50vw;
  left: 50%;
  margin-right: -50vw;
}

.index-page main > figure > iframe {
  width: 100vw;
  height: 800px;
  max-height: 80vh;
}

#support .index-grid > div {
  grid-template-columns: repeat(auto-fill, minmax(370px, 1fr));
  grid-gap: 32px;
}

#the-addon-advantage .index-grid > div {
  grid-template-columns: repeat(auto-fill, minmax(370px, 1fr));
  grid-gap: 32px;
}

@media (max-width: 799px) {
  #about-us .index-grid {
    flex-direction: column;
  }
  #about-us .index-grid .articles {
    order: 2;
    margin-top: 32px;
    margin-left: 0;
    max-width: 100%;
    width: 100%;
  }
  #about-us .index-grid .articles .article {
    max-width: 100%;
  }
}
lite-youtube {
  position: relative;
  display: block;
  background-position: center center;
  background-size: cover;
  cursor: pointer;
  height: 200px;
  margin-bottom: 32px;
}

lite-youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

lite-youtube .lty-playbtn {
  width: 68px;
  height: 68px;
  cursor: pointer;
  transform: translate3d(-50%, -50%, 0);
  top: 50%;
  left: 50%;
  border-radius: 50%;
  position: absolute;
}

lite-youtube .lty-playbtn span {
  display: none;
}

lite-youtube .lty-playbtn:before, lite-youtube .lty-playbtn:after {
  display: block;
  content: "";
}

lite-youtube .lty-playbtn:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 25px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 5px;
}

lite-youtube .lty-playbtn:hover:before {
  border-color: transparent transparent transparent #000000;
}

lite-youtube .lty-playbtn:hover:after {
  border-color: #000000;
}

lite-youtube .lty-playbtn:active {
  transform: translate3d(-50%, -50%, 0) scale(0.95);
}

lite-youtube .lty-playbtn:after {
  border: 2px solid white;
  border-radius: 50%;
  height: 100%;
  width: 100%;
  top: 0;
  position: absolute;
}

lite-youtube.lyt-activated {
  cursor: unset;
}

lite-youtube.lyt-activated::before,
lite-youtube.lyt-activated > .lty-playbtn {
  opacity: 0;
  pointer-events: none;
}

modal-container {
  position: fixed;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.25s;
}

html.locked modal-container {
  opacity: 1;
}

modal-container modal-content {
  position: relative;
  display: block;
  width: 100%;
  max-width: 600px;
  max-height: 100%;
  background-color: #fff;
}

modal-container modal-content button.close {
  position: absolute;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #13ace3;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #fff;
}

modal-container modal-content button.close svg {
  width: 16px;
  height: 16px;
  stroke: #fff;
  stroke-width: 100px;
  color: #fff;
}

@media screen and (max-width: 600px), screen and (max-height: 820px) {
  modal-container modal-content {
    overflow-y: scroll;
  }
  modal-container modal-content button.close {
    top: 0;
    right: 0;
    border: none;
    background-color: transparent;
  }
}
modal-container.video modal-content {
  width: calc(100% - 50px);
  height: auto;
  max-width: 1080px;
  padding: 8px;
  border-radius: 5px;
}

modal-container.video modal-content video-block > button {
  display: none;
}

.topnav {
  grid-row: 1;
  color: #292560;
  padding-top: 16px;
  align-self: start;
  z-index: 100;
  position: sticky;
  top: -16px;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 20px;
  align-items: center;
  display: flex;
  transform: translateZ(0);
}

.topnav::before {
  content: " ";
  display: block;
  filter: drop-shadow(0 1px 4px #292560);
  height: 100%;
  position: absolute;
  top: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.125s;
}

@media (max-width: 1400px) {
  .topnav::before {
    width: 100%;
  }
}
.topnav a.logo {
  align-self: center;
  margin-right: var(--lo-gaps);
  padding-right: var(--lo-gaps);
  height: 32px;
  transform: scale(1.3);
  transform-origin: 0 50%;
}

.topnav svg.logo {
  height: 100%;
}

.topnav #mobilenav {
  position: absolute;
  left: -10000px;
}

.topnav .mobilenav-handle,
.topnav .mobilecart-handle {
  color: inherit;
  display: none;
}

.topnav .mobilecart-handle svg {
  color: inherit;
  fill: currentColor;
}

.topnav .mobilenav-handle svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.topnav .cart::after {
  content: attr(data-amount);
  background: #13ace3;
  border-radius: 12px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  margin-left: 16px;
  padding: 5px;
  text-align: center;
  vertical-align: middle;
  min-width: 22px;
}

.topnav .cart:hover + div,
.topnav .cart + div:hover {
  display: block;
}

.mainnav {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
  margin: 0 0 0 auto;
  width: 100%;
  max-width: calc(1600px - 360px - var(--lo-gaps));
  padding-left: 0;
}

.mainnav > li {
  display: flex;
}

.mainnav > li a {
  color: inherit;
}

.mainnav > li > a,
.mainnav > li > button {
  color: inherit;
  display: block;
  line-height: 1;
  padding: 20px 16px;
  position: relative;
  transition: color 0.125s;
  white-space: nowrap;
}

.mainnav > li > a .icon,
.mainnav > li > a .symbol,
.mainnav > li > button .icon,
.mainnav > li > button .symbol {
  font-size: 0.875em;
  margin-left: 8px;
  fill: currentColor;
  width: 1.6rem;
}

.mainnav > li > button svg {
  display: block;
}

.mainnav > li:hover > a span::after {
  transform: rotate(-180deg);
}

.mainnav > li {
  position: relative;
}

.mainnav > li > nav {
  display: none;
  opacity: 0;
  transform: scale(0.5);
  transform-origin: top left;
  transition: opacity 0.125s linear, transform 0.25s ease-out;
  left: 0;
  position: absolute;
  top: 100%;
  min-width: 100%;
  z-index: 10;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(to bottom, #2452a4, #292560);
  color: #fff;
  box-shadow: 0px 2px 11px #292560;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  border-top-right-radius: 10px;
  overflow: hidden;
}

.mainnav > li > nav > a {
  display: block;
  line-height: 1;
  padding: 20px 16px;
  white-space: nowrap;
  font-size: 16px;
}

.mainnav > li > nav > a:hover {
  background: rgba(255, 255, 255, 0.2);
}

.mainnav > li.show > nav {
  display: flex;
}

.mainnav > li.open > nav {
  opacity: 1;
  transform: translateX(0) scale(1);
  transition: opacity 0.125s linear, transform 0.125s ease-in;
}

.mainnav > li.prodnav > nav .JS_prodnav {
  display: grid;
  grid-template-columns: 2fr 7fr;
  width: calc(1600px - 360px - var(--lo-gaps));
}

.mainnav > li.prodnav > nav .JS_prodnav a,
.mainnav > li.prodnav > nav .JS_prodnav button {
  color: inherit;
}

.mainnav > li.prodnav > nav .JS_prodnav nav,
.mainnav > li.prodnav > nav .JS_prodnav section {
  display: flex;
}

.mainnav > li.prodnav > nav .JS_prodnav nav {
  align-items: stretch;
  flex-direction: column;
  min-height: 400px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav a,
.mainnav > li.prodnav > nav .JS_prodnav nav button {
  display: inline-block;
  width: 100%;
  padding: 16px;
  text-align: left;
  font-size: 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav a + button,
.mainnav > li.prodnav > nav .JS_prodnav nav button + button {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.mainnav > li.prodnav > nav .JS_prodnav nav a.active, .mainnav > li.prodnav > nav .JS_prodnav nav a:hover,
.mainnav > li.prodnav > nav .JS_prodnav nav button.active,
.mainnav > li.prodnav > nav .JS_prodnav nav button:hover {
  background: rgba(255, 255, 255, 0.2);
}

.mainnav > li.prodnav > nav .JS_prodnav nav a.withsub,
.mainnav > li.prodnav > nav .JS_prodnav nav button.withsub {
  position: relative;
}

.mainnav > li.prodnav > nav .JS_prodnav nav a.withsub:before,
.mainnav > li.prodnav > nav .JS_prodnav nav button.withsub:before {
  position: absolute;
  right: 10px;
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 64 64" fill="white"><path fill="white" d="M20 1 L51 32 20 63 A1 1 0 0 1 16 59 L43 32 16 5 A2 2 0 0 1 20 1 Z"/></svg>');
  color: #ffffff;
  width: 16px;
  height: 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav a.withsub + .subwrap:not(.showSub),
.mainnav > li.prodnav > nav .JS_prodnav nav button.withsub + .subwrap:not(.showSub) {
  height: 0px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav a.active + .subwrap, .mainnav > li.prodnav > nav .JS_prodnav nav a:hover + .subwrap,
.mainnav > li.prodnav > nav .JS_prodnav nav button.active + .subwrap,
.mainnav > li.prodnav > nav .JS_prodnav nav button:hover + .subwrap {
  height: 172px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav a.active + .subwrap:nth-of-type(3), .mainnav > li.prodnav > nav .JS_prodnav nav a:hover + .subwrap:nth-of-type(3),
.mainnav > li.prodnav > nav .JS_prodnav nav button.active + .subwrap:nth-of-type(3),
.mainnav > li.prodnav > nav .JS_prodnav nav button:hover + .subwrap:nth-of-type(3) {
  height: 198px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav .subwrap {
  position: relative;
  transition: 300ms;
  transition-delay: 100ms;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
}

.mainnav > li.prodnav > nav .JS_prodnav nav .subwrap:before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 5px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
}

.mainnav > li.prodnav > nav .JS_prodnav nav .subwrap button {
  display: block;
  width: 100%;
  font-size: 14px;
  padding-left: 25px;
  border: none;
}

.mainnav > li.prodnav > nav .JS_prodnav nav .subwrap.showSub {
  height: 172px;
}

.mainnav > li.prodnav > nav .JS_prodnav nav .subwrap.showSub:nth-of-type(3) {
  height: 198px;
}

.mainnav > li.prodnav > nav .JS_prodnav section {
  align-items: stretch;
  flex-direction: column;
  justify-content: flex-start;
  background: #fff;
  color: #2452a4;
  padding: 16px 32px 32px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > * {
  transition: 200ms;
}

.mainnav > li.prodnav > nav .JS_prodnav section.hidden > * {
  opacity: 0;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div {
  align-items: flex-start;
  display: flex;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div > * {
  flex: 0 0 20%;
  padding-right: 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div.long-children {
  flex-wrap: wrap;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div.long-children > div:nth-of-type(5) {
  margin-left: 20%;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div.long-children > div:nth-of-type(5),
.mainnav > li.prodnav > nav .JS_prodnav section > div.long-children > div:nth-of-type(6),
.mainnav > li.prodnav > nav .JS_prodnav section > div.long-children > div:nth-of-type(7),
.mainnav > li.prodnav > nav .JS_prodnav section > div.long-children > div:nth-of-type(8) {
  margin-top: 20px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div > img {
  max-height: 150px;
  max-width: 20%;
  -o-object-fit: contain;
     object-fit: contain;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div > div {
  display: flex;
  flex-direction: column;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div > div > p {
  color: #686e72;
  font-size: 13px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > div > div > a {
  font-size: 12px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > p {
  font-size: 18px;
  margin: 0 0 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > p ~ p {
  border-top: 1px solid #ddd;
  margin-top: 16px;
  padding-top: 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav section > p a::after {
  content: " - view all";
  font-size: 14px;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands {
  align-items: center;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 16px;
  justify-content: flex-start;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands > p {
  text-align: left;
  grid-column: 1/-1;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands > a {
  padding: 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands > a img {
  max-height: 64px;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands > div.vall {
  grid-column: 3/span 1;
  text-align: center;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands > div.vall a {
  flex: 0 0 auto;
  color: #ffffff;
  padding-left: 16px;
}

.mainnav > li.prodnav > nav .JS_prodnav section.brands > div.vall a svg {
  width: 16px;
  height: 16px;
}

.mainnav > li.prodnav:hover > nav {
  display: block;
}

.mainnav > li.prodnav > a:hover + nav > section:first-of-type {
  display: flex;
}

.mainnav > li > nav.lists {
  overflow: visible;
}

.mainnav > li > nav.lists ul {
  padding-left: 0;
}

.mainnav > li > nav.lists ul li {
  position: relative;
  display: inline-block;
  width: 100%;
  text-align: left;
  font-size: 16px;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.mainnav > li > nav.lists ul li > a {
  display: block;
  line-height: 1;
  padding: 20px 16px;
  white-space: nowrap;
}

.mainnav > li > nav.lists ul li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.mainnav > li > nav.lists ul li:first-of-type {
  border-top: none;
}

.mainnav > li > nav.lists ul li .subnav {
  display: flex;
  flex-direction: column;
  position: absolute;
  left: 100%;
  top: 0;
  background-color: #fff;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  color: #2452a4;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 250px;
  transform-origin: top left;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.125s linear, transform 0.125s ease-in;
  z-index: -1;
  box-shadow: 0px 2px 11px #292560;
}

.mainnav > li > nav.lists ul li .subnav a {
  border-bottom: 1px solid #2452a4;
  transition: background-color 0.3s ease-in-out;
  line-height: 1;
  padding: 20px 16px;
}

.mainnav > li > nav.lists ul li .subnav a:last-of-type {
  border-bottom: 0;
}

.mainnav > li > nav.lists ul li .subnav a:hover {
  background-color: rgba(36, 82, 164, 0.1);
}

.mainnav > li > nav.lists ul li .subnav:hover {
  z-index: 99;
  opacity: 1;
  transform: translateX(0) scale(1);
}

.mainnav > li > nav.lists ul li:hover .subnav {
  z-index: 99;
  opacity: 1;
  transform: translateX(0) scale(1);
}

.mainnav li:has(nav) a span::after {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" fill="none" stroke="white" stroke-width="1.5"><path d="M1 4 8 12 15 4"/></svg>');
  display: inline-block;
  margin-left: 8px;
  transform-origin: 50% 8px;
  position: relative;
  top: 1px;
  transition: transform 0.2s ease-in-out;
}

.mainnav li:has(nav) a span.nochevron::after {
  display: none !important;
}

.mainnav li:has(nav) nav a span {
  display: flex;
  justify-content: space-between;
}

.mainnav li:has(nav) nav a span::after {
  transform: rotate(-90deg);
}

.nav-hiliter {
  background: #13ace3;
  border-radius: 4px 4px 0 0;
  bottom: 0;
  height: 4px;
  pointer-events: none;
  position: absolute;
  transition: all 0.25s cubic-bezier(0.7, 0.3, 0.8, 1.2);
  z-index: 10;
}

.banner + .topnav {
  color: #ffffff;
}

.banner + .topnav .mainnav > li {
  transition: color 0.125s;
}

.banner + .topnav::before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.33), rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0));
  opacity: 1;
}

@media screen and (min-width: 1250px) {
  .topnav.stickied {
    color: #ffffff;
  }
  .topnav.stickied::before {
    background: linear-gradient(to right, #2452a4, #292560);
    opacity: 1;
    transition: opacity 0.125s;
  }
  .topnav.stickied .mainnav > li {
    transition: color 0.125s;
  }
  .topnav.stickied .mainnav > li > nav {
    border-top-right-radius: 0;
  }
  .topnav.stickied a.logo {
    transform: scale(1) translateY(-2px);
    transition: transform 0.2s;
  }
}
@media screen and (max-width: 1728px) {
  .topnav {
    font-size: 16px;
  }
  .topnav > .logo {
    flex: 0 0 360px;
  }
  .topnav .mainnav > li > ul > li > a {
    padding: 8px;
  }
  .large-header-nav-layout .topnav > .logo {
    flex: 0 0 0;
  }
  .large-header-nav-layout .topnav .mainnav > li a span::after {
    position: relative;
    top: 1px;
    display: inline-block;
  }
}
@media screen and (max-width: 1250px) {
  .topnav {
    grid-column: 1/-1;
    margin-top: 0;
    padding: 16px;
    position: sticky;
    top: 0;
    background: linear-gradient(to right, #2452a4, #292560);
    color: #ffffff;
  }
  .topnav .logo {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
    flex: 0 0 auto;
  }
  .topnav a.logo {
    transform: scale(1) translateY(-2px);
    transition: transform 0.2s;
  }
  .topnav .mainnav {
    display: none;
  }
  .topnav .mobilecart-handle,
  .topnav .mobilenav-handle {
    display: block !important;
  }
  .topnav .mobilenav-handle {
    margin-left: 16px;
  }
  .topnav .mobilecart-handle {
    margin-left: auto;
    position: relative;
  }
  .topnav .mobilecart-handle[data-amount]::before {
    content: attr(data-amount);
    display: block;
    position: absolute;
    right: 2px;
    top: -1px;
    background: #13ace3;
    color: #fff;
    font-size: 8px;
    font-weight: bold;
    border-radius: 1em;
    line-height: 2em;
    text-align: center;
    width: 2em;
  }
  .topnav .mobilecart-handle[data-amount="0"]::before {
    content: none;
  }
  .topnav .mobilecart-handle.pulse[data-amount]::before {
    animation: pulser 0.25s linear;
  }
  .nav-hiliter {
    display: none !important;
  }
}
@keyframes pulser {
  from {
    transform: scale(1.5);
  }
}
.popup--wrapper.mobilenav.mobilepop .popup a {
  display: flex;
  font-size: 20px;
  padding: 8px;
  position: relative;
}

.popup--wrapper.mobilenav.mobilepop .popup a.has-sub:after {
  content: "";
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 16" fill="none" stroke="white" stroke-width="1.5"><path d="M0,16l10-8L0,0"/></svg>');
  background-size: contain;
  width: 6.25px;
  height: 10px;
  background-repeat: no-repeat;
  position: absolute;
  right: 8px;
  top: calc(50% - 5px);
  display: inline-block;
  margin-left: 8px;
  transform-origin: 50% 5px;
  transform: rotate(90deg);
  transition: transform 0.2s ease-in-out;
}

.popup--wrapper.mobilenav.mobilepop .popup a:focus {
  outline: none;
}

.popup--wrapper.mobilenav.mobilepop .popup a.open::after {
  transform: rotate(-90deg);
}

.popup--wrapper.mobilenav.mobilepop .popup div {
  background: #292560;
  height: 0;
  overflow: hidden;
}

.popup--wrapper.mobilenav.mobilepop .popup div a {
  position: relative;
  font-size: 18px;
}

.popup--wrapper.mobilenav.mobilepop .popup div div {
  background: linear-gradient(70deg, rgba(255, 255, 255, 0.05), transparent);
}

.popup--wrapper.mobilenav.mobilepop .popup div div a span:before {
  content: "-";
  margin-right: 8px;
  color: rgba(255, 255, 255, 0.2);
}

.popup--wrapper.mobilenav.mobilepop .popup div div a span {
  position: relative;
  width: 100%;
}

.popup--wrapper.mobilenav.mobilepop .popup div div div a span {
  padding-left: 16px;
}

#home .logo svg .plus {
  transform-origin: 8px 52px;
  transform: scale(0) rotate(-90deg);
  animation: logospin 0.4s linear both;
  animation-delay: 0.4s;
}

#home .logo svg .a,
#home .logo svg .d1,
#home .logo svg .d2,
#home .logo svg .o,
#home .logo svg .n path {
  animation: logowrite 0.4s linear both;
}

#home .logo svg .a {
  stroke-dashoffset: 180;
  stroke-dasharray: 180;
  animation-delay: 0.8s;
}

#home .logo svg .d1,
#home .logo svg .d2 {
  stroke-dashoffset: 210;
  stroke-dasharray: 210;
}

#home .logo svg .d1 {
  animation-delay: 0.8s;
}

#home .logo svg .d2 {
  animation-delay: 1.2s;
}

#home .logo svg .o {
  stroke-dashoffset: 160;
  stroke-dasharray: 160;
  animation-delay: 1.6s;
}

#home .logo svg .n path:nth-of-type(1) {
  stroke-dashoffset: 30;
  stroke-dasharray: 30;
  animation-delay: 2.2s;
}

#home .logo svg .n path:nth-of-type(2) {
  stroke-dashoffset: 130;
  stroke-dasharray: 130;
  animation-delay: 2s;
}

@keyframes logowrite {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes logospin {
  to {
    transform: scale(1) rotate(0deg);
  }
}
.plyr button {
  background: #13ace3;
  color: #fff;
}

.plyr > button {
  position: absolute;
  border-radius: 50%;
  height: 52px;
}

.plyr--full-ui input[type=range] {
  color: #13ace3;
}

.plyr__controls {
  display: none;
}

.plyr__poster {
  background-size: cover;
}

.JS_potrackerform {
  margin-top: 32px;
}

.JS_potrackerform .potracker-message h4 {
  border-radius: 5px 5px 0 0;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  background: #2452a4;
  padding: 16px;
  margin: 0;
  margin-top: 32px;
}

.JS_potrackerform .potracker-message table {
  width: 100%;
}

.JS_potrackerform .potracker-message table tr:nth-child(even) td {
  background: #e5eaef;
}

.JS_potrackerform .potracker-message table td {
  padding: 8px 16px;
  text-align: left;
  width: 50%;
  font-size: 14px;
  line-height: 1.6;
}

.JS_potrackerform .potracker-message table td:first-of-type {
  font-weight: bold;
}

.JS_potrackerform .potracker-message.potracker-message--error p {
  color: #97080e;
}

.popup--wrapper {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 78px;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s;
  background-color: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 1250px) {
  .popup--wrapper {
    top: 0;
  }
}
.popup--wrapper.open {
  opacity: 1;
}

.popup--wrapper .popup {
  position: relative;
}

.popup--wrapper .popup .cancel-btn {
  background: none;
  border: none;
  font-size: 32px;
  line-height: 1;
  padding: 0.25em 0.5em;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 10;
}

.popup--wrapper .popup .cancel-btn:hover {
  animation: rock 0.5s;
}

.popup--wrapper .popup .cancel-btn:active {
  transform: translateY(2px);
}

@media screen and (min-width: 600px) {
  .popup--wrapper ~ * {
    filter: none;
    transition: filter 0.075s;
  }
  .popup--wrapper.open:not(.cartpop):not(.share-pop) ~ * {
    filter: grayscale(100%) blur(1px);
  }
}
@keyframes rock {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-8deg);
  }
  75% {
    transform: rotate(8deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.popup--wrapper.mobilepop .popup--closer {
  color: #fff;
  padding: 16px;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateX(calc(100vw - 56px));
  transition: transform 0.25s;
}

.popup--wrapper.mobilepop .popup--closer svg {
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.popup--wrapper.mobilepop .popup {
  background: linear-gradient(to bottom, #2452a4, #292560);
  bottom: 0;
  color: #fff;
  position: absolute;
  overflow-y: scroll;
  right: 0;
  top: 0;
  width: calc(100vw - 56px);
  transform: translateX(calc(100vw - 56px));
  transition: transform 0.25s;
}

.popup--wrapper.mobilepop ~ *,
.popup--wrapper.mobilepop .popup {
  transition: transform 0.25s;
}

.popup--wrapper.mobilepop.open .popup--closer, .popup--wrapper.mobilepop.open .popup {
  transform: translateX(0);
}

.popup--wrapper.mobilepop.open ~ * {
  transform: translateX(calc(56px - 100vw));
}

.product-cards {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.product-cards .content {
  align-items: flex-start;
  max-width: 1030px;
  margin-inline: auto;
}

.product-cards .content > * {
  max-width: initial;
}

.product-cards .content.rich-text {
  text-align: inherit;
}

product-cards {
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 4rem;
  padding-block: 6rem;
  width: 100%;
  background: #f8f9fb;
  max-width: 1030px;
  margin-inline: auto;
  margin-top: 2rem;
}

product-cards + .button {
  margin-inline: auto;
  margin-top: 4rem;
}

product-cards::before {
  width: 100vw;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  height: 100%;
  content: "";
  background-color: inherit;
  position: absolute;
  pointer-events: none;
  z-index: -1;
}

.product-group {
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  grid-row: 2;
  grid-column: 1/-1;
  isolation: isolate;
  gap: 3rem;
}

.product-group .cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: 16px;
}

.product-group .group-heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2.3rem;
  font-weight: 500;
  color: #2452a4;
}

.product-group .group-heading .icon {
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #828786;
}

.product-card {
  text-align: center;
  padding: 3rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background-color: white;
  border-radius: 1.5ch;
}

.product-card h3 {
  color: #2452a4;
  font-size: 2rem;
  font-weight: 500;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}

.product-card img {
  max-width: 200px;
  margin: 0 auto;
}

.product-card .intro {
  color: #333;
  line-height: 1.5;
}

a.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(107, 92, 168, 0.2);
}

.related-articles h3,
.related-documents h3 {
  margin-bottom: 8px;
}

.related-articles {
  position: relative;
}

.related-articles a {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23FF6B35"><path d="M8 0L6.59 1.41 12.17 7H0v2h12.17l-5.58 5.59L8 16l8-8z"/></svg>');
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 16px;
  display: block;
  padding: 16px 0 16px 32px;
  transition: color 0.2s;
}

.related-articles a:hover {
  color: #13ace3;
}

.related-articles + h3 {
  margin-top: 32px;
}

.related-documents a {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23FF6B35"><path d="M3 0v16h10V4l-4-4H3zm6 1.5L11.5 4H9V1.5zM4 2h4v3h3v9H4V2z"/><path d="M5 6h6v1H5zm0 2h6v1H5zm0 2h4v1H5z"/></svg>');
}

.product-page--related {
  display: grid;
  grid-template-columns: repeat(10, auto);
}

.product-page--related dt {
  order: 1;
}

.product-page--related dd {
  display: none;
  order: 2;
  grid-column: 1/-1;
}

@media screen and (min-width: 800px) {
  .product-page--related dl {
    display: grid;
    grid-auto-flow: column dense;
    grid-template-columns: 10em 1fr;
    grid-template-rows: repeat(500, auto);
  }
}
.product-page--related dl dd {
  grid-column: 2;
  grid-row: 1/-1;
}

.product-page--related .product-page--related--show + dd {
  display: block;
}

.product-page--related dt {
  cursor: pointer;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  padding: 16px;
}

.product-page--related > dt {
  background: rgb(150.45, 179.775, 232.05);
  color: #fff;
  text-align: center;
}

.product-page--related > dt:first-of-type {
  border-top-left-radius: 10px;
}

.product-page--related > dt.product-page--related--show {
  background: #2452a4;
}

.product-page--related > dd {
  background: linear-gradient(to bottom, #f8f8f8, rgba(255, 255, 255, 0) 50%);
  position: relative;
}

.product-page--related > dd::after {
  content: " ";
  display: block;
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 50px;
  z-index: -1;
  background: rgb(150.45, 179.775, 232.05);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.product-page--related dl dt {
  transition: background 0.2s;
}

.product-page--related dl dt.product-page--related--show, .product-page--related dl dt:hover {
  background: #e5eaef;
  color: #292560;
}

.product-page--related a {
  border: solid #e5eaef;
  border-width: 0 0 1px 1px;
  display: block;
  padding: 16px 64px 16px 16px;
  position: relative;
  transition: background 0.2s;
}

.product-page--related a:last-child {
  border-bottom: 0;
}

.product-page--related a::after {
  content: " ";
  display: block;
  height: 20px;
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23FF6B35"><path d="M8 0L6.59 1.41 12.17 7H0v2h12.17l-5.58 5.59L8 16l8-8z"/></svg>');
  background-size: 20px;
  background-repeat: no-repeat;
  transition: all 0.3s;
  opacity: 0;
}

.product-page--related a:hover {
  background: #e5eaef;
}

.product-page--related a:hover::after {
  right: 16px;
  opacity: 1;
}

.product-page--related a h6 {
  color: #292560;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
}

.product-page--related a p {
  margin-top: 8px;
}

@font-face {
  font-family: "Salesforce Sans";
  src: url("https://c1.sfdcstatic.com/etc/clientlibs/sfdc-aem-master/clientlibs_base/fonts/SalesforceSans-Regular.woff") format("woff"), url("https://c1.sfdcstatic.com/etc/clientlibs/sfdc-aem-master/clientlibs_base/fonts/SalesforceSans-Regular.ttf") format("truetype");
}
@media only screen and (max-width: 48em) {
  .embeddedServiceHelpButton div.helpButton {
    right: 0;
    width: auto !important;
  }
}
.embeddedServiceHelpButton div.helpButton button.uiButton {
  background: linear-gradient(to right, #2452a4, #292560);
  font-family: "Salesforce Sans", sans-serif;
  border-radius: 5px 5px 0 0;
}

@media only screen and (max-width: 48em) {
  .embeddedServiceHelpButton div.helpButton button.uiButton {
    border-radius: 5px 0 0 5px;
  }
}
.embeddedServiceHelpButton div.helpButton button.uiButton:focus {
  outline: none;
}

@media only screen and (max-width: 48em) {
  body.esw-inactive .embeddedServiceHelpButton div.helpButton button.uiButton {
    height: auto;
    padding: 12px;
    min-width: unset;
    max-width: unset;
  }
  body.esw-inactive .embeddedServiceHelpButton div.helpButton button.uiButton span.embeddedServiceIcon {
    margin-right: 0;
  }
  body.esw-inactive .embeddedServiceHelpButton div.helpButton button.uiButton span.helpButtonLabel {
    display: none;
  }
}
.JS_search-filters {
  padding-right: var(--lo-gaps);
}

.JS_search-filters input[type=search] {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin-top: 16px;
  margin-bottom: 16px;
}

.JS_search-filters .JS_magicbox .selectize-input input {
  font-size: 16px;
  border: 1px solid transparent;
  outline: none;
}

.JS_search-filters .JS_magicbox .selectize-input input:focus {
  outline: none;
}

.JS_search-filters .selectize-input > input {
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 2px 0 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  -webkit-user-select: auto !important;
  box-shadow: none !important;
}

.JS_search-filters select.JS_magicbox:not(.selectized) {
  width: 100%;
  height: 40px;
}

.JS_search-filters select.JS_magicbox:not(.selectized) optgroup {
  display: none;
}

.JS_search-filters .selectize-dropdown {
  position: absolute;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: #fff;
  margin: -1px 0 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}

.JS_search-filters .selectize-dropdown-content {
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  color: #36383d;
  font-size: 13px;
}

.JS_search-filters .selectize-dropdown-content > div.optgroup > div:hover {
  cursor: pointer;
  background-color: #eaf0fa;
}

.JS_search-filters h3 {
  color: #13ace3;
  font-size: 16px;
}

.JS_search-filters h3,
.JS_search-filters h4 {
  margin-bottom: 16px;
  margin-top: 16px;
}

.JS_search-filters label {
  display: block;
}

.JS_search-filters .searchfilter-heading {
  display: flex;
  align-items: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-size: 19.2px;
  position: relative;
  margin: 0;
  padding: 8px 32px 8px 0;
}

.JS_search-filters .searchfilter-heading .searchfilter-heading--category {
  display: block;
  font-size: 0.5em;
}

.JS_search-filters .searchfilter-heading::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="white"><path d="M8 11L3 6h10l-5 5z"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
  position: absolute;
  right: 0;
  top: calc(50% - 8px);
  transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.2s;
}

.JS_search-filters > div:nth-of-type(2) .searchfilter-heading:first-of-type {
  border-top: none;
}

.JS_search-filters .searchfilter-heading {
  position: relative;
  opacity: 0.5;
  transition: margin 0.2s, color 0.2s, border-color 0.2s;
}

.JS_search-filters .searchfilter-heading + div {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 0;
  position: relative;
  background: rgba(255, 255, 255, 0.05);
  transition: height 0.2s, margin 0.2s;
  border-radius: 0 0 5px 5px;
}

.JS_search-filters .searchfilter-heading + div .checkbox--wrap {
  padding: 8px 16px;
}

.JS_search-filters .searchfilter-heading + div .checkbox--wrap:nth-child(1n+6) {
  display: none;
}

.JS_search-filters .searchfilter-heading + div .checkbox--wrap:first-of-type {
  padding-top: 16px;
}

.JS_search-filters .searchfilter-heading + div .checkbox--wrap:last-of-type {
  padding-bottom: 16px;
}

.JS_search-filters .searchfilter-heading + div.searchfilter-heading--show-more .checkbox--wrap:nth-child(1n+6) {
  display: block;
}

.JS_search-filters .searchfilter-heading + div button {
  margin-top: auto;
  background: none;
  border: none;
  color: white;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  text-align: center;
  font-size: 13px;
  width: 100%;
  margin-top: 8px;
  padding: 6px 0;
  background-color: rgba(255, 255, 255, 0.1);
  transition: color 0.2s, background-color 0.2s;
}

.JS_search-filters .searchfilter-heading + div button:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.JS_search-filters .searchfilter-heading + div.searchfilter-heading--show-more button {
  margin-top: 0;
}

.JS_search-filters .searchfilter-heading--open {
  opacity: 1;
  margin-bottom: 8px;
}

.JS_search-filters .searchfilter-heading--open:before {
  opacity: 1;
}

.JS_search-filters .searchfilter-heading--open:after {
  transform: rotate(-180deg);
}

.JS_search-filters .searchfilter-heading--open + div {
  height: auto;
  margin-bottom: 8px;
}

.JS_search-filters .searchfilter-heading--open + div + .searchfilter-heading {
  border-top-color: transparent;
}

.JS_search-filters .checkbox--wrap {
  padding: 8px 0;
  height: auto;
  --checkbox-size: 1em;
  --checkbox-spacing: 8px;
}

.JS_search-filters .checkbox--wrap .checkbox--label {
  padding-left: 28px;
  display: flex;
  align-items: center;
  font-size: 15px;
  line-height: 1.3;
  justify-content: space-between;
  transition: color 0.2s;
}

.JS_search-filters .checkbox--wrap .checkbox--label:hover {
  color: #13ace3;
  cursor: pointer;
}

.JS_search-filters .checkbox--wrap .checkbox--label label-count {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  padding: 1px 6px;
  min-width: 22px;
  text-align: center;
  color: white;
  margin-left: 12px;
  pointer-events: none;
  font-size: 12px;
}

.JS_search-filters .checkbox--wrap .checkbox--label:before, .JS_search-filters .checkbox--wrap .checkbox--label:after {
  position: absolute;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 0px;
}

.JS_search-filters .checkbox--wrap .checkbox--label:before {
  background-color: white;
}

.JS_search-filters .checkbox--wrap .checkbox--label:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg class='tick-line' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='' stroke='%2313ace3' stroke-width='30px'%3E %3Cpolyline style='fill:none; stroke-miterlimit:10;' points='92.5,5.5 36.5,88.5 5.5,69.5'/%3E %3C/svg%3E");
  background-color: initial;
  background-position: center center;
  background-size: 12px 12px;
  background-repeat: no-repeat;
}

.sidebar .JS_search-filters {
  margin-bottom: calc(var(--border-radius-large) - var(--lo-gaps));
}

.popup .JS_search-filters {
  padding: 8px 16px;
}

.popup--wrapper.mobilepop.open ~ .mobile-update-message {
  bottom: 0;
  left: 0;
  padding: 16px;
  position: fixed;
  right: 0;
  z-index: 1000000;
  background: #3ea845;
  color: #fff;
  font-size: 20px;
  text-align: center;
  animation: mum-fadeout 4s;
  transform: translateX(0) translateY(100%);
  transition: none;
}

@media (min-width: 800px) {
  .popup--wrapper.mobilepop.open ~ .mobile-update-message {
    display: none !important;
  }
}
@keyframes mum-fadeout {
  12.5% {
    transform: translateX(0) translateY(0);
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translateX(0) translateY(0);
  }
}
.popup--wrapper.share-pop {
  position: absolute;
  bottom: auto;
  left: auto;
  right: auto;
  top: auto;
  transform: translateX(-50%);
  background: none;
  overflow: hidden;
  padding-top: 8px;
}

.popup--wrapper.share-pop ~ * {
  filter: none;
}

.popup--wrapper.share-pop .popup {
  background: var(--primary);
  border-radius: 10px;
  color: #fff;
  display: flex;
  padding: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
  filter: drop-shadow(0 2px 4px var(--primary-d));
}

@media screen and (min-width: 407px) {
  .popup--wrapper.share-pop .popup {
    flex-wrap: nowrap;
  }
}
.popup--wrapper.share-pop .popup::before {
  content: " ";
  display: block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-color: transparent transparent var(--primary);
  border-style: solid;
  border-width: 0 16px 16px;
}

.popup--wrapper.share-pop a {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  padding: 8px;
  font-size: 12px;
}

.popup--wrapper.share-pop a:hover {
  color: #13ace3;
}

.popup--wrapper.share-pop a:active svg {
  transform: translateY(1px);
}

.popup--wrapper.share-pop a + a {
  margin-top: 16px;
}

@media screen and (min-width: 480px) {
  .popup--wrapper.share-pop a + a {
    margin-top: 0;
    margin-left: 16px;
  }
}
.popup--wrapper.share-pop a.copy-link {
  cursor: pointer;
  --notice-offset: 0;
  --transition-speed: 0.3s;
}

.popup--wrapper.share-pop a.copy-link:after {
  content: "Link copied to clipboard";
  position: absolute;
  display: flex;
  place-content: center;
  place-items: center;
  white-space: nowrap;
  padding: 5px 10px;
  font-size: 14px;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(var(--notice-offset));
  color: #ffffff;
  border-radius: 5px;
  background-color: #13ace3;
  opacity: 0;
  transition: transform cubic-bezier(0.42, 0, 0.58, 1) var(--transition-speed), opacity cubic-bezier(0.42, 0, 0.58, 1) var(--transition-speed);
}

.popup--wrapper.share-pop a.copy-link.copied {
  --notice-offset: -25px;
}

.popup--wrapper.share-pop a.copy-link.copied:after {
  opacity: 1;
}

.ie .popup--wrapper.share-pop .popup {
  background-color: transparent transparent #2452a4;
  filter: drop-shadow(0 2px 4px #292560);
}

.ie .popup--wrapper.share-pop .popup::before {
  border-color: transparent transparent #2452a4;
}

.JS_shipmentstatusform {
  margin-top: 32px;
}

.JS_shipmentstatusform .shipmentstatus-message h4 {
  border-radius: 5px 5px 0 0;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  background: #2452a4;
  padding: 16px;
  margin: 0;
  margin-top: 32px;
}

.JS_shipmentstatusform .shipmentstatus-message table {
  width: 100%;
}

.JS_shipmentstatusform .shipmentstatus-message table tr:nth-child(even) td {
  background: #e5eaef;
}

.JS_shipmentstatusform .shipmentstatus-message table td {
  padding: 8px 16px;
  text-align: left;
  width: 50%;
  font-size: 14px;
  line-height: 1.6;
}

.JS_shipmentstatusform .shipmentstatus-message table td:first-of-type {
  font-weight: bold;
}

.JS_shipmentstatusform .shipmentstatus-message.shipmentstatus-message--error p {
  color: #97080e;
}

.JS_showmore {
  text-align: center;
}

.JS_showmore .JS_showmore-target {
  text-align: initial;
}

.JS_showmore .JS_showmore-btn {
  margin-top: calc(1.25 * var(--lo-gaps));
}

.sidebar {
  align-self: flex-start;
  background: linear-gradient(#2452a4, #292560);
  border-bottom-right-radius: var(--border-radius-large);
  color: #fff;
  position: relative;
  grid-row: 1;
  padding-top: 128px;
}

.sidebar ~ .maincontent {
  grid-row: 1;
  padding-top: 128px;
}

@media screen and (max-width: 1030px) {
  .sidebar ~ .maincontent {
    grid-row: initial;
    padding-top: 0;
  }
}
.sidebar > :last-child {
  margin-bottom: calc(var(--border-radius-large) - var(--lo-gaps));
}

.sidebar .simple-search {
  padding-right: var(--lo-gaps);
}

.sidebar .simple-search h3 {
  color: #ffffff;
}

.sidebar nav {
  padding-right: var(--lo-gaps);
}

.sidebar nav h3 {
  color: #ffffff;
  margin-bottom: 16px;
}

.sidebar nav a {
  align-items: center;
  display: flex;
  justify-content: space-between;
  background: #292560;
  color: #fff;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  padding: 0.5em 1em;
  border-radius: 5px;
  transition: color 0.2s;
}

.sidebar nav a + a {
  margin-top: 8px;
}

.sidebar nav a:hover {
  color: #13ace3;
}

.sidebar .simple-search + nav {
  margin-top: var(--lo-gaps);
}

.fancy-sidebar .sidebar * {
  position: relative;
  z-index: 2;
}

.fancy-sidebar .sidebar::after,
.fancy-sidebar .sidebar .sidebar-bg {
  bottom: 0;
  left: 0;
  position: absolute;
  grid-column: 1/-1;
  max-width: none;
  height: 100%;
  width: 100%;
  border-bottom-right-radius: inherit;
  z-index: 1;
}

.fancy-sidebar .sidebar::after {
  content: " ";
  display: block;
}

.fancy-sidebar .sidebar .sidebar-bg {
  filter: grayscale(100%);
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0;
}

.fancy-sidebar .sidebar blockquote {
  padding-right: var(--lo-gaps);
}

.simple-search label {
  display: block;
  margin-bottom: 8px;
}

.simple-search label input,
.simple-search label select {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

.simple-search .JS_product-fields,
.simple-search .JS_product-fields--system {
  display: none;
}

.simple-search--radio-buttons,
.simple-search--buttons {
  display: flex;
  margin: 16px 0 0;
}

.simple-search--radio-buttons .checkbox--wrap {
  flex: 0 0 50%;
}

.simple-search--buttons {
  align-items: center;
}

.simple-search--buttons * + * {
  margin-left: 16px;
}

.pre-footer--search {
  background: linear-gradient(to bottom, #662d91, #292560);
  color: #fff;
  margin-top: var(--lo-gaps);
  padding-top: var(--lo-gaps);
}

.pre-footer--search > div {
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  display: grid;
  grid-column-gap: var(--lo-gaps);
  grid-template-columns: 2fr 1fr;
  padding-bottom: var(--lo-gaps);
}

@media screen and (max-width: 480px) {
  .pre-footer--search > div {
    grid-template-columns: 1fr;
  }
  .pre-footer--search > div .simple-search {
    padding: 32px 0;
  }
  .pre-footer--search > div blockquote {
    display: none;
  }
}
.banner-slide {
  display: grid;
  grid-template-columns: inherit;
  grid-column: 1/-1;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  padding-top: inherit;
  z-index: 1;
}

.banner-slide ~ .search {
  z-index: 10;
  position: relative;
}

.banner-slide .heading,
.banner-slide .subheading,
.banner-slide .button {
  transition: transform 0.75s, opacity 0.75s;
}

.banner-slide .banner--content .heading {
  font-size: 50px;
  margin-top: 0;
}

.banner-slide .banner--content .subheading {
  color: #fff;
  font-size: 32px;
  margin-top: 16px;
  transition-delay: 0.0625s;
}

.banner-slide .button {
  transition-delay: 0.125s;
}

.banner-slide .background-element {
  transition: opacity 1.25s;
  transition-delay: 0.375s;
}

.banner-slide.out {
  z-index: 5;
}

.banner-slide.out .heading,
.banner-slide.out .subheading,
.banner-slide.out .button {
  opacity: 0;
  transform: translateX(5vw);
}

.banner-slide.out .background-element {
  opacity: 0;
}

@media (max-width: 1030px) {
  .banner-slide {
    padding-top: 48px;
  }
  .banner-slide ~ .search {
    margin-top: 200px;
  }
  .banner-slide ~ .search form {
    margin: 32px auto;
    max-width: 100%;
  }
}
.JS_tablist .JS_tablist-tab button {
  background: none;
  color: inherit;
  padding: 0;
}

.JS_tablist .JS_tablist-tab--loading {
  position: relative;
}

.JS_tablist .JS_tablist-tab--loading::after {
  content: "";
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  border: 2px solid #36383d;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner 0.75s linear infinite;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.JS_tablist .JS_tablist-tab--loading button {
  color: rgba(54, 56, 61, 0.1) !important;
}

.JS_tablist .JS_tablist-tab--loading + .JS_tablist-content {
  min-height: 192px;
  position: relative;
}

.JS_tablist .JS_tablist-tab--loading + .JS_tablist-content::after {
  content: "";
  position: absolute;
  width: 48px;
  height: 48px;
  border: 4px solid #36383d;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner 0.75s linear infinite;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 800px) {
  .JS_tablist {
    grid-column: 1/-1;
    max-width: none;
  }
  .JS_tablist .JS_tablist-tab {
    grid-column: 1/-1;
    max-width: none;
    background: var(--primary);
  }
  .JS_tablist .JS_tablist-tab ~ .JS_tablist-tab {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  .JS_tablist .JS_tablist-tab button {
    position: relative;
    text-align: left;
    color: #fff;
    padding: 10px 16px;
    font-size: 20px;
  }
  .JS_tablist .JS_tablist-tab.JS_tablist-tab--open button:before {
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 800px) {
  .JS_tablist {
    display: flex;
    justify-content: center;
  }
  .JS_tablist .JS_tablist-tab button {
    background: none;
    color: #686e72;
    font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
    border: 4px solid transparent;
    border-radius: 0;
    padding: 12px 4px;
    transition: border-color 0.1s;
  }
  .JS_tablist .JS_tablist-tab button:hover {
    color: #13ace3;
  }
  .JS_tablist .JS_tablist-tab.JS_tablist-tab--open button {
    border-bottom-color: #13ace3;
    color: #292560;
  }
  .JS_tablist .JS_tablist-tab ~ .JS_tablist-tab {
    margin-left: 16px;
  }
  .JS_tablist .JS_tablist-tab--open::after {
    border-top: 1px solid #e5eaef;
    content: " ";
    display: block;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    z-index: -1;
  }
}
@media screen and (min-width: 800px) and (max-width: 1030px) {
  .JS_tablist .JS_tablist-tab button {
    font-size: 20px;
  }
}
@keyframes spinner {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@media screen and (max-width: 800px) {
  .ie .JS_tablist .JS_tablist-tab {
    background: #2452a4;
  }
}
.JS_tablist-content.documents a svg {
  width: 1.5em;
  height: 1.5em;
  color: #13ace3;
  vertical-align: bottom;
}

.JS_tablist-content.documents a span {
  display: inline-block;
  padding-left: 8px;
}

.JS_tablist-content.documents a:hover {
  color: #13ace3;
}

.JS_tablist--init .JS_tablist-content {
  display: none;
}

.JS_tablist--init .JS_tablist-tab--open + .JS_tablist-content {
  display: block;
}

@media screen and (min-width: 800px) {
  .JS_tablist {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .JS_tablist-tab {
    order: 1;
  }
  .JS_tablist-content {
    display: none;
    flex: 0 0 100%;
    order: 2;
  }
}
.trust-boosters {
  padding: calc(1.25 * var(--lo-gaps)) 0;
}

.trust-boosters h4 {
  color: #2452a4;
  margin-bottom: 32px;
  text-align: center;
  font-size: clamp(25px, 4vw, 30px);
}

.trust-boosters ul {
  width: 100%;
  max-width: 1300px;
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  gap: 1rem;
  flex-wrap: wrap;
  list-style: none;
}

.trust-boosters ul li {
  line-height: 1;
  padding: 16px;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .trust-boosters ul li {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 33%;
    margin-bottom: 16px;
  }
}
.trust-boosters ul li a {
  display: inline-block;
  height: 100px;
  width: 100px;
  text-align: center;
}

.trust-boosters ul li a img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 800px) {
  .trust-boosters ul li a img {
    filter: grayscale(100%);
    opacity: 0.6;
    transition: filter 0.2s, opacity 0.2s;
  }
  .trust-boosters ul li a:hover img {
    filter: grayscale(0);
    opacity: 1;
  }
}
.trust-boosters {
  padding: calc(1.25 * var(--lo-gaps)) 0;
}

.trust-boosters h4 {
  color: #2452a4;
  margin-bottom: 32px;
  text-align: center;
  font-size: clamp(25px, 4vw, 30px);
}

.trust-boosters ul {
  width: 100%;
  max-width: 1300px;
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  gap: 1rem;
  flex-wrap: wrap;
}

.trust-boosters ul li {
  line-height: 1;
  padding: 16px;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .trust-boosters ul li {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 33%;
    margin-bottom: 16px;
  }
}
.trust-boosters ul li a {
  display: inline-block;
  height: 100px;
  width: 100px;
  text-align: center;
}

.trust-boosters ul li a img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 800px) {
  .trust-boosters ul li a img {
    filter: grayscale(100%);
    opacity: 0.6;
    transition: filter 0.2s, opacity 0.2s;
  }
  .trust-boosters ul li a:hover img {
    filter: grayscale(0);
    opacity: 1;
  }
}
/*
$brown       : #A77A3E;
$purple      : #A83E7A;
$yellow      : #EB9F24;
$selection   : $yellow;
*/
@font-face {
  font-family: "Lato";
  font-weight: 400;
  src: url("/assets/fonts/lato-v17-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Lato Regular"), local("Lato-Regular"), url("/assets/fonts/lato-v17-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/lato-v17-latin-regular.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-regular.woff") format("woff"), url("/assets/fonts/lato-v17-latin-regular.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-regular.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
@font-face {
  font-family: "Lato-Bold";
  font-weight: 700;
  src: url("/assets/fonts/lato-v17-latin-700.eot"); /* IE9 Compat Modes */
  src: local("Lato Bold"), local("Lato-Bold"), url("/assets/fonts/lato-v17-latin-700.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-700.woff") format("woff"), url("/assets/fonts/lato-v17-latin-700.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-700.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* varela-round-regular - latin */
@font-face {
  font-family: "Varela";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/varela-round-v13-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Varela Round"), url("/assets/fonts/varela-round-v13-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/varela-round-v13-latin-regular.woff2") format("woff2"), url("/assets/fonts/varela-round-v13-latin-regular.woff") format("woff"), url("/assets/fonts/varela-round-v13-latin-regular.ttf") format("truetype"), url("/assets/fonts/varela-round-v13-latin-regular.svg#VarelaRound") format("svg"); /* Legacy iOS */
}
@media (max-width: 1030px) {
  body#the-addon-advantage .title-block {
    margin-top: 32px;
  }
}
body#the-addon-advantage .title-block {
  margin-bottom: 64px;
  text-align: center;
}

body#the-addon-advantage .title-block h3 {
  color: #13ace3;
}

body#the-addon-advantage .title-block h2 {
  color: #292560;
  font-size: 36px;
}

body#the-addon-advantage .index-grid {
  justify-content: center;
  margin-top: calc(calc(3vh + 64px / 2) - 32px);
  margin-top: calc(calc(3vh + var(--gutters, 64px) / 2) - 32px);
  margin-bottom: calc(3vh + 64px / 2);
  margin-bottom: calc(3vh + var(--gutters, 64px) / 2);
}

body#the-addon-advantage .index-grid > div.content--advantage-blocks {
  width: 100%;
  max-width: 100%;
  flex-basis: 400px;
  padding-bottom: 0;
}

body#the-addon-advantage .index-grid > div.content--advantage-blocks h2 {
  margin: 16px 0;
  font-size: 20px;
}

body#the-addon-advantage .index-grid > div.content--advantage-blocks p {
  margin-bottom: 0;
}

body#the-addon-advantage .index-grid > div.content--advantage-blocks figure {
  margin: 0 auto;
  background-color: #89c4e4;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body#the-addon-advantage .index-grid > div.content--advantage-blocks figure svg {
  width: 50%;
  height: 50%;
  fill: white;
}

body.advantage-partners-emea header .search {
  display: none;
}

body.advantage-partners-emea header .banner--content {
  padding: 96px 0;
  grid-column: 1/-1;
  display: flex;
  width: 100%;
  text-align: center;
}

body.advantage-partners-emea header .banner--content section {
  margin: 0 auto;
}

body.advantage-partners-emea header .banner--content h1 {
  font-size: 60px;
}

body.advantage-partners-emea header .banner--content .button {
  margin-bottom: 100px;
}

body.advantage-partners-emea .title-block {
  width: 100vw;
  margin: 0 auto;
  text-align: center;
  margin-top: calc(var(--lo-gaps) * -1);
  left: 50%;
  margin-left: -50vw;
  max-width: 100vw;
  position: relative;
  width: 100vw;
  background-color: #2452a4;
}

body.advantage-partners-emea .title-block h2 {
  color: #ffffff;
  margin-bottom: 0.6em;
}

body.advantage-partners-emea section.advantages-table + .call-to-action {
  padding: 64px 0 !important;
}

body.advantage-partners-emea section.call-to-action {
  margin-bottom: 0;
  border-bottom: 1px solid #ffffff;
}

body.advantage-partners-emea section.call-to-action .content h5 {
  font-size: 34px;
  color: #ffffff;
  margin-bottom: 16px;
  line-height: 1.3;
}

body.advantage-partners-emea section.call-to-action .button {
  background-color: #13ace3;
}

body.advantage-partners-emea section div.content h2 {
  max-width: unset;
  color: #2452a4;
}

body.advantage-partners-emea section div.content p {
  max-width: 950px;
  color: #828786;
}

body.advantage-partners-emea section.block-content {
  padding: 0 0 32px 0 !important;
}

body.advantage-partners-emea section.blocked-content .article {
  background-color: transparent;
}

body.advantage-partners-emea section.blocked-content .article h5 {
  font-size: 22px;
  color: #36383d;
}

body.advantage-partners-emea section.blocked-content .article h5 span {
  font-size: 30px;
  display: inline-block;
  width: 100%;
  line-height: 48px;
}

body.advantage-partners-emea section.blocked-content .article p {
  font-size: 14px;
  color: #828786;
}

body.advantage-partners-emea section.blocked-content .article figure {
  width: 75px;
  height: 75px;
}

body.advantage-partners-emea section.blocked-content .article figure img {
  height: auto;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article {
  flex-basis: 33%;
  position: relative;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article:first-of-type {
  margin-right: 0;
  padding-right: 16px;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article:last-of-type {
  margin-left: 0;
  padding-left: 16px;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article:last-of-type:before {
  height: 100px;
  width: 1px;
  content: "";
  background-color: #828786;
  position: absolute;
  left: 0;
  top: 0;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article h5,
body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article p:first-of-type {
  margin-bottom: 32px;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article p {
  text-align: left;
}

body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article p:first-of-type {
  font-size: 18px;
  color: #36383d;
}

@media (max-width: 768px) {
  body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] {
    flex-direction: column;
  }
  body.advantage-partners-emea section.blocked-content article-list[data-columns="2"] .article:last-of-type:before {
    display: none;
  }
}
body.advantage-partners-emea #section-7 figure {
  margin-top: 3rem;
  margin-bottom: spacer(-7);
}

@media (max-width: 768px) {
  body.advantage-partners-emea #section-7 {
    margin-top: 0;
  }
}
body.advantage-partners-emea #section-8 {
  background: none !important;
}

body.advantage-partners-emea #section-8:before {
  background: linear-gradient(#e8effa, transparent) !important;
}

body.advantage-partners-emea body.advantage-partners section.blocked-content .article p {
  font-size: 16px;
}

body.advantage-partners-emea .hero-logos {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
}

body.advantage-partners-emea .hero-logos div {
  width: 20%;
  float: left;
}

body.advantage-partners-emea .hero-logos div img {
  width: 80%;
  max-width: 200px;
  opacity: 0.8;
}

@media screen and (min-width: 1099px) {
  body.advantage-partners-emea body.advantage-partners header .banner--content {
    padding: 160px 0;
  }
}
body#sign-up-emea.inverted-sidebar-page {
  background: transparent;
}

body#sign-up-emea .fancylabel.checkbox--wrap .checkbox--label {
  transform: none;
}

body#sign-up-emea aside {
  display: none;
}

.brands-page .top-brands,
.brands-page .other-brands {
  margin-top: 32px;
}

.brands-page .top-brands a,
.brands-page .other-brands a {
  background: rgb(234.09, 239.955, 250.41);
  border-radius: 10px;
  display: block;
  color: #292560;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  transition: all 0.2s ease-in-out;
}

.brands-page .top-brands {
  display: grid;
  grid-gap: 16px;
  grid-template-columns: repeat(5, 1fr);
}

@media (max-width: 799px) {
  .brands-page .top-brands {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1030px) and (max-width: 1427px) {
  .brands-page .top-brands {
    grid-template-columns: repeat(2, 1fr);
  }
}
.brands-page .top-brands a {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 16px 32px;
}

.brands-page .top-brands a:hover {
  transform: scale(1.02);
  box-shadow: 0 2px 24px -8px #99999a;
}

.brands-page .top-brands img {
  max-height: 4em;
  max-width: 100%;
}

.brands-page .other-brands {
  -moz-columns: 250px;
       columns: 250px;
}

.brands-page .other-brands a {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 16px;
  padding: 8px 16px;
}

.brands-page .other-brands a:hover {
  background: #e5eaef;
}

body#built-for-ai .banner {
  min-height: 450px;
}

body#built-for-ai > section:has(+ footer)[style*=background-color] {
  margin-bottom: 0;
}

body#built-for-ai .group-heading {
  justify-content: center;
  align-items: center;
  font-size: 3rem;
}

body#built-for-ai > section[style*="background-color: #f2f2f2"] + section[style*="background-color: #f2f2f2"] {
  padding-top: 0;
}

body#built-for-ai > header ~ #section-0 {
  margin: 0 auto;
}

body#built-for-ai .content > h2,
body#built-for-ai .content > h3,
body#built-for-ai .content > h4,
body#built-for-ai .content > h5,
body#built-for-ai .content > h6 {
  text-wrap: pretty;
}

body#built-for-ai .blog-articles {
  gap: 0;
}

body#built-for-ai .blog-articles article-list {
  margin-bottom: calc(3vh + 64px / 2);
  margin-bottom: calc(3vh + var(--gutters, 64px) / 2);
}

.job-listings h2 {
  margin-top: 0;
  z-index: 2;
}

.job-listings {
  margin-bottom: calc(1.25 * var(--lo-gaps));
}

.job-listings details {
  border: 1px solid #f2f2f2;
  border-radius: 20px;
  margin: calc(1.25 * var(--lo-gaps)) auto 0;
  max-width: 60em;
}

.job-listings details ::-webkit-details-marker {
  display: none;
}

.job-listings details ~ details {
  margin-top: 32px;
}

.job-listings details > div {
  padding: 0 32px 32px;
}

.job-listings summary {
  align-items: center;
  display: flex;
  cursor: pointer;
  border-radius: 2px;
  padding: 32px;
}

.job-listings summary h2 {
  color: #2452a4;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  margin-right: auto;
}

.job-listings summary span {
  color: #686e72;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 18px;
  margin-right: 16px;
}

.job-listings summary:before {
  content: "";
}

.job-listings summary img {
  margin-left: 8px;
  height: 32px;
}

@media (max-width: 800px) {
  .job-listings summary {
    flex-wrap: wrap;
  }
  .job-listings summary h2 {
    flex: 0 0 100%;
  }
}
.compliance-blocks {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 32px;
  grid-template-columns: repeat(3, 1fr);
}

@media (min-width: 1030px) and (max-width: 1427px) {
  .compliance-blocks {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 799px) {
  .compliance-blocks {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 479px) {
  .compliance-blocks {
    grid-template-columns: repeat(1, 1fr);
  }
}
.compliance-blocks {
  margin-top: var(--lo-gaps);
}

.compliance-blocks > a {
  border: 1px solid #e5eaef;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  padding: 32px;
}

.compliance-blocks > a:hover {
  border-color: #13ace3;
}

.compliance-blocks > a::after {
  color: #13ace3;
  content: "Read more >";
  display: block;
  margin-top: auto;
  padding-top: 16px;
}

.compliance-blocks h2 {
  font-size: inherit;
  min-height: 90px;
  text-align: center;
}

.contact-page main > form,
.contact-page main > aside {
  margin-top: 32px;
}

@media (min-width: 1428px) {
  .contact-page main > form {
    grid-column: 1/3;
  }
  .contact-page main > aside {
    grid-column: 3;
  }
}
.contact-page main form.contact-us.special-freeform {
  max-width: 45em;
}

.contact-page main form.contact-us.special-freeform.submitting fieldset {
  opacity: 0.5;
  pointer-events: none;
}

.contact-page main form.contact-us.special-freeform:invalid button:focus {
  background: none;
}

.contact-page main form.contact-us.special-freeform:not(.dirty) label field-status-bar:before {
  background-color: transparent !important;
}

.contact-page main form.contact-us.special-freeform label {
  margin-top: 2em;
}

.contact-page main form.contact-us.special-freeform label field-placeholder {
  color: #2452a4;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  transform-origin: 0 50%;
}

.contact-page main form.contact-us.special-freeform label[for=form-input-region] {
  display: none;
}

.contact-page main form.contact-us.special-freeform label[for=form-input-termsAgreed] field-instructions {
  position: absolute;
  background: transparent;
  margin-left: 2em;
  padding: 0;
}

.contact-page main form.contact-us.special-freeform label[for=form-input-termsAgreed] field-status-bar {
  border-radius: 0;
}

.contact-page main form.contact-us.special-freeform label[for=form-input-termsAgreed] field-status-bar:before {
  margin-left: calc(var(--checkbox-size) * 1.25);
}

.contact-page main form.contact-us.special-freeform label[for=form-input-termsAgreed] input {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  min-height: auto;
  padding: 0;
}

.contact-page main form.contact-us.special-freeform label[for=form-input-termsAgreed] input:before {
  display: block;
  content: "";
  width: calc(var(--checkbox-size) * 0.5);
  height: calc(var(--checkbox-size) * 0.5);
  margin: calc(var(--checkbox-size) * 0.25);
}

.contact-page main form.contact-us.special-freeform label[for=form-input-termsAgreed] input:checked:before {
  background: #13ace3;
}

@media (max-width: 800px) {
  .contact-page .banner .simple-search {
    display: none;
  }
}
.contact-page .inverted-sidebar h3:first-child {
  margin-top: 0;
  margin-bottom: 16px;
}

.contact-page .inverted-sidebar em {
  color: #2452a4;
  display: inline-block;
  font-style: normal;
  width: 5.5em;
}

.contact-page .inverted-sidebar em::after {
  content: ": ";
}

.contact-page .inverted-sidebar a {
  text-decoration: none;
}

.contact-page .inverted-sidebar div + div {
  margin-bottom: 32px;
  margin-top: 32px;
}

@media (min-width: 800px) and (max-width: 1029px) {
  .contact-page .inverted-sidebar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contact-page .inverted-sidebar div + div {
    flex: 0 1 30%;
    margin-bottom: 0;
    margin-top: 0;
  }
}
.ff-form-success {
  background: #2452a4;
  color: #fff;
  font-weight: bold;
  padding: 16px;
}

.ff-form-success p {
  margin-top: 0;
}

.ff-form-errors {
  background: #97080e;
  color: #fff;
  font-weight: bold;
  padding: 16px;
}

.ff-form-errors p {
  margin-top: 0;
}

.ff-errors {
  color: #97080e;
}

.JS_potrackerform,
.JS_shipmentstatusform {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  max-width: 45em;
}

.JS_potrackerform .contact-message,
.JS_shipmentstatusform .contact-message {
  background: #2452a4;
  color: #fff;
  font-weight: bold;
  padding: 16px;
}

.JS_potrackerform .contact-message.contact-message--error,
.JS_shipmentstatusform .contact-message.contact-message--error {
  background: red;
}

.JS_potrackerform .checkbox--wrap,
.JS_shipmentstatusform .checkbox--wrap {
  margin-top: 8px;
}

.JS_potrackerform p,
.JS_potrackerform button,
.JS_shipmentstatusform p,
.JS_shipmentstatusform button {
  margin-top: 32px;
}

.JS_potrackerform p,
.JS_shipmentstatusform p {
  color: #2452a4;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
}

.JS_potrackerform button,
.JS_shipmentstatusform button {
  align-self: flex-end;
}

.JS_potrackerform em,
.JS_shipmentstatusform em {
  color: #13ace3;
  font-style: normal;
}

.pre-footer--contact {
  color: rgba(255, 255, 255, 0.8);
  margin-top: calc(1.25 * var(--lo-gaps));
}

.pre-footer--contact div {
  padding: calc(1.25 * var(--lo-gaps)) 0;
}

@media (min-width: 800px) {
  .pre-footer--contact div {
    display: flex;
  }
}
.pre-footer--contact section {
  flex: 0 0 50%;
}

@media (min-width: 1030px) {
  .pre-footer--contact section {
    flex: 0 0 30%;
  }
}
@media (max-width: 799px) {
  .pre-footer--contact section {
    padding: 16px 0;
  }
}
.pre-footer--contact img {
  margin-left: auto;
  max-width: 360px;
}

@media (max-width: 1029px) {
  .pre-footer--contact img {
    display: none;
  }
}
.pre-footer--contact h3 {
  color: white;
  font-size: 24px;
}

.pre-footer--contact p,
.pre-footer--contact address {
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 18px;
  margin-top: 16px;
}

.pre-footer--contact address {
  line-height: 1.5;
}

.inverted-sidebar div + div.title-only {
  margin-bottom: 0;
}

.inverted-sidebar div + div.title-only h3 {
  margin-bottom: 0;
}

.inverted-sidebar div + div.country-code {
  margin-top: 0;
}

.inverted-sidebar div + div.country-code h3:first-child {
  font-size: 20px;
  margin-bottom: 0;
}

.inverted-sidebar .indent {
  margin-left: 16px;
}

body#data-traveler-system .body-content {
  margin-bottom: calc(2vh + 64px / 2);
  margin-bottom: calc(2vh + var(--gutters, 64px) / 2);
}

body#data-traveler-system .call-to-action-blocks {
  position: relative;
  background-color: #eaf0fa;
  margin-bottom: 0;
}

body#data-traveler-system .call-to-action-blocks > * {
  position: relative;
}

body#data-traveler-system .call-to-action-blocks a {
  flex-grow: initial;
}

body#data-traveler-system .call-to-action-blocks a svg.icon-cog-tick {
  stroke: none;
  fill: #13ace3;
  width: 70px;
  height: 70px;
  margin-bottom: 32px;
}

body#data-traveler-system .call-to-action-blocks a h4 {
  font-size: 36px;
  margin-bottom: 32px;
  color: #292560;
}

body#data-traveler-system .call-to-action-blocks:before {
  background-color: inherit;
}

.error-page {
  min-height: 100vh;
}

.error-page .topnav .logo {
  fill: #292560;
  stroke: #292560;
  color: #292560;
}

.error-page main {
  padding: calc(1.25 * var(--lo-gaps)) 0;
  background: initial;
  background-color: initial;
}

.error-page main.maincontent {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.error-page main.maincontent .button {
  width: -moz-fit-content;
  width: fit-content;
}

.error-page .lo-right-half,
.error-page .lo-left-half {
  margin-bottom: calc(1.25 * var(--lo-gaps));
}

.error-page .suggested-links li {
  margin-top: 8px;
}

body#faq .block-list.block-list--three {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

@media (max-width: 799px) {
  body#faq .text-centered {
    padding-top: calc(1vh + 64px / 2);
    padding-top: calc(1vh + var(--gutters, 64px) / 2);
    padding-bottom: calc(1vh + 64px / 2);
    padding-bottom: calc(1vh + var(--gutters, 64px) / 2);
  }
}
body[id="360-lab-tour"] videos-list figure {
  margin-top: 0;
}

body#glossary glossary-list span[id*=goto] {
  /* this is a hack workaround for the fixed nav */
  display: block;
  height: 78px;
  margin-top: -78px;
  visibility: hidden;
}

body#glossary glossary-list glossary-letter {
  display: block;
  padding: 32px 0;
}

body#glossary glossary-list glossary-letter:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

body#glossary glossary-list glossary-letter.hidden {
  display: none;
}

body#glossary glossary-list glossary-letter glossary-item {
  display: block;
}

body#glossary glossary-list glossary-letter glossary-item.hidden {
  display: none;
}

body#glossary no-results {
  display: block;
  font-weight: bold;
  min-height: 340px;
}

body#glossary no-results.hidden {
  display: none;
}

body#glossary sticky-sidebar sidebar-links {
  display: block;
  margin: 16px 0 32px 0;
}

body#glossary sticky-sidebar sidebar-links a.ltr {
  display: inline-block;
  padding: 6px;
  width: 24px;
  text-align: center;
}

body#glossary sticky-sidebar sidebar-links a.hidden {
  pointer-events: none;
}

body#glossary sticky-sidebar sidebar-links hr {
  border-width: 1px;
  margin: 6px 0;
}

body#glossary sticky-sidebar sidebar-links span {
  display: inline-block;
  width: 12px;
  text-align: center;
}

body#glossary sticky-sidebar input#glossary-filter {
  width: 100%;
  margin: 16px 0 32px 0;
}

.home-page .banner::after {
  background-image: linear-gradient(rgba(255, 255, 255, 0), var(--primary-d));
}

.ie.home-page .banner::after {
  background-image: linear-gradient(rgba(255, 255, 255, 0), #292560);
}

@media screen and (max-width: 800px) {
  #home .block:first-of-type {
    padding-top: 32px;
  }
}
#home .block.call-to-action {
  margin-bottom: 32px;
}

#home .block .article figure[data-desktop*="netowkr-cabling.png"], #home .block .article figure[data-desktop*="network-cabling.png"], #home .block .article figure[data-desktop*="network-accessories.png"], #home .block .article figure[data-desktop*=addon-transceivers] {
  height: 160px;
}

#home .block .article figure[data-desktop*="netowkr-cabling.png"] img, #home .block .article figure[data-desktop*="network-cabling.png"] img, #home .block .article figure[data-desktop*="network-accessories.png"] img, #home .block .article figure[data-desktop*=addon-transceivers] img {
  -o-object-fit: contain;
     object-fit: contain;
}

#home .block-list {
  margin: 0 auto;
}

#home .trust-boosters {
  padding-top: 0;
}

#home .JS_tablist-tab button {
  padding-left: 16px;
}

#home .JS_tablist-tab button:before {
  position: absolute;
  right: 17px;
  top: 15px;
  content: "";
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="white" stroke="white"><path d="M5 2l6 6-6 6" stroke-width="2" fill="none"/></svg>');
  width: 16px;
  height: 16px;
}

.solutions-block-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: calc(1.25 * var(--lo-gaps));
  padding-bottom: calc(1.25 * var(--lo-gaps));
}

.solutions-block-list > a {
  background: #fff;
  border: 1px solid #e5eaef;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.solutions-block-list > a img {
  width: 100%;
}

.solutions-block-list > a h3 {
  color: #686e72;
  font-size: 18px;
  text-transform: uppercase;
  padding: 16px 32px 8px;
}

.solutions-block-list > a p {
  color: #2452a4;
  padding: 0 32px 32px;
}

.solutions-block-list > a:hover {
  border: 1px solid #13ace3;
}

.home-content .JS_tablist-content .block-list {
  display: flex;
  grid-gap: 0;
  justify-content: center;
  max-width: none !important;
}

@media screen and (max-width: 1428px) {
  .home-content .JS_tablist-content .block-list {
    justify-content: flex-start;
  }
}
.home-content .JS_tablist-content .block-list > * {
  flex: 0 0 calc(25% - 64px);
}

.home-content .JS_tablist-content .block-list > * + * {
  margin-left: 64px;
}

@media screen and (max-width: 1030px) {
  .home-content .JS_tablist-content .block-list {
    grid-template-columns: 1fr 1fr;
  }
}
.home-content .JS_tablist-content .block-list + div {
  text-align: center;
}

.home-content .JS_tablist-content .block-list + div .button {
  margin-bottom: calc(1.25 * var(--lo-gaps));
}

.call-to-action-blocks .newsletter-su {
  display: flex;
  justify-content: center;
  margin: 32px auto;
  max-width: 800px;
}

.call-to-action-blocks .newsletter-su label {
  font-size: 19px;
}

.call-to-action-blocks .newsletter-su label span {
  color: #13ace3;
}

.call-to-action-blocks .newsletter-su label input {
  background: none;
  border: 2px solid #13ace3;
}

.call-to-action-blocks .newsletter-su label input:focus {
  box-shadow: 0 0 4px #13ace3 inset;
}

.call-to-action-blocks .newsletter-su button {
  margin-left: 16px;
}

.pre-footer {
  display: block;
  text-align: center;
}

.pre-footer > * {
  color: #fff;
  margin: 0 auto;
  max-width: 800px;
}

.pre-footer > * + * {
  margin-top: 16px;
}

.footer-dist-msg {
  text-align: center;
}

.footer-dist-msg .button {
  margin-top: 32px;
}

#insights .block-list-block:first-child p {
  padding-top: 0;
}

#insights .text-centered {
  margin: 0 auto calc(2vh + 64px / 2) auto;
  margin: 0 auto calc(2vh + var(--gutters, 64px) / 2) auto;
  max-width: 800px;
}

.knowledge-page main {
  background: #f2f2f2;
  background: linear-gradient(white, #f2f2f2);
  padding-bottom: calc(1.25 * var(--lo-gaps));
  padding-top: calc(1.25 * var(--lo-gaps));
}

.knowledge-page .tab-content {
  position: relative;
}

.knowledge-page .JS_tablist-content {
  padding: calc(1.25 * var(--lo-gaps)) 0;
  position: relative;
}

.knowledge-page .knowledge-blocks a:hover {
  color: #13ace3;
}

@media (max-width: 799px) {
  .knowledge-page .JS_tablist-tab {
    display: none;
  }
}
.knowledge-page .footer-wrap {
  background: linear-gradient(var(--primary-d), var(--primary));
}

.ie.knowledge-page .banner {
  background-color: #c04542;
  background-image: linear-gradient(rgba(255, 255, 255, 0), #882927), url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' class='background-tile' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 9' stroke='rgba(255, 255, 255, 0.2)'%3E %3Cpath style='fill:none;stroke-miterlimit:10;' d='M4.5,2v5 M7,4.5H2'/%3E %3C/svg%3E");
}

.ie.knowledge-page .footer-wrap {
  background: linear-gradient(#611513, #882927);
}

#leadership main {
  background: initial;
  background-color: initial;
}

#team-members {
  position: relative;
  padding-bottom: calc(1.25 * var(--lo-gaps));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
}

#team-members > h2 {
  grid-row: 1;
  position: relative;
  padding-bottom: calc(2vh + 64px / 2);
  padding-bottom: calc(2vh + var(--gutters, 64px) / 2);
  text-align: center;
  color: #2452a4;
  grid-column: 1/-1;
}

#team-members > h2 small {
  display: block;
  color: rgb(150.45, 179.775, 232.05);
}

#team-members button {
  align-self: flex-end;
  display: flex;
  grid-row: 2;
  flex-direction: column;
  align-items: center;
  position: relative;
  font-size: 26px;
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  padding: 32px 16px;
  border-bottom: 1px solid #e5eaef;
}

@media (min-width: 1230px) {
  #team-members button[aria-selected=true] {
    border: 1px solid #e5eaef;
    border-bottom-color: rgba(0, 0, 0, 0);
  }
}
#team-members button h3,
#team-members button h4 {
  position: relative;
  order: 1;
  text-align: center;
}

#team-members button h3 {
  font-size: 1em;
  color: #13ace3;
  margin-top: 16px;
}

#team-members button h4 {
  font-size: 0.7em;
  margin-top: 0.2em;
  color: #292560;
}

#team-members button figure {
  order: 0;
  border-radius: 50%;
  overflow: hidden;
  background-color: #e5eaef;
  will-change: transform;
  transition: all cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

#team-members button figure img {
  display: block;
  border-radius: inherit;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  max-width: 160px;
  max-height: 160px;
  filter: grayscale(100%);
  transition: filter;
}

@media (min-width: 1230px) {
  #team-members button:hover, #team-members button[aria-selected=true] {
    background-color: rgb(234.09, 239.955, 250.41);
  }
  #team-members button:hover figure, #team-members button[aria-selected=true] figure {
    background-color: #2452a4;
  }
  #team-members button:hover figure img, #team-members button[aria-selected=true] figure img {
    filter: grayscale(0%);
  }
  #team-members button:hover:before, #team-members button:hover:after, #team-members button[aria-selected=true]:before, #team-members button[aria-selected=true]:after {
    opacity: 1;
  }
  #team-members button[aria-selected=true] {
    pointer-events: none;
  }
  #team-members button:hover figure {
    transform: scale(1.1);
  }
}
#team-members article {
  position: relative;
  padding-top: calc(2vh + 64px / 2);
  padding-top: calc(2vh + var(--gutters, 64px) / 2);
  outline: none;
  grid-row: 3;
  grid-column: 1/-1;
}

#team-members article[hidden] {
  display: none;
}

#team-members article > * {
  position: relative;
}

#team-members article h3 {
  margin-bottom: 16px;
}

#team-members article:before {
  border-top: 1px solid #e5eaef;
  content: " ";
  display: block;
  right: 50%;
  position: absolute;
  top: -2px;
  transform: translateX(50%);
  width: 100vw;
  z-index: -1;
  height: 150px;
  background: linear-gradient(to top, white, rgb(234.09, 239.955, 250.41));
}

@media (min-width: 1230px) {
  #team-members article {
    display: flex;
  }
  #team-members article h3 {
    min-width: 40%;
    max-width: 40%;
    padding-right: 32px;
    margin-right: 32px;
    border-right: 1px solid #e5eaef;
  }
}
@media (max-width: 1229px) {
  #team-members {
    border-bottom: 1px solid #e5eaef;
    margin-bottom: calc(2.5vh + 64px / 2);
    margin-bottom: calc(2.5vh + var(--gutters, 64px) / 2);
    display: flex;
    flex-direction: column;
  }
  #team-members button {
    align-items: flex-start;
    width: 100%;
    border-radius: initial;
    padding: 16px 0 16px 96px;
  }
  #team-members button h3,
  #team-members button h4 {
    text-align: left;
  }
  #team-members button figure {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    width: 80px;
    height: 80px;
  }
  #team-members button figure img {
    filter: grayscale(0%);
  }
  #team-members article {
    padding-top: 32px;
    padding-bottom: calc(2.5vh + 64px / 2);
    padding-bottom: calc(2.5vh + var(--gutters, 64px) / 2);
  }
  #team-members article[hidden] {
    display: block;
  }
}
body#multicoded-optics .call-to-action {
  margin-bottom: 0;
}

body#multicoded-optics .block-content:first-of-type {
  margin-bottom: 0;
}

body#multicoded-optics .block-content:first-of-type + .call-to-action {
  margin-bottom: calc(2vh + 64px / 2);
  margin-bottom: calc(2vh + var(--gutters, 64px) / 2);
}

body#multicoded-optics .block-content:first-of-type + .call-to-action p {
  color: #005587;
  font-weight: bold;
}

body#multicoded-optics .block-content:first-of-type + .call-to-action p:before {
  content: "!";
  color: white;
  background-color: #005587;
  border-radius: 50%;
  display: inline-flex;
  font-size: 14px;
  font-weight: bold;
  margin-right: 8px;
  align-items: center;
  text-align: center;
  justify-content: center;
  position: relative;
  width: 20px;
  height: 20px;
}

body#multicoded-optics .block-content[style*=background-color] .themed-h3 {
  color: #13ace3;
}

body#multicoded-optics .block-content[style*=background-color] .themed-h2 {
  margin-top: 0 !important;
}

body#multicoded-optics .block-content[style*=background-color] {
  z-index: 1;
  margin-bottom: 0;
  padding-bottom: 0;
}

body#multicoded-optics .block-content[style*=background-color] figure {
  position: relative;
  margin-top: calc(2vh + 64px / 2) !important;
  margin-top: calc(2vh + var(--gutters, 64px) / 2) !important;
  margin-bottom: 0;
  max-width: 100%;
}

body#multicoded-optics .block-content[style*=background-color] figure img {
  width: calc(100% - 64px);
  z-index: 1;
  position: relative;
  margin-bottom: 64px;
}

body#multicoded-optics .block-content[style*=background-color] figure:before {
  content: "";
  left: 0;
  position: absolute;
  width: 100%;
  height: calc(100% - 4vw);
  bottom: 0;
  border-radius: 15px;
  border: 2px solid #13ace3;
}

body#multicoded-optics .block-content[style*=background-color] figure figcaption {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: rotate3d(-50%, 50%);
  border-radius: 5px;
  padding: 10px 16px;
  line-height: 1.4;
  color: white;
  font-weight: bold;
  width: calc(100% - 32px);
  background-color: #13ace3;
}

@media (min-width: 700) {
  body#multicoded-optics .block-content[style*=background-color] figure figcaption {
    white-space: nowrap;
    width: initial;
  }
}
body#multicoded-optics .block-content[style*=background-color] + .call-to-action .button {
  margin-top: 32px;
}

.news-page .banner {
  grid-template-rows: 1fr;
}

.news-page .banner h2 {
  color: #fff;
  font-size: 30px;
}

@media (min-width: 800px) {
  .news-page .banner h2 {
    max-width: 50%;
  }
}
.news-page .banner article {
  margin: calc(1.25 * var(--lo-gaps)) 0;
}

@media (min-width: 800px) {
  .news-page .banner article {
    max-width: 50%;
  }
}
.news-page .banner article h2 {
  max-width: none;
}

.news-page .banner article p {
  margin: 32px 0;
}

.news-page .banner .corner-bgimg {
  display: none;
}

@supports ((-webkit-mask: radial-gradient(farthest-side at bottom right, white 20%, rgba(255, 255, 255, 0))) or (mask: radial-gradient(farthest-side at bottom right, white 20%, rgba(255, 255, 255, 0)))) {
  .news-page .banner .corner-bgimg {
    display: block;
    bottom: 0;
    position: absolute;
    right: 0;
    height: 100%;
    width: 75%;
    z-index: -1;
    -webkit-mask: radial-gradient(farthest-side at bottom right, white 20%, rgba(255, 255, 255, 0));
            mask: radial-gradient(farthest-side at bottom right, white 20%, rgba(255, 255, 255, 0));
    -o-object-fit: cover;
       object-fit: cover;
    z-index: 1;
  }
}
.news-page .banner .search {
  z-index: 10;
}

.news-page:not(.inverted-sidebar-page) .banner--content {
  padding: 0;
}

.news-categories {
  padding: calc(1.25 * var(--lo-gaps));
  text-align: center;
}

.news-categories h3 {
  margin-bottom: 16px;
}

.news-categories h3::after {
  content: ":";
}

.news-categories .button {
  background: rgb(234.09, 239.955, 250.41);
  color: #828786;
  margin-top: 16px;
}

.news-categories .button:hover, .news-categories .button.current {
  background: rgb(150.45, 179.775, 232.05);
  color: #fff;
}

.news-categories .button + .button {
  margin-left: 32px;
}

.news-article-list {
  padding: calc(1.25 * var(--lo-gaps)) 0;
}

.news-article-list .block-list {
  grid-gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}

.news-article-list .block-list-block .block-list-block--image::after {
  opacity: 0.125;
}

.news-article-list .block-list-block > .icon {
  color: #13ace3;
  margin-bottom: 32px;
  margin-left: 32px;
}

.news-article-list .block-list-block:hover > .icon {
  color: hsl(195.8653846154, 84.5528455285%, -25%);
}

@media (min-width: 800px) {
  .news-article-list .block-list-block:first-child {
    grid-column: 1/-1;
    max-width: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3, auto) 1fr;
  }
  .news-article-list .block-list-block:first-child p {
    grid-row: 2;
  }
  .news-article-list .block-list-block:first-child .block-list-block--image {
    grid-column: 1;
    grid-row: 1/-1;
    padding-bottom: 50%;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0;
  }
}
.news-article-list .block-list-block:first-child button {
  justify-self: flex-start;
  margin-left: 32px;
}

@media (max-width: 799px) {
  .news-article-list .block-list-block:first-child button {
    display: none;
  }
}
.news-article-list .block-list-block:first-child:hover button {
  background-color: #13ace3;
  color: #fff;
}

.news-article-list .block-list-block--smalltitle {
  padding: 32px 32px 16px 32px;
}

.news-article-list .JS_showmore-btn {
  justify-self: center;
}

.news-list-by-tag {
  margin-top: calc(1.25 * var(--lo-gaps));
}

.news-list-by-tag h2.block-list-block--smalltitle {
  padding-bottom: 0;
}

.news-list-by-tag .block-list-block--smalltitle {
  padding-bottom: 32px;
}

.product-page .have-stock {
  color: #3ea845;
}

.product-page .product-page--stock {
  flex-wrap: wrap;
  display: flex;
  margin-top: 16px;
}

.product-page .product-page--stock p {
  margin-top: 0;
  flex: 0 0 240px;
}

@media (min-width: 1030px) {
  .product-page .product-page--stock p {
    flex: 0 0 100%;
  }
}
.product-page .product-page--actions {
  display: flex;
  flex-wrap: wrap;
}

.product-page .product-page--actions div.btn-quantity-wrap {
  flex-basis: 100%;
  display: inherit;
}

@media (min-width: 407px) {
  .product-page .product-page--actions div.btn-quantity-wrap {
    flex-basis: unset;
  }
}
@media (min-width: 1230px) and (max-width: 1313px) {
  .product-page .product-page--actions div.btn-quantity-wrap {
    flex-basis: 100%;
  }
}
.product-page .product-page--actions div.btn-quantity-wrap div.btn-quantity {
  display: inline-block;
}

.product-page .product-page--actions div.btn-quantity-wrap div.btn-quantity input.quote-qty {
  height: 42px;
  text-align: center;
  flex-grow: 1;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 0;
  border: 1px solid rgb(200.0285714286, 210.6, 221.1714285714);
  border-left: none;
  border-right: none;
  padding: 8px;
}

.product-page .product-page--actions div.btn-quantity-wrap div.btn-quantity button {
  margin-left: 0;
}

.product-page .product-page--actions div.btn-quantity-wrap div.btn-quantity button svg {
  margin-right: 0;
}

.product-page .product-page--actions button {
  height: 42px;
  vertical-align: middle;
  margin-left: 8px;
}

.product-page .product-page--actions button.JS_add-to-cart {
  margin-left: auto;
}

@media (min-width: 407px) {
  .product-page .product-page--actions button.JS_add-to-cart {
    margin-left: 8px;
  }
}
.product-page .product-page--actions button.JS_share-btn {
  background-color: #828786;
  margin-top: 8px;
  margin-left: auto;
}

@media (min-width: 407px) {
  .product-page .product-page--actions button.JS_share-btn {
    margin-top: 0;
    margin-left: 8px;
  }
}
@media (min-width: 1230px) and (max-width: 1313px) {
  .product-page .product-page--actions button.JS_share-btn {
    margin-top: 8px;
    margin-left: 0;
  }
}
.product-page .product-page--actions button.JS_share-btn:hover {
  background-color: rgb(103.8367346939, 108.1632653061, 107.2979591837);
  color: #fff;
}

.product-page .product-page--actions button.button--icon-btn, .product-page .product-page--actions button.button--icon-btn {
  background-color: #e5eaef;
  color: #2452a4;
  border: 1px solid rgb(200.0285714286, 210.6, 221.1714285714);
  font-size: 8px;
  padding: 6px 12px;
  width: 24px;
}

.product-page .product-page--actions button.button--icon-btn:hover, .product-page .product-page--actions button.button--icon-btn:hover {
  background-color: rgb(171.0571428571, 187.2, 203.3428571429);
  color: #fff;
}

.product-page .product-page--actions button.button--icon-btn:focus, .product-page .product-page--actions button.button--icon-btn:focus {
  box-shadow: none;
}

.product-page .product-page--actions button.button--icon-btn.minus, .product-page .product-page--actions button.button--icon-btn.minus {
  border-radius: 5px 0 0 5px;
}

.product-page .product-page--actions button.button--icon-btn.plus, .product-page .product-page--actions button.button--icon-btn.plus {
  border-radius: 0 5px 5px 0;
}

.product-page .product-page--actions.system-page button {
  margin-left: 0;
}

.product-page .product-page--distributors {
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 720px) and (max-width: 1029px) {
  .product-page .product-page--distributors {
    max-width: none;
  }
}
.product-page .product-page--distributors p {
  flex: 0 0 100%;
}

.product-page .product-page--distributors a {
  margin: 8px;
  flex-shrink: 0;
  flex-grow: 0;
  flex-basis: calc(50% - 16px);
  display: flex;
  align-items: center;
}

@media (min-width: 480px) {
  .product-page .product-page--distributors a {
    flex-basis: calc(25% - 9px);
    margin: 8px 12px 8px 0;
  }
  .product-page .product-page--distributors a:last-of-type {
    margin-right: 0;
  }
}
.product-page .product-page--distributors a img {
  display: block;
  width: 100%;
}

@media (min-width: 800px) {
  .product-page .product-page--distributors a img {
    filter: grayscale(1);
    opacity: 0.5;
    transition: opacity 0.25s, filter 0.25s;
  }
  .product-page .product-page--distributors a:hover img {
    filter: grayscale(0);
    opacity: 1;
  }
}
.product-page .product-page--description-image {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  position: relative;
  padding-left: 0;
}

@media (min-width: 1230px) {
  .product-page .product-page--description-image {
    padding-left: 432px;
    min-height: 432px;
  }
  .product-page .product-page--description-image.multiple {
    min-height: 532px;
  }
}
.product-page .product-page--description-image > div h1 {
  margin-top: 16px;
  font-size: 20px;
}

@media (min-width: 1230px) {
  .product-page .product-page--description-image > div h1 {
    font-size: 24px;
  }
}
.product-page .product-page--description-image > div p.product-sku {
  margin: 16px 0;
  font-weight: bold;
  color: #2452a4;
}

.product-page .product-page--description-image > div ul {
  list-style: disc;
  padding-left: 1em;
}

.product-page .product-page--description-image figure {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
}

@media (min-width: 1230px) {
  .product-page .product-page--description-image figure {
    width: 400px;
    margin: 0;
    left: 0;
    top: 0;
    display: block;
    position: absolute;
  }
}
.product-page .product-page--description-image figure > a {
  position: relative;
  display: block;
  margin-bottom: 16px;
  height: 80vw;
}

@media (min-width: 800px) {
  .product-page .product-page--description-image figure > a {
    height: 70vw;
  }
}
@media (min-width: 1030px) {
  .product-page .product-page--description-image figure > a {
    height: 400px;
    max-height: none;
  }
  .product-page .product-page--description-image figure > a:after {
    content: "Click to open expanded view";
    display: inline-block;
    text-align: center;
    width: 100%;
    color: #828786;
  }
}
@media (min-width: 1230px) {
  .product-page .product-page--description-image figure > a[data-type=image] > #zoom,
  .product-page .product-page--description-image figure > a[data-type=image] > #zoom-box {
    display: block;
  }
}
.product-page .product-page--description-image figure > a > img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}

.product-page .product-page--description-image figure > a > button {
  display: none;
}

.product-page .product-page--description-image figure > a > #zoom {
  display: none;
  position: absolute;
  width: 400px;
  overflow: hidden;
  height: 400px;
  top: 0;
  left: 400px;
  z-index: 10;
  background: #ffffff;
  border: 1px solid grey;
  pointer-events: none;
}

.product-page .product-page--description-image figure > a > #zoom.hidden {
  display: none !important;
}

.product-page .product-page--description-image figure > a > #zoom > img {
  width: 1600px;
  height: 1600px;
  pointer-events: none;
}

.product-page .product-page--description-image figure > a > #zoom-box {
  display: none;
  position: absolute;
  width: 100px;
  height: 100px;
  opacity: 0.6;
  background: #efefef;
  pointer-events: none;
  border: 1px solid #9a9a9a;
}

.product-page .product-page--description-image figure > a > #zoom-box.hidden {
  display: none !important;
}

.product-page .product-page--description-image figure > scroller-wrap {
  display: block;
  position: relative;
}

.product-page .product-page--description-image figure > scroller-wrap > a.arrow {
  display: inline-block;
  position: absolute;
  z-index: 80;
  border: 1px solid #787878;
  background-color: #ffffff;
  opacity: 1;
  text-align: center;
  cursor: pointer;
  border-radius: 32px;
  height: 48px;
  width: 48px;
  top: 50%;
  margin-top: -24px;
}

@media (min-width: 1030px) {
  .product-page .product-page--description-image figure > scroller-wrap > a.arrow {
    border-radius: 16px;
    height: 24px;
    width: 24px;
    margin-top: -12px;
  }
}
.product-page .product-page--description-image figure > scroller-wrap > a.arrow.left {
  left: -10px;
}

.product-page .product-page--description-image figure > scroller-wrap > a.arrow.left::before {
  transform: rotate(135deg);
  margin-left: 5px;
}

@media (min-width: 1030px) {
  .product-page .product-page--description-image figure > scroller-wrap > a.arrow.left::before {
    margin-left: 3px;
  }
}
.product-page .product-page--description-image figure > scroller-wrap > a.arrow.right {
  right: -7px;
}

.product-page .product-page--description-image figure > scroller-wrap > a.arrow.right::before {
  transform: rotate(-45deg);
  margin-right: 5px;
}

@media (min-width: 1030px) {
  .product-page .product-page--description-image figure > scroller-wrap > a.arrow.right::before {
    margin-right: 3px;
  }
}
.product-page .product-page--description-image figure > scroller-wrap > a.arrow:hover {
  background-color: #13ace3;
  transition: background-color 0.2s;
}

.product-page .product-page--description-image figure > scroller-wrap > a.arrow:hover::before {
  border-color: #ffffff;
  transition: border-color 0.2s;
}

.product-page .product-page--description-image figure > scroller-wrap > a.arrow::before {
  content: "";
  border: solid #000000;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 6px;
  margin-right: 1px;
  margin-top: 15px;
}

@media (min-width: 1030px) {
  .product-page .product-page--description-image figure > scroller-wrap > a.arrow::before {
    padding: 3px;
    margin-top: 0;
  }
}
.product-page .product-page--description-image figure > scroller-wrap > a.arrow.disabled {
  display: none;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow {
  display: block;
  overflow-x: scroll;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow {
  /* Webkit Based */
  scrollbar-width: none; /* Standard way (Firefox) */
  -ms-overflow-style: none; /* hide scrollbars in IE */
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow.scroll-snap {
  scroll-snap-type: x mandatory; /* Chrome Canary */
  scroll-snap-type: mandatory; /* Firefox */
  -ms-scroll-snap-type: mandatory; /* IE/Edge */
  -webkit-scroll-snap-type: mandatory; /* Safari */
  -webkit-scroll-snap-destination: 0% 0%;
  -webkit-overflow-scrolling: touch; /* important for iOS */
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow.scroll-snap > image-chooser > a {
  scroll-snap-align: start; /* latest (Chrome 69+) */
  scroll-snap-coordinate: 0% 0%; /* older (Firefox/IE) */
  -webkit-scroll-snap-coordinate: 0% 0%; /* older (Safari) */
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser {
  display: flex;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a {
  line-height: unset;
  display: inline-block;
  flex: 0 0 calc(25% - 9px);
  margin: 10px 0 10px 12px;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a:last-of-type {
  margin-right: 10px;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a {
  overflow: hidden;
  cursor: pointer;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  height: auto;
  width: 100%;
  filter: opacity(0.75);
  transition: filter ease-in-out 0.5s;
  border: 1px solid #e5eaef;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a > img.active {
  filter: none;
  border: 1px solid #2452a4;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a > div {
  display: inline-block;
  position: relative;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a:hover img {
  filter: none;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a[data-type=video]:hover > div > button {
  background-color: rgb(17.1, 154.8, 204.3);
  transform: scale(1.1);
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a[data-type=video] > div {
  top: calc(-50% - 15px);
  left: calc(-50% - 15px);
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a[data-type=video] > div > button {
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: #13ace3;
  border-radius: 50%;
  transition: scale cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color;
}

.product-page .product-page--description-image figure > scroller-wrap > scroller-overflow > image-chooser > a[data-type=video] > div > button::before {
  margin-left: 1px;
}

@media (max-width: 1029px) {
  .product-page > * {
    order: 3;
  }
  .product-page .maincontent {
    order: 1;
  }
  .product-page .sidebar {
    order: 2;
    padding-top: 32px;
    padding-bottom: 32px;
    border-radius: initial;
    margin: 0;
  }
  .product-page .sidebar form {
    margin: 0;
  }
}
@media (max-width: 719px) {
  .product-page .topnav.open a.logo svg, .product-page .topnav.open a.logo:hover svg {
    fill: white;
    stroke: white;
    color: white;
  }
  .product-page .topnav ~ .maincontent {
    margin-top: 0;
    padding-top: 0;
  }
}
.product-page h1 + .JS_search-results {
  margin-top: 32px;
}

.product-page h1[data-tag]::after {
  background: #828786;
  border-radius: 2em;
  color: #fff;
  content: attr(data-tag);
  display: inline-block;
  font-size: 14px;
  line-height: 1.2em;
  margin-left: 1em;
  padding: 0.25em 0.75em;
  vertical-align: top;
}

@media (max-width: 1029px) {
  .sidebar {
    display: none;
  }
}
.block-list--products .block-list-block,
.block-list-block.block-list-block--product {
  --theme: transparent;
  background: rgb(234.09, 239.955, 250.41);
}

.block-list--products .block-list-block .block-list-block--image,
.block-list-block.block-list-block--product .block-list-block--image {
  background: #fff;
  padding-bottom: 100%;
}

.block-list--products .block-list-block .block-list-block--image img,
.block-list-block.block-list-block--product .block-list-block--image img {
  margin: 24px;
  height: calc(100% - 48px);
  width: calc(100% - 48px);
  opacity: 0;
  transform: scale(0.9);
  transition: opacity cubic-bezier(0.175, 0.885, 0.32, 1.275), scale cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.block-list--products .block-list-block .block-list-block--image img.loaded,
.block-list-block.block-list-block--product .block-list-block--image img.loaded {
  transform: scale(1);
}

.block-list--products .block-list-block .block-list-block--image::after,
.block-list-block.block-list-block--product .block-list-block--image::after {
  background: none;
  content: none;
}

.block-list--products .block-list-block .block-list-block--description,
.block-list-block.block-list-block--product .block-list-block--description {
  transition: y cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity;
  transition-delay: 0.2;
  display: block !important;
}

.block-list--products .block-list-block button,
.block-list-block.block-list-block--product button {
  /*left: 50%;
  position: absolute;
  bottom:0;
  opacity: 0;
  @include transform(x -50%, y -20);
  @include transition(y $ease-out-back, opacity, background-color );*/
  display: flex;
  align-self: flex-start;
  margin: auto auto 32px;
  width: auto;
  min-width: 160px;
  order: 5;
}

@media (max-width: 799px) {
  .block-list--products .block-list-block button,
  .block-list-block.block-list-block--product button {
    display: none;
  }
}
.block-list--products .block-list-block .button--discontinued,
.block-list-block.block-list-block--product .button--discontinued {
  background: #787878;
  border-color: #787878;
  color: #fff;
}

.product-list--error {
  background: #ffeeee;
  border: 4px solid red;
  padding: 32px;
}

.product-list--error h2 {
  font-size: 30px;
}

.product-page--discontinued .product-page--description-image img {
  filter: grayscale(100%);
}

.product-page--info-tabs {
  margin-top: 16px;
  justify-content: flex-start;
}

.product-page--info-tabs .JS_tablist-tab button {
  font-size: 20px;
}

@media (min-width: 1030px) and (max-width: 1427px) {
  .product-page--info-tabs .JS_tablist-tab button {
    font-size: 16px;
  }
  .product-page--info-tabs .JS_tablist-tab ~ .JS_tablist-tab {
    margin-left: 12px;
  }
}
@media (max-width: 799px) {
  .product-page--info-tabs h3.JS_tablist-tab {
    margin-top: 1px;
    background: #e5eaef;
  }
  .product-page--info-tabs h3.JS_tablist-tab button {
    color: #36383d;
    text-align: left;
    transition: color;
  }
  .product-page--info-tabs h3.JS_tablist-tab button:after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    right: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: transform;
  }
  .product-page--info-tabs h3.JS_tablist-tab.JS_tablist-tab--open button {
    color: #2452a4;
  }
  .product-page--info-tabs h3.JS_tablist-tab.JS_tablist-tab--open button:after {
    transform: rotate(180);
  }
}
.product-page--info-tabs .JS_tablist-content {
  margin: 32px 0 0 0;
}

.product-page--info-tabs .JS_tablist-content h4 {
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  background: #2452a4;
  padding: 16px 16px;
  margin: 32px 0 0 0;
}

.product-page--info-tabs .JS_tablist-content p:nth-child(1) {
  margin-top: 0;
}

.product-page .maincontent {
  padding-bottom: 64px;
}

.product-page--info-table {
  width: 100%;
}

.product-page--info-table td {
  padding: 8px 16px;
  text-align: left;
  width: 50%;
  font-size: 14px;
  line-height: 1.6;
}

.product-page--info-table {
  /*td:first-child {
  	text-align	: left;
  }
  td:last-child {
  	text-align	: right;
  }*/
}

.product-page--info-table tr:nth-child(even) td {
  background: #e5eaef;
}

@media (max-width: 699px) {
  .product-page--info-table tr {
    display: flex;
    flex-direction: column;
  }
  .product-page--info-table tr td {
    width: 100%;
  }
  .product-page--info-table tr td:first-child {
    font-weight: bold;
    padding-bottom: 0;
  }
  .product-page--info-table tr td + td {
    padding-top: 0;
  }
}
.category-content h1 {
  margin-left: -4px;
}

@media (max-width: 799px) {
  .category-content h1 {
    font-size: 30px;
    margin-left: -2px;
  }
}
@media (max-width: 479px) {
  .category-content h1 {
    font-size: 26px;
  }
}
.category-content figure {
  margin: 32px 0;
}

.category-content figure img {
  max-width: 100%;
  display: block;
}

.category-content .content {
  position: relative;
  margin: 32px 0;
}

@media (max-width: 799px) {
  .category-content .content {
    margin: 16px 0;
  }
}
.category-content .content p {
  margin-top: 0;
  margin-bottom: 16px;
}

.product-page .subcategories {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: var(--lo-gaps);
  margin-bottom: 32px;
}

.product-page .subcategories h2 {
  color: #13ace3;
  font-size: 20px;
}

.product-page .subcategories h4 {
  color: #292560;
  margin-top: 0.75em;
}

.product-page .subcategories h4,
.product-page .subcategories p {
  font-size: 14px;
}

.product-page .subcategories p {
  margin-top: 0.25em;
}

@media (max-width: 799px) {
  .product-page .subcategories {
    display: none;
  }
}
.product-page .transceiver--subcategories {
  margin-bottom: 32px;
}

@media (max-width: 799px) {
  .product-page .transceiver--subcategories {
    margin-bottom: 0;
  }
}
.product-page .transceiver--subcategories h2 {
  color: #13ace3;
  font-size: 20px;
}

.product-page .transceiver--subcategories h2:not(:first-of-type) {
  margin-top: 16px;
}

.product-page .transceiver--subcategories .transceiver-links--form,
.product-page .transceiver--subcategories .transceiver-links--oem {
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  margin-top: 16px;
}

.product-page .transceiver--subcategories .transceiver-links--form > *,
.product-page .transceiver--subcategories .transceiver-links--oem > * {
  background-color: rgb(234.09, 239.955, 250.41);
  border-radius: 10px;
  font-size: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  transition: background-color 0.25s ease-in-out, box-shadow 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.product-page .transceiver--subcategories .transceiver-links--form > *:hover,
.product-page .transceiver--subcategories .transceiver-links--oem > *:hover {
  background: #13ace3;
  color: white;
}

.product-page .transceiver--subcategories .transceiver-links--form > *:hover h3,
.product-page .transceiver--subcategories .transceiver-links--oem > *:hover h3 {
  color: white;
}

.product-page .transceiver--subcategories .transceiver-links--form > * h3,
.product-page .transceiver--subcategories .transceiver-links--oem > * h3 {
  font-size: 1.25em;
  margin: 0;
}

.product-page .transceiver--subcategories .transceiver-links--form {
  grid-template-columns: repeat(4, 1fr);
}

.product-page .transceiver--subcategories .transceiver-links--form button {
  text-align: left;
}

.product-page .transceiver--subcategories .transceiver-links--form h3 {
  margin-bottom: 8px;
}

.product-page .transceiver--subcategories .transceiver-links--oem {
  grid-template-columns: repeat(5, 1fr);
}

@media (min-width: 1030px) and (max-width: 1427px) {
  .product-page .transceiver--subcategories .transceiver-links--form p,
  .product-page .transceiver--subcategories .transceiver-links--oem p {
    display: none;
  }
}
@media (max-width: 799px) {
  .product-page .transceiver--subcategories .transceiver-links--form p,
  .product-page .transceiver--subcategories .transceiver-links--oem p {
    display: none;
  }
}
@media (max-width: 599px) {
  .product-page .transceiver--subcategories .transceiver-links--form,
  .product-page .transceiver--subcategories .transceiver-links--oem {
    grid-template-columns: repeat(2, 1fr);
  }
}
.JS_rmaform,
.JS_inventoryform {
  display: grid;
  grid-column-gap: var(--lo-gaps);
  grid-row-gap: var(--lo-gaps);
  grid-template-columns: 1fr 1fr;
  margin-top: var(--lo-gaps);
}

.JS_rmaform > *,
.JS_inventoryform > * {
  grid-column: 1/-1;
}

.JS_rmaform > .half,
.JS_inventoryform > .half {
  grid-column: unset;
}

.JS_rmaform h3,
.JS_inventoryform h3 {
  margin-top: 0;
}

.JS_rmaform .row,
.JS_rmaform .row--empty,
.JS_inventoryform .row,
.JS_inventoryform .row--empty {
  display: flex;
  margin-bottom: 32px;
  margin-top: 24px;
}

.JS_rmaform .row::before,
.JS_rmaform .row button,
.JS_rmaform .row--empty::before,
.JS_rmaform .row--empty button,
.JS_inventoryform .row::before,
.JS_inventoryform .row button,
.JS_inventoryform .row--empty::before,
.JS_inventoryform .row--empty button {
  align-self: center;
  background: none;
  color: #2452a4;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  font-size: 20px;
}

.JS_rmaform .row button,
.JS_rmaform .row--empty button,
.JS_inventoryform .row button,
.JS_inventoryform .row--empty button {
  line-height: 1;
  margin-left: 16px;
  padding: 8px 16px;
}

.JS_rmaform .row + .row,
.JS_inventoryform .row + .row {
  border-top: 1px solid #e5eaef;
  padding-top: 24px;
}

.JS_rmaform .message,
.JS_inventoryform .message {
  background: rgb(234.09, 239.955, 250.41);
  border: 1px solid #2452a4;
  border-radius: 10px;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  padding: 32px;
}

.JS_rmaform .message.message--error,
.JS_inventoryform .message.message--error {
  border-color: #ff0000;
  background: #ffdddd;
}

@media (max-width: 1427px) {
  .JS_rmaform .rowfields,
  .JS_inventoryform .rowfields {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
  }
  .JS_rmaform .rowfields :nth-child(2n+1),
  .JS_inventoryform .rowfields :nth-child(2n+1) {
    grid-column: 1;
  }
  .JS_rmaform .rowfields :nth-child(2n),
  .JS_inventoryform .rowfields :nth-child(2n) {
    grid-column: 2;
  }
  .JS_rmaform .rowfields .four,
  .JS_inventoryform .rowfields .four {
    grid-column: 1/-1;
    grid-row: 4;
  }
}
@media (max-width: 799px) {
  .JS_rmaform,
  .JS_inventoryform {
    grid-template-columns: 1fr;
  }
  .JS_rmaform > *,
  .JS_inventoryform > * {
    grid-column: 1/-1 !important;
  }
  .JS_rmaform .rowfields,
  .JS_inventoryform .rowfields {
    grid-template-columns: 1fr;
  }
  .JS_rmaform .rowfields > *,
  .JS_inventoryform .rowfields > * {
    grid-column: 1/-1 !important;
  }
}
.JS_rmaform .rowfields {
  flex: 1 1 80%;
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 24px;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.JS_rmaform .rowfields .one {
  grid-column: 1;
}

.JS_rmaform .rowfields .two {
  grid-column: 2;
}

.JS_rmaform .rowfields .three {
  grid-column: 3;
}

.JS_rmaform .rowfields .four {
  grid-column: 4;
  grid-row: 1/-1;
}

.JS_rmaform .rowfields .four textarea {
  height: 100%;
}

.JS_rmaform .rowfields .fancylabel {
  margin: 0;
}

.JS_inventoryform > .checkbox--wrap--flipped {
  text-align: right;
}

.JS_inventoryform > .checkbox--wrap--flipped + .checkbox--wrap--flipped {
  text-align: left;
}

.JS_inventoryform .rowfields {
  flex: 1 1 80%;
  display: grid;
  grid-column-gap: 16px;
  grid-row-gap: 24px;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(1, 1fr);
}

.JS_inventoryform .rowfields .one {
  grid-column: 1;
}

.JS_inventoryform .rowfields .two {
  grid-column: 2;
}

.JS_inventoryform .rowfields .three {
  grid-column: 3;
}

.JS_inventoryform .rowfields .four {
  grid-column: 4;
}

.JS_inventoryform .rowfields .four textarea {
  height: 100%;
}

.JS_inventoryform .rowfields .fancylabel {
  margin: 0;
}

.rma-page .inverted-sidebar > * {
  padding-right: var(--lo-gaps);
}

.rma-page .inverted-sidebar h3 {
  color: #2452a4;
}

.rma-page .inverted-sidebar h4 {
  color: #13ace3;
  margin-top: 16px;
}

.rma-page .inverted-sidebar ul {
  margin-top: 8px;
}

.rma-page .inverted-sidebar li {
  margin-top: 8px;
  padding-left: 24px;
  position: relative;
}

.rma-page .inverted-sidebar li::before {
  background: #2452a4;
  border-radius: 50%;
  content: " ";
  display: block;
  height: 0.5em;
  width: 0.5em;
  left: 0;
  position: absolute;
  top: 0.625em;
}

.vertical-page {
  margin: 60px auto 0;
}

.vertical-h2 {
  font-size: 20px;
  position: relative;
  margin-bottom: 20px;
  display: block;
  line-height: 1.6;
}

.grid-x {
  display: flex;
  flex-flow: row wrap;
}

.grid-container {
  max-width: 1400px;
  width: 95%;
}

.vertical-content {
  padding: 0 40px;
}

.vertical-content p {
  color: #515050;
  font-size: 16px;
}

.txtcenter {
  text-align: center;
}

.grid-x > .small-12 {
  width: 100%;
}

.grid-x > .small-1,
.grid-x > .small-10,
.grid-x > .small-11,
.grid-x > .small-12,
.grid-x > .small-2,
.grid-x > .small-3,
.grid-x > .small-4,
.grid-x > .small-5,
.grid-x > .small-6,
.grid-x > .small-7,
.grid-x > .small-8,
.grid-x > .small-9 {
  flex: 0 0 auto;
}

@media print, screen and (min-width: 64em) {
  .grid-x > .large-4 {
    width: 33.33333%;
  }
  .grid-x > .large-1,
  .grid-x > .large-10,
  .grid-x > .large-11,
  .grid-x > .large-12,
  .grid-x > .large-2,
  .grid-x > .large-3,
  .grid-x > .large-4,
  .grid-x > .large-5,
  .grid-x > .large-6,
  .grid-x > .large-7,
  .grid-x > .large-8,
  .grid-x > .large-9,
  .grid-x > .large-shrink {
    flex-basis: auto;
    flex: 0 0 auto;
  }
}
@media print, screen and (min-width: 40em) {
  .grid-x > .medium-4 {
    width: 33.33333%;
  }
  .grid-x > .medium-1,
  .grid-x > .medium-10,
  .grid-x > .medium-11,
  .grid-x > .medium-12,
  .grid-x > .medium-2,
  .grid-x > .medium-3,
  .grid-x > .medium-4,
  .grid-x > .medium-5,
  .grid-x > .medium-6,
  .grid-x > .medium-7,
  .grid-x > .medium-8,
  .grid-x > .medium-9,
  .grid-x > .medium-shrink {
    flex-basis: auto;
    flex: 0 0 auto;
  }
}
.vertical-page h2 {
  font-size: 20px;
  margin-top: 20px !important;
}

.vertical-content .button {
  margin-top: 20px;
}

.vertical-content:hover .button {
  background-color: #13ace3;
}

.stag-container {
  display: flex;
  flex-flow: row wrap;
  max-width: 100% !important;
  width: 100%;
}

.stag-container > .stag-sec {
  flex: 0 0 auto;
  width: 50%;
}

.flexnew {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.vertical-page-prodsol h2 {
  margin: 100px auto 40px !important;
  text-align: center;
}

.vertical-split {
  margin: 10px;
  position: relative;
  background: #eaf0fa;
  padding: 40px;
}

.vertical-split-copy h3 {
  font-size: 22px;
  margin: 0;
}

.vertical-split img {
  margin: 0 auto;
  display: flex;
  width: 100%;
}

.vertical-split-copy,
.vertical-split-img {
  display: inline-block;
  text-align: left;
  width: 100%;
}

.vertical-split-copy p {
  font-size: 16px;
  color: #515050;
  margin: 10px 0;
}

.vertical-split .button {
  color: #fff;
}

.vertical-page-prodsol .button a {
  text-decoration: none;
}

.vertical-split.vertical-split2 {
  margin-bottom: 20px;
}

.vertical-split2 .vertical-split-copy,
.vertical-split3 .vertical-split-copy {
  width: 60%;
  vertical-align: top;
}

.vertical-split2 .vertical-split-img,
.vertical-split3 .vertical-split-img {
  margin-left: 10%;
  width: 30%;
}

.vertical-split1 .vertical-split-img {
  max-width: 299px;
  margin: 0 auto;
  display: flex;
}

@media print, screen and (min-width: 1100px) {
  .large-order-1 {
    order: 1;
  }
  .large-order-2 {
    order: 2;
  }
}
@media print, screen and (max-width: 1099px) {
  .stag-container > .stag-sec {
    width: 100%;
  }
  .vertical-split1 .vertical-split-copy {
    width: 60%;
    vertical-align: top;
  }
  .vertical-split1 .vertical-split-copy {
    width: 60%;
    vertical-align: top;
  }
  .vertical-split1 .vertical-split-img {
    margin-left: 10%;
    width: 30%;
    display: inline-block;
  }
}
@media print, screen and (max-width: 1239px) {
  .grid-x > .medium-12 {
    width: 100%;
    margin: 0 auto 40px;
  }
  .vertical-content {
    text-align: center;
  }
}
.system-page .topnav .logo {
  color: #2452a4;
  fill: #2452a4;
  stroke: #2452a4;
}

.system-form {
  background: #fff;
  border: 2px solid #2452a4;
  border-radius: 10px;
  padding: 32px;
  margin: calc(1.25 * var(--lo-gaps)) auto;
  max-width: 600px;
}

.system-form h1 {
  margin-bottom: 32px;
}

.system-form .system-form--message,
.system-form .system-form--error-wrap {
  margin: 32px 0;
}

.system-form .system-form--error {
  color: red;
}

.system-form .system-form--error + .system-form--error {
  margin-top: 8px;
}

.system-form .system-form--buttons {
  align-items: center;
  display: flex;
  margin-top: 32px;
}

.system-form .system-form--buttons * + * {
  margin-left: auto;
}

.system-form .fancylabel {
  margin-top: 40px;
}

.system-form .checkbox--label {
  flex-basis: calc(50% + 1.5em);
}

.system-form .password-strength {
  transition: color 0.2s;
}

.system-form .password-strength::before {
  background: #e5eaef;
  border-left: 0 solid currentColor;
  box-sizing: border-box;
  content: " ";
  display: block;
  height: 0.5em;
  margin-right: 0.5em;
  width: 2.5em;
  transition: border-left-width 0.2s;
}

.system-form .password-strength[data-strength="0"] {
  color: #f00;
}

.system-form .password-strength[data-strength="0"]::before {
  border-left-width: 1px;
}

.system-form .password-strength[data-strength="1"] {
  color: #f70;
}

.system-form .password-strength[data-strength="1"]::before {
  border-left-width: 0.625em;
}

.system-form .password-strength[data-strength="2"] {
  color: #fd0;
}

.system-form .password-strength[data-strength="2"]::before {
  border-left-width: 1.25em;
}

.system-form .password-strength[data-strength="3"] {
  color: #8d0;
}

.system-form .password-strength[data-strength="3"]::before {
  border-left-width: 1.875em;
}

.system-form .password-strength[data-strength="4"] {
  color: #0d0;
}

.system-form .password-strength[data-strength="4"]::before {
  border-left-width: 2.5em;
}

.JS_techsupportform {
  margin: 32px auto;
}

@media (min-width: 60rem) {
  .JS_techsupportform {
    max-width: 100%;
    width: 60rem;
  }
}
.JS_techsupportform .checkbox--wrap {
  margin-top: 8px;
}

.JS_techsupportform p,
.JS_techsupportform button {
  margin-top: 32px;
}

.JS_techsupportform p {
  color: #2452a4;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
}

.JS_techsupportform button {
  align-self: flex-end;
}

.JS_techsupportform em {
  color: #13ace3;
  font-style: normal;
}

.JS_techsupportform .message {
  background: rgb(234.09, 239.955, 250.41);
  border: 1px solid #2452a4;
  border-radius: 10px;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  margin-bottom: 32px;
  padding: 32px;
}

.JS_techsupportform .message.message--error {
  border-color: #ff0000;
  background: #ffdddd;
}

.JS_testbed {
  -moz-columns: 2 auto;
       columns: 2 auto;
  -moz-column-gap: var(--lo-gaps);
       column-gap: var(--lo-gaps);
  margin-top: calc(1.25 * var(--lo-gaps));
}

@media (max-width: 799px) {
  .JS_testbed {
    -moz-columns: 1 auto;
         columns: 1 auto;
  }
}
.JS_testbed.onlyone {
  -moz-columns: 1;
       columns: 1;
}

.JS_testbed.onlyone section {
  width: calc(50% - var(--lo-gaps));
}

.JS_testbed section {
  border-radius: 10px;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  border: 1px solid rgb(234.09, 239.955, 250.41);
  margin-top: var(--lo-gaps);
}

.JS_testbed section:first-child {
  margin-top: 0;
}

.JS_testbed h3 {
  background: #2452a4;
  border-radius: 10px 10px 0 0;
  color: #fff;
  margin: 0;
  padding: 16px 16px;
}

.JS_testbed p {
  background: #fff;
  display: block;
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
  margin: 0;
  padding: 8px 16px;
  text-decoration: none;
}

.JS_testbed p:nth-child(2n+1) {
  background: rgb(234.09, 239.955, 250.41);
}

.JS_testbed p:last-child {
  border-radius: 0 0 10px 10px;
}

.JS_testbed p.grandchild {
  padding-left: 48px;
  position: relative;
}

.JS_testbed p.grandchild::before {
  border-bottom: 1px solid #828786;
  border-left: 1px solid #828786;
  border-bottom-left-radius: 2px;
  content: " ";
  display: block;
  bottom: 50%;
  height: 50%;
  left: 16px;
  position: absolute;
  width: 16px;
}

.JS_testbed p.grandchild + .grandchild::before {
  height: 100%;
}

.JS_testbed .filtered-hide {
  display: none;
}

.JS_testbed .filtered-show .filtered-hide {
  display: block;
}

.JS_testbed .filtered-show .grandchild,
.JS_testbed .filtered-show.grandchild {
  padding-left: 16px;
}

.JS_testbed .filtered-show .grandchild::before,
.JS_testbed .filtered-show.grandchild::before {
  display: none;
}

.testbed-filter {
  display: block;
  margin-bottom: 32px;
}

.testbed-filter h4 {
  margin-bottom: 8px;
}

.testbed-filter input {
  max-width: 25em;
  width: 100%;
}

.testbed-filter input::-moz-placeholder {
  color: #2452a4;
  opacity: 1;
}

.testbed-filter input::placeholder {
  color: #2452a4;
  opacity: 1;
}

@media (min-width: 1030px) {
  .testbed-filter {
    padding-right: 32px;
  }
}
.testbed-updated {
  color: #2452a4;
  font-size: 14px;
}

.testbed-button {
  text-align: center;
  padding-top: 32px;
}

.tool-page .banner + .search + .lo-full-content,
.tool-page .banner + .search + .lo-full-content + .lo-full-content {
  margin-top: var(--lo-gaps);
}

.tool-page .banner + .search + .lo-full-content:empty,
.tool-page .banner + .search + .lo-full-content + .lo-full-content:empty {
  margin: 0;
}

#tools .tool-list {
  padding-top: calc(4vh + 64px / 2);
  padding-top: calc(4vh + var(--gutters, 64px) / 2);
  padding-bottom: calc(4vh + 64px / 2);
  padding-bottom: calc(4vh + var(--gutters, 64px) / 2);
}

videos-list {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  margin-bottom: calc(5vh + 64px / 2);
  margin-bottom: calc(5vh + var(--gutters, 64px) / 2);
}

@media (min-width: 800px) {
  videos-list {
    width: calc(100% + 64px);
    max-width: initial !important;
    left: -32px;
  }
  @supports (display: grid) {
    videos-list {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(357px, 1fr));
      grid-gap: 32px;
      width: 100%;
      left: 0;
    }
    videos-list article {
      margin: 0 !important;
    }
    videos-list[data-count="1"] {
      grid-template-columns: 1fr 357px 1fr;
    }
    videos-list[data-count="1"] article {
      grid-column: 2;
    }
    videos-list[data-count="2"] {
      grid-template-columns: 1fr repeat(2, 307px) 1fr;
    }
    videos-list[data-count="2"] article:nth-of-type(1) {
      grid-column: 2;
    }
    videos-list[data-count="2"] article:nth-of-type(2) {
      grid-column: 3;
    }
    @media (min-width: 800px) and (min-width: 800px) and (min-width: 1150) {
      videos-list[data-count="3"] {
        grid-template-columns: 1fr repeat(3, 307px) 1fr;
      }
      videos-list[data-count="3"] article:nth-of-type(1) {
        grid-column: 2;
      }
      videos-list[data-count="3"] article:nth-of-type(2) {
        grid-column: 3;
      }
      videos-list[data-count="3"] article:nth-of-type(3) {
        grid-column: 4;
      }
    }
  }
}
videos-list article {
  display: block;
  flex-basis: 476px;
  flex-grow: 1;
  margin: 16px;
  position: relative;
}

videos-list article a {
  display: flex;
  flex-direction: column;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #eaf0fa;
  height: 100%;
  padding-bottom: 16px;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}

videos-list article a h3,
videos-list article a p,
videos-list article a figure {
  transition: all 0.2s 0s ease-in-out;
}

videos-list article a h3 {
  order: 2;
  color: #2452a4;
  font-size: 19.2px;
  padding: 16px 32px 0 32px;
}

videos-list article a p {
  order: 3;
  padding: 16px 32px;
  display: flex;
  flex-direction: column;
  word-break: break-word;
}

videos-list article a p button {
  margin: 16px auto 0 auto;
}

@media (min-width: 580) {
  videos-list article a p button {
    display: none !important;
  }
}
videos-list article a figure {
  order: 1;
  position: relative;
  min-height: 200px;
  border-bottom: 1px solid #eaf0fa;
  margin-bottom: 16px;
  transition: transform 0.2s 0s ease-in-out;
}

videos-list article a figure img {
  -o-object-position: center center;
     object-position: center center;
  display: block;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  top: 0;
  left: 0;
}

videos-list article a figure:after {
  content: "Watch Video";
  position: absolute;
  top: 100%;
  text-transform: uppercase;
  width: 100%;
  height: 0px;
  text-align: center;
  white-space: nowrap;
  display: flex;
  align-items: center;
  color: white;
  font-size: 20px;
  overflow: hidden;
  justify-content: center;
  background-color: #13ace3;
  transition: height 0.2s 0s ease-in-out;
}

@media (max-width: 579px) {
  videos-list article a figure {
    min-height: 40vw;
  }
}
videos-list article a:hover figure {
  transform: translateY(-30px);
}

videos-list article a:hover figure:after {
  height: 60px;
}

videos-list article a:hover h3,
videos-list article a:hover p {
  transform: translateY(30px);
}

.video-samples videos-list {
  margin-bottom: 32px;
}

.video-samples > .button {
  margin-bottom: 32px;
  justify-self: center;
}

#where-to-buy h4 {
  margin-top: 0;
}

.wheretobuy-switcher {
  padding-right: var(--lo-gaps);
}

.wheretobuy-switcher label.fancylabel span {
  left: 0;
  margin-bottom: 16px;
}

.wheretobuy-switcher select {
  display: block;
  margin-top: 24px;
  width: 100%;
}

.wheretobuy-switcher select:required:invalid:not(:focus) + span {
  color: #2452a4;
}

.wheretobuy-switcher select:required + span::after {
  content: none;
}

@media (max-width: 1029px) {
  .where-to-buy-page .sidebar,
  .wheretobuy-switcher {
    display: none;
  }
}
.wheretobuy-info {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 16px;
}

@media (min-width: 1030px) and (max-width: 1427px) {
  .wheretobuy-info {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 799px) {
  .wheretobuy-info {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 479px) {
  .wheretobuy-info {
    grid-template-columns: 1fr;
  }
}
.wheretobuy-info--block {
  list-style: none;
  position: relative;
}

.wheretobuy-info--block ::-webkit-details-marker {
  display: none;
}

@media (max-width: 479px) {
  .wheretobuy-info--block.partner summary {
    padding-top: 64px;
  }
}
.wheretobuy-info--block summary {
  display: flex;
  justify-content: center;
  height: 192px;
}

@media (max-width: 799px) {
  .wheretobuy-info--block summary {
    height: 100px;
  }
}
@media (max-width: 479px) {
  .wheretobuy-info--block summary {
    height: auto;
  }
}
.wheretobuy-info--block summary {
  padding: 32px;
  border: 1px solid #e5eaef;
  border-radius: 10px;
  cursor: pointer;
}

.wheretobuy-info--block summary:before {
  content: "";
}

.wheretobuy-info--block summary:hover {
  border-color: #13ace3;
}

.wheretobuy-info--block summary .retailer-level {
  position: absolute;
  top: 16px;
  left: 0;
  width: calc(100% - 20px);
  padding: 0 0 0 20px;
  display: flex;
  align-items: center;
  margin: 0;
  justify-content: space-between;
  text-transform: uppercase;
  color: #99999a;
}

.wheretobuy-info--block summary .retailer-level span {
  padding: 8px 12px;
  color: white;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.wheretobuy-info--block summary .retailer-level.silver span {
  background-image: linear-gradient(to right, #454e51, #949a9e);
}

.wheretobuy-info--block summary .retailer-level.gold span {
  background-image: linear-gradient(to right, #815130, #c6975f);
}

.wheretobuy-info--block summary .retailer-level.platinum span {
  background-image: linear-gradient(to right, #1b1f52, #5e5286);
}

@media (max-width: 479px) {
  .wheretobuy-info--block summary .retailer-level {
    top: 0;
    font-size: 12px;
  }
  .wheretobuy-info--block summary .retailer-level span {
    border-top-left-radius: 0;
    border-top-right-radius: 10px;
  }
}
.wheretobuy-info--block img {
  align-self: center;
  display: block;
  margin: calc(50% - 40px) auto;
  max-height: 64px;
  max-width: 75%;
}

.wheretobuy-info--block div {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
  background: #fff;
  border: 1px solid #e5eaef;
  border-radius: 10px;
  box-shadow: 0 2px 24px -8px #99999a;
  padding: 32px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg version='1.1' class='close' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='rgba(36, 82, 164, 0.99)'%3E %3Cdesc%3EIcon by: https://www.flaticon.com/authors/cole-bemis%3C/desc%3E %3Cpath d='M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249 C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306 C514.019,27.23,514.019,14.135,505.943,6.058zM505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636 c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z'/%3E %3C/svg%3E");
  background-position: calc(100% - 16px) 16px;
  background-repeat: no-repeat;
  background-size: 12px 12px;
}

@media (max-width: 479px) {
  .wheretobuy-info--block div {
    left: 0;
    right: 0;
    width: auto;
  }
}
.wheretobuy-info--block div h3 {
  margin: 0;
}

.wheretobuy-info--block div .button {
  text-decoration: none;
}

@media (max-width: 799px) {
  #where-to-buy .inverted-sidebar {
    display: none;
  }
}
/*
$brown       : #A77A3E;
$purple      : #A83E7A;
$yellow      : #EB9F24;
$selection   : $yellow;
*/
@font-face {
  font-family: "Lato";
  font-weight: 400;
  src: url("/assets/fonts/lato-v17-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Lato Regular"), local("Lato-Regular"), url("/assets/fonts/lato-v17-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/lato-v17-latin-regular.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-regular.woff") format("woff"), url("/assets/fonts/lato-v17-latin-regular.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-regular.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
@font-face {
  font-family: "Lato-Bold";
  font-weight: 700;
  src: url("/assets/fonts/lato-v17-latin-700.eot"); /* IE9 Compat Modes */
  src: local("Lato Bold"), local("Lato-Bold"), url("/assets/fonts/lato-v17-latin-700.woff2") format("woff2"), url("/assets/fonts/lato-v17-latin-700.woff") format("woff"), url("/assets/fonts/lato-v17-latin-700.ttf") format("truetype"), url("/assets/fonts/lato-v17-latin-700.svg#Lato") format("svg"); /* Legacy iOS */
  font-display: swap;
}
/* varela-round-regular - latin */
@font-face {
  font-family: "Varela";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/varela-round-v13-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Varela Round"), url("/assets/fonts/varela-round-v13-latin-regular.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/varela-round-v13-latin-regular.woff2") format("woff2"), url("/assets/fonts/varela-round-v13-latin-regular.woff") format("woff"), url("/assets/fonts/varela-round-v13-latin-regular.ttf") format("truetype"), url("/assets/fonts/varela-round-v13-latin-regular.svg#VarelaRound") format("svg"); /* Legacy iOS */
}
input,
input[type=text],
input[type=search],
input[type=password],
input[type=email],
select,
textarea,
.selectize-control .selectize-input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: var(--field-bg);
  border: none;
  border-radius: 5px;
  box-sizing: border-box;
  color: #36383d;
  font: inherit;
  line-height: 1.125;
  padding: 12px 16px;
}

input:invalid,
input[type=text]:invalid,
input[type=search]:invalid,
input[type=password]:invalid,
input[type=email]:invalid,
select:invalid,
textarea:invalid,
.selectize-control .selectize-input:invalid {
  box-shadow: none;
}

input:focus,
input[type=text]:focus,
input[type=search]:focus,
input[type=password]:focus,
input[type=email]:focus,
select:focus,
textarea:focus,
.selectize-control .selectize-input:focus {
  box-shadow: 0 0 2px var(--primary-d) inset;
}

input.invalid,
input[type=text].invalid,
input[type=search].invalid,
input[type=password].invalid,
input[type=email].invalid,
select.invalid,
textarea.invalid,
.selectize-control .selectize-input.invalid {
  box-shadow: 0 0 2px 1px red;
}

input.invalid:focus,
input[type=text].invalid:focus,
input[type=search].invalid:focus,
input[type=password].invalid:focus,
input[type=email].invalid:focus,
select.invalid:focus,
textarea.invalid:focus,
.selectize-control .selectize-input.invalid:focus {
  box-shadow: 0 0 2px var(--primary-d) inset, 0 0 2px 1px red;
}

input::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=email]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder, .selectize-control .selectize-input::-moz-placeholder {
  color: #666;
}

input::placeholder,
input[type=text]::placeholder,
input[type=search]::placeholder,
input[type=password]::placeholder,
input[type=email]::placeholder,
select::placeholder,
textarea::placeholder,
.selectize-control .selectize-input::placeholder {
  color: #666;
}

input,
input[type=text],
input[type=search],
input[type=password],
input[type=email],
select {
  height: calc(1.125em + 12px + 12px);
}

.ie input,
.ie input[type=text],
.ie input[type=search],
.ie input[type=password],
.ie select,
.ie textarea,
.ie .selectize-control .selectize-input {
  background: #e5eaef;
}

select,
.selectize-control .selectize-input {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23333"><path d="M8 11L3 6h10l-5 5z"/></svg>');
  background-position: calc(100% - 16px) center;
  background-repeat: no-repeat;
  background-size: 1.2em;
}

select.has-items,
.selectize-control .selectize-input.has-items {
  background-image: none;
}

select.loading,
.selectize-control .selectize-input.loading {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23333"><circle cx="8" cy="2" r="2"/><circle cx="8" cy="14" r="2" opacity="0.3"/><circle cx="14" cy="8" r="2" opacity="0.5"/><circle cx="2" cy="8" r="2" opacity="0.7"/></svg>');
}

select input,
.selectize-control .selectize-input input {
  height: auto;
  padding: 0;
}

.selectize-control.plugin-remove_button [data-value] {
  padding-right: 10px !important;
}

.selectize-control.multi .selectize-input.not-full {
  padding: 12px 16px;
}

.selectize-control.multi .selectize-input.has-items {
  padding: 8px 8px 3px;
}

.selectize-control.multi .selectize-input > div {
  border-radius: 5px;
  background: rgb(150.45, 179.775, 232.05);
  color: white;
  font-size: 14px;
  padding: 6px 10px;
  display: inline-flex;
  justify-content: space-between;
  transition: background-color 0.2s;
  margin: 0 3px 3px 0;
}

.selectize-control.multi .selectize-input > div .remove {
  font-family: monospace;
  border: none;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-weight: bold;
  margin-left: 10px;
  font-size: 16px;
  text-align: center;
  background-color: #13ace3;
  transition: background-color 0.2s, color 0.2s;
}

.selectize-control.multi .selectize-input > div .remove:hover {
  background-color: white;
  color: #13ace3;
}

.selectize-control.multi .selectize-input > div:hover .remove {
  transform: scale(1);
  transition: background-color 0.2s, color 0.2s, transform 0.3s 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.selectize-control.multi .selectize-input > div.active {
  color: white;
  background: rgba(150.45, 179.775, 232.05, 0.8);
}

.selectize-control .dropdown-active.selectize-input {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.selectize-dropdown .optgroup-header {
  background-color: #2452a4;
  background: linear-gradient(to right, #20618b, #2452a4);
  color: white;
  position: sticky;
  z-index: 1;
  top: 0;
  font-weight: bold;
  padding: 8px 10px;
}

.selectize-dropdown .optgroup .option {
  padding: 5px 10px;
}

.selectize-dropdown .selectize-dropdown-content {
  background-color: white;
  position: absolute;
  left: -1px;
  width: calc(100% + 2px);
}

label a {
  text-decoration: underline;
}

.checkbox--wrap {
  display: inline-block;
  height: 1.5em;
}

.checkbox--wrap input {
  left: -9999px;
  position: absolute;
  height: 0 !important;
}

.checkbox--wrap .checkbox--label {
  box-sizing: border-box;
  display: block;
  position: relative;
  padding-left: calc(var(--checkbox-size) + var(--checkbox-spacing));
}

.checkbox--wrap .checkbox--label::before,
.checkbox--wrap .checkbox--label::after {
  content: " ";
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.checkbox--wrap .checkbox--label::before {
  background: var(--field-bg);
  border-radius: 5px;
  display: block;
  left: 0;
  height: var(--checkbox-size);
  width: var(--checkbox-size);
}

.checkbox--wrap .checkbox--label::after {
  background: var(--checkbox-color);
  border-radius: 1px;
  display: none;
  left: calc(0.25 * var(--checkbox-size));
  height: calc(0.5 * var(--checkbox-size));
  width: calc(0.5 * var(--checkbox-size));
}

.checkbox--wrap input:checked ~ .checkbox--label::after {
  display: block;
}

.checkbox--wrap input:focus ~ .checkbox--label::before {
  box-shadow: 0 0 2px var(--primary-d) inset;
}

.checkbox--wrap input.invalid ~ .checkbox--label::before {
  box-shadow: 0 0 2px 1px red;
}

.checkbox--wrap input[type=radio] ~ .checkbox--label::before,
.checkbox--wrap input[type=radio] ~ .checkbox--label::after {
  border-radius: 50%;
}

.checkbox--wrap--flipped .checkbox--label {
  padding-left: 0;
  padding-right: calc(var(--checkbox-size) + var(--checkbox-spacing));
}

.checkbox--wrap--flipped .checkbox--label::before,
.checkbox--wrap--flipped .checkbox--label::after {
  left: auto;
}

.checkbox--wrap--flipped .checkbox--label::before {
  right: 0;
}

.checkbox--wrap--flipped .checkbox--label::after {
  right: calc(0.25 * var(--checkbox-size));
}

.fancylabel {
  display: block;
  margin-top: 24px;
  position: relative;
}

.fancylabel.hidden {
  display: none;
}

.fancylabel:first-child {
  margin-top: 0;
}

.fancylabel span {
  color: var(--primary);
  font-family: "Varela", "Helvetica Rounded", Arial, sans-serif;
}

.fancylabel span small {
  color: #828786;
  transition: opacity 0.25s;
}

.fancylabel textarea + span small {
  display: block;
}

.fancylabel:not(.checkbox--wrap) span {
  position: absolute;
  left: 16px;
  top: 12px;
  transform-origin: 0 0;
  transition: transform 0.25s;
  pointer-events: none;
}

.fancylabel input:-moz-placeholder + span:not(.checkbox--label), .fancylabel textarea:-moz-placeholder + span:not(.checkbox--label) {
  transform: translateY(0) scale(1);
}

.fancylabel input:placeholder-shown + span:not(.checkbox--label),
.fancylabel textarea:placeholder-shown + span:not(.checkbox--label) {
  transform: translateY(0) scale(1);
}

.fancylabel input:-moz-placeholder + span:not(.checkbox--label) small, .fancylabel textarea:-moz-placeholder + span:not(.checkbox--label) small {
  opacity: 1;
}

.fancylabel input:placeholder-shown + span:not(.checkbox--label) small,
.fancylabel textarea:placeholder-shown + span:not(.checkbox--label) small {
  opacity: 1;
}

.fancylabel select:required:invalid:not(:focus) + span, .fancylabel select[name=salutation]:not(:focus) + span {
  transform: translateY(0) scale(1);
}

.fancylabel select:required:invalid:not(:focus) + span small, .fancylabel select[name=salutation]:not(:focus) + span small {
  opacity: 1;
}

.fancylabel input,
.fancylabel select,
.fancylabel textarea {
  width: 100%;
}

.fancylabel input + span:not(.checkbox--label), .fancylabel input:focus + span:not(.checkbox--label), .fancylabel input[name=salutation].populated + span:not(.checkbox--label),
.fancylabel select + span:not(.checkbox--label),
.fancylabel select:focus + span:not(.checkbox--label),
.fancylabel select[name=salutation].populated + span:not(.checkbox--label),
.fancylabel textarea + span:not(.checkbox--label),
.fancylabel textarea:focus + span:not(.checkbox--label),
.fancylabel textarea[name=salutation].populated + span:not(.checkbox--label) {
  transform: translateY(-28px) scale(0.875);
  transition: transform 0.125s;
}

.fancylabel input + span:not(.checkbox--label) small, .fancylabel input:focus + span:not(.checkbox--label) small, .fancylabel input[name=salutation].populated + span:not(.checkbox--label) small,
.fancylabel select + span:not(.checkbox--label) small,
.fancylabel select:focus + span:not(.checkbox--label) small,
.fancylabel select[name=salutation].populated + span:not(.checkbox--label) small,
.fancylabel textarea + span:not(.checkbox--label) small,
.fancylabel textarea:focus + span:not(.checkbox--label) small,
.fancylabel textarea[name=salutation].populated + span:not(.checkbox--label) small {
  opacity: 0;
}

.fancylabel input:required + span::after,
.fancylabel select:required + span::after,
.fancylabel textarea:required + span::after {
  content: "*";
  color: #13ace3;
}

.fancylabel.fancylabel--file::before {
  background: var(--field-bg);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23333"><path d="M3 0v16h10V4l-4-4H3zm6 1.5L11.5 4H9V1.5zM4 2h4v3h3v9H4V2z"/><path d="M5 6h6v1H5zm0 2h6v1H5zm0 2h4v1H5z"/></svg>');
  background-position: calc(100% - 16px) center;
  background-repeat: no-repeat;
  background-size: 1.2em;
  border-radius: 5px;
  content: " ";
  cursor: pointer;
  display: block;
  font: inherit;
  height: calc(1.125em + 12px + 12px);
  padding: 12px 16px;
  width: 100%;
}

.fancylabel.fancylabel--file.fancylabel--focus::before {
  box-shadow: 0 0 2px var(--primary-d) inset;
}

.fancylabel.fancylabel--file input {
  left: -10000px;
  position: absolute;
}

.fancylabel.fancylabel--file input + span {
  transform: translateY(0) scale(1);
}

.fancylabel.fancylabel--file div {
  cursor: pointer;
  left: 0;
  position: absolute;
  top: 0;
  height: calc(1.125em + 12px + 12px);
  padding: 12px 16px;
}

.fancylabel.fancylabel--file div button {
  background: none;
  color: inherit;
  font-size: 0.875em;
  padding: 0;
}

.fancylabel.fancylabel--file div ~ span {
  transform: translateY(-28px) scale(0.875);
  transition: transform 0.125s;
}

.ff-row {
  display: flex;
  grid-template-rows: auto;
  margin-top: 24px;
  width: 100%;
}

.ff-row .fancylabel select:not(:required) + span {
  display: none;
}

.ff-row .fancylabel select[name=salutation] + span {
  display: block;
}

.ff-row .fancylabel textarea {
  min-height: 12em;
}

.ff-row > .fancylabel,
.ff-row > .ff-group {
  flex: 0 1 100%;
}

.ff-row > .fancylabel + .fancylabel {
  margin-left: 24px;
  margin-top: 0;
}

.ff-group .fancylabel {
  margin-top: 8px;
}

.ff-group p {
  margin-top: 0;
}

.ff-group p small {
  display: block;
}

.ff-row label.privacy span.checkbox--label {
  transform: initial !important;
  font-size: 14px;
}

.ff-row label.privacy small {
  color: #002a35;
  opacity: 1 !important;
  margin-left: 8px;
}

body#event-request form .fancylabel.checkbox--wrap input + span, body#event-request form .fancylabel.checkbox--wrap input:focus + span,
body#event-request form .fancylabel.checkbox--wrap select + span,
body#event-request form .fancylabel.checkbox--wrap select:focus + span,
body#event-request form .fancylabel.checkbox--wrap textarea + span,
body#event-request form .fancylabel.checkbox--wrap textarea:focus + span,
body#customer-support-survey form .fancylabel.checkbox--wrap input + span,
body#customer-support-survey form .fancylabel.checkbox--wrap input:focus + span,
body#customer-support-survey form .fancylabel.checkbox--wrap select + span,
body#customer-support-survey form .fancylabel.checkbox--wrap select:focus + span,
body#customer-support-survey form .fancylabel.checkbox--wrap textarea + span,
body#customer-support-survey form .fancylabel.checkbox--wrap textarea:focus + span {
  transform: translateY(0) scale(1);
}

fieldset.generic {
  display: flex;
  position: relative;
  background-color: inherit;
  margin-top: 32px;
  padding-left: 0;
  padding-right: 0;
  counter-reset: dynamic;
  flex-direction: column;
}

fieldset.generic input:not(:required) ~ field-status-bar,
fieldset.generic input:not(:required) ~ sup,
fieldset.generic textarea:not(:required) ~ field-status-bar,
fieldset.generic textarea:not(:required) ~ sup,
fieldset.generic select:not(:required) ~ field-status-bar,
fieldset.generic select:not(:required) ~ sup {
  display: none;
}

fieldset.generic input:not([value=""]):not(:focus) ~ field-status-bar:before,
fieldset.generic textarea:not([value=""]):not(:focus) ~ field-status-bar:before {
  width: 100%;
}

fieldset.generic input:not([value=""]):not(:focus):invalid ~ field-status-bar:before,
fieldset.generic textarea:not([value=""]):not(:focus):invalid ~ field-status-bar:before {
  background-color: var(--error);
}

fieldset.generic select::-ms-expand {
  display: none;
}

fieldset.generic select:invalid ~ field-status-bar:before {
  width: 0%;
}

fieldset.generic select:valid ~ field-status-bar:before {
  width: 100%;
}

fieldset.generic label {
  width: 100%;
  position: relative;
  display: block;
  background-color: inherit;
}

fieldset.generic label field-placeholder,
fieldset.generic label field-status-bar,
fieldset.generic label field-asterisk {
  position: absolute;
}

fieldset.generic label > *:first-child {
  display: block;
  font-size: 16px;
  padding: 8px 16px 8px 16px;
  border: 0px solid #a9a9a9;
  width: 100%;
  min-height: 42px;
  background-color: #e5eaef;
  border-radius: 6px;
  transition: background-color 0.2s 0s ease-in-out, border-color 0.2s 0s ease-in-out, color 0.2s 0s ease-in-out;
}

fieldset.generic label > *:first-child:focus::-webkit-input-placeholder {
  color: transparent;
}

fieldset.generic label > *:first-child::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -webkit-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

fieldset.generic label > *:first-child:focus::-moz-placeholder {
  color: transparent;
}

fieldset.generic label > *:first-child::-moz-placeholder {
  color: rgba(0, 0, 0, 0);
  -moz-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

fieldset.generic label > *:first-child:focus:-moz-placeholder {
  color: transparent;
}

fieldset.generic label > *:first-child:-moz-placeholder {
  color: rgba(0, 0, 0, 0);
  -moz-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

fieldset.generic label > *:first-child:focus:-ms-input-placeholder {
  color: transparent;
}

fieldset.generic label > *:first-child:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -ms-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

fieldset.generic label > *:first-child:not(:required) ~ field-asterisk {
  display: none;
}

fieldset.generic label > *:first-child:valid ~ field-asterisk {
  pointer-events: none;
}

fieldset.generic label > *:first-child:valid ~ field-asterisk:empty {
  opacity: 0;
}

fieldset.generic label > *:first-child:valid ~ field-asterisk > svg {
  fill: #005587;
}

fieldset.generic label > *:first-child:-moz-placeholder-shown:not(:focus) {
  border: 0px solid #a9a9a9;
  background-color: #e5eaef;
  color: #000;
}

fieldset.generic label > *:first-child:-moz-placeholder-shown:not(:focus) ~ field-placeholder {
  left: 16px;
  top: 21px;
  top: 17.5px;
  color: #005587;
  padding-left: 0;
  padding-right: 0;
  transform: translateY(-50%) scale(1);
}

fieldset.generic label > *:first-child:-moz-placeholder-shown:not(:focus) ~ field-placeholder:before {
  opacity: 0;
}

fieldset.generic label > *:first-child:-moz-placeholder:not(:focus) {
  border: 0px solid #a9a9a9;
  background-color: #e5eaef;
  color: #000;
}

fieldset.generic label > *:first-child:placeholder-shown:not(:focus) {
  border: 0px solid #a9a9a9;
  background-color: #e5eaef;
  color: #000;
}

fieldset.generic label > *:first-child:-moz-placeholder:not(:focus) ~ field-placeholder {
  left: 16px;
  top: 21px;
  top: 17.5px;
  color: #005587;
  padding-left: 0;
  padding-right: 0;
  transform: translateY(-50%) scale(1);
}

fieldset.generic label > *:first-child:placeholder-shown:not(:focus) ~ field-placeholder {
  left: 16px;
  top: 21px;
  top: 17.5px;
  color: #005587;
  padding-left: 0;
  padding-right: 0;
  transform: translateY(-50%) scale(1);
}

fieldset.generic label > *:first-child:-moz-placeholder:not(:focus) ~ field-placeholder:before {
  opacity: 0;
}

fieldset.generic label > *:first-child:placeholder-shown:not(:focus) ~ field-placeholder:before {
  opacity: 0;
}

html[data-browser^=chrome] fieldset.generic label > *:first-child:-webkit-autofill, html[data-browser^=chrome] fieldset.generic label > *:first-child:-webkit-autofill:hover, html[data-browser^=chrome] fieldset.generic label > *:first-child:-webkit-autofill:focus {
  -webkit-text-fill-color: #000;
  -webkit-box-shadow: 0 0 0px 1000px #e5eaef inset;
}

html[data-browser^=chrome] fieldset.generic label > *:first-child:-webkit-autofill ~ field-placeholder, html[data-browser^=chrome] fieldset.generic label > *:first-child:-webkit-autofill:hover ~ field-placeholder, html[data-browser^=chrome] fieldset.generic label > *:first-child:-webkit-autofill:focus ~ field-placeholder {
  opacity: 1;
}

@media  {
  fieldset.generic label > *:first-child:-webkit-autofill, fieldset.generic label > *:first-child:-webkit-autofill:hover, fieldset.generic label > *:first-child:-webkit-autofill:focus {
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #e5eaef inset;
  }
  fieldset.generic label > *:first-child:-webkit-autofill ~ field-placeholder, fieldset.generic label > *:first-child:-webkit-autofill:hover ~ field-placeholder, fieldset.generic label > *:first-child:-webkit-autofill:focus ~ field-placeholder {
    opacity: 1;
  }
}
fieldset.generic.error field-note {
  color: #97080e;
}

fieldset.generic field-note {
  display: block;
  position: relative;
  color: #fff;
  margin-top: 4px;
  padding-left: 16px;
}

fieldset.generic field-note:empty {
  display: none;
}

fieldset.generic field-status-bar {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  pointer-events: none;
  overflow: hidden;
  border-radius: 6px;
}

fieldset.generic field-status-bar:before {
  content: "";
  height: 3px;
  width: 0%;
  position: absolute;
  bottom: 0px;
  left: 0;
  display: block;
  background-color: #488c13;
  transition: width 0.2s 0s ease-in-out;
}

fieldset.generic field-placeholder,
fieldset.generic field-asterisk {
  top: 0;
  display: flex;
  transition: transform 0.2s 0s ease-in-out, background-color 0.2s 0s ease-in-out, padding 0.2s 0s ease-in-out, color 0.2s 0s ease-in-out, opacity 0.2s 0s ease-in-out, left 0.2s 0s ease-in-out, top 0.2s 0s ease-in-out;
}

fieldset.generic field-placeholder {
  font-size: 16px;
  left: 0px;
  pointer-events: none;
  padding: 10px 5px 3px 0px;
  color: #005587;
  transform-origin: 0 50% 0 50%;
  transform: translateY(-100%) scale(0.8);
}

fieldset.generic field-asterisk {
  padding: 0 5px 0 0px;
  font-size: 9.6px;
  color: #005587;
  top: 5px;
  right: 1.5px;
}

fieldset.generic field-asterisk:empty {
  width: 15px;
  height: 15px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' style='fill:primary' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M0,9.4l1.4-4.6c3.2,1.2,5.5,2.2,7,3.1C8,4.1,7.8,1.5,7.8,0h4.4c-0.1,2.1-0.3,4.8-0.7,7.9c2.1-1.1,4.5-2.1,7.1-3.1L20,9.4 c-2.6,0.9-5.1,1.5-7.5,1.8c1.2,1.1,3,3.2,5.2,6.1L14,20c-1.2-1.7-2.6-4-4.1-6.9c-1.5,3-2.8,5.3-3.9,6.9l-3.6-2.7 c2.3-3.1,4-5.1,5-6.1C4.8,10.7,2.3,10.1,0,9.4z'/%3E%3C/svg%3E"), linear-gradient(transparent 50%, #a9a9a9 calc(50% - 0px), #a9a9a9 calc(50% + 0px), transparent calc(50% + 0px));
  background-position: center center;
  background-repeat: no-repeat;
  background-size: calc(100% - 10px) calc(100% - 10px), 100% 100%;
}

fieldset.generic field-asterisk:empty:before {
  display: none;
}

fieldset.generic field-asterisk > svg {
  width: 10px;
  height: 10px;
  transition: fill 0.2s 0s ease-in-out;
  fill: #005587;
}

fieldset.generic field-asterisk:after {
  position: absolute;
  opacity: 0;
  font-family: Arial;
  padding: 5px 5px 1.5px 0px;
  right: calc(100% - 0px);
  top: 50%;
  display: flex;
  transition: opacity 0.2s 0s ease-in-out;
  transform: translateY(-50%);
  text-align: right;
  white-space: nowrap;
  content: attr(data-notice);
}

fieldset.generic field-asterisk:hover:after {
  opacity: 1;
}

fieldset.generic password-toggle {
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}

fieldset.generic password-toggle:empty {
  background-position: center center;
  background-size: center 100%;
  background-repeat: no-repeat;
}

fieldset.generic[data-type=password] label > *:first-child {
  padding-right: 52px;
}

fieldset.generic[data-type=password] label > *:first-child[type=text] ~ password-toggle:empty {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg style='fill:primary' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z'/%3E%3C/svg%3E");
}

fieldset.generic[data-type=password] label > *:first-child[type=password] ~ password-toggle:empty {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg style='fill:primary' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M569.354 231.631C512.97 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-102.556 0-192.091-54.701-240-136 44.157-74.933 123.677-127.27 216.162-135.007C273.958 131.078 280 144.83 280 160c0 30.928-25.072 56-56 56s-56-25.072-56-56l.001-.042C157.794 179.043 152 200.844 152 224c0 75.111 60.889 136 136 136s136-60.889 136-136c0-31.031-10.4-59.629-27.895-82.515C451.704 164.638 498.009 205.106 528 256c-47.908 81.299-137.444 136-240 136z'/%3E%3C/svg%3E");
}

html[data-browser^=ie] fieldset.generic[data-type=password] label > *:first-child {
  padding-right: 16px;
}

html[data-browser^=ie] fieldset.generic[data-type=password] label > *:first-child ~ password-toggle {
  display: none;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  fieldset.generic[data-type=password] label > *:first-child {
    padding-right: 16px;
  }
  fieldset.generic[data-type=password] label > *:first-child ~ password-toggle {
    display: none;
  }
}
fieldset.generic button[type=submit] {
  margin: 32px auto 0 auto !important;
  padding: 8px 16px;
}

fieldset.generic:invalid button[type=submit] {
  pointer-events: none;
  opacity: 0.5;
  border-color: #a9a9a9;
  color: #a9a9a9;
}

fieldset.generic > div {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: calc(100% + 16px);
  left: -8px;
}

fieldset.generic > div input-field {
  flex-grow: 1;
  margin: 8px 8px 16px 8px;
}

@media (min-width: 661px) {
  fieldset.generic > div input-field {
    flex-basis: 40%;
  }
}
fieldset.generic > div input-field field-note.error,
fieldset.generic > div input-field .ff-errors {
  background-color: #97080e;
  color: #fff;
  margin-top: 0;
  padding-top: 5px;
  padding-bottom: 5px;
  font-weight: bold;
  font-size: 14px;
}

fieldset.generic > div .ff-errors {
  padding-left: 16px;
  position: relative;
}

div.freeform-native > h3 {
  background-color: #1b55c0;
  color: #fff;
  padding: 48px 32px;
}

div.freeform-native > p {
  padding: 32px 32px 0 32px;
}

div.freeform-native > form {
  padding: 0 32px 48px 32px;
}

div.freeform-native > form > div.ff-form-errors {
  margin-bottom: 0;
  border-radius: 5px;
}

div.freeform-native > form > div.freeform-row {
  padding: 24px 0 0 0;
}

div.freeform-native > form > div.freeform-row > div.freeform-column {
  position: relative;
  padding: 0;
}

div.freeform-native > form > div.freeform-row > div.freeform-column.freeform-column-content-align-center {
  display: flex;
  justify-content: center;
}

div.freeform-native > form > div.freeform-row > div.freeform-column.freeform-column-content-align-right {
  display: flex;
  justify-content: right;
}

div.freeform-native > form > div.freeform-row > div.freeform-column > .freeform-label {
  position: absolute;
  margin: 0;
  padding: 12px 16px;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  pointer-events: none;
  transition: top 0.1s;
}

div.freeform-native > form > div.freeform-row > div.freeform-column > .freeform-label.freeform-required:before {
  content: "*";
  color: #002a35;
  font-weight: bold;
  position: absolute;
  top: 8px;
  left: 0;
  padding-right: 8px;
  width: 100%;
  text-align: right;
}

div.freeform-native > form > div.freeform-row > div.freeform-column > .freeform-input {
  width: 100%;
  border-radius: 5px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input {
  padding: 0;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input input {
  height: 42px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column input.freeform-input,
div.freeform-native > form > div.freeform-row > div.freeform-column select.freeform-input,
div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input input {
  height: 42px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column ::-moz-placeholder {
  visibility: hidden;
}

div.freeform-native > form > div.freeform-row > div.freeform-column ::placeholder {
  visibility: hidden;
}

div.freeform-native > form > div.freeform-row > div.freeform-column :focus::-moz-placeholder {
  visibility: visible;
}

div.freeform-native > form > div.freeform-row > div.freeform-column :focus::placeholder {
  visibility: visible;
}

div.freeform-native > form > div.freeform-row > div.freeform-column :valid[data-value]:not([data-value=""]) ~ ul.freeform-errors {
  background: #3ea845;
}

div.freeform-native > form > div.freeform-row > div.freeform-column input.freeform-input[type=file] ~ .freeform-label,
div.freeform-native > form > div.freeform-row > div.freeform-column select.freeform-input ~ .freeform-label,
div.freeform-native > form > div.freeform-row > div.freeform-column textarea:focus.freeform-input ~ .freeform-label,
div.freeform-native > form > div.freeform-row > div.freeform-column input:focus ~ .freeform-label,
div.freeform-native > form > div.freeform-row > div.freeform-column [data-value]:not([data-value=""]) ~ .freeform-label {
  padding: 0;
  top: -16px;
  left: 0;
  background: #fff;
  font-size: 12px;
  height: 12px;
  color: #1b55c0;
}

div.freeform-native > form > div.freeform-row > div.freeform-column input.freeform-input[type=file] ~ .freeform-label.freeform-required:before,
div.freeform-native > form > div.freeform-row > div.freeform-column select.freeform-input ~ .freeform-label.freeform-required:before,
div.freeform-native > form > div.freeform-row > div.freeform-column textarea:focus.freeform-input ~ .freeform-label.freeform-required:before,
div.freeform-native > form > div.freeform-row > div.freeform-column input:focus ~ .freeform-label.freeform-required:before,
div.freeform-native > form > div.freeform-row > div.freeform-column [data-value]:not([data-value=""]) ~ .freeform-label.freeform-required:before {
  top: 0;
  font-size: initial;
}

div.freeform-native > form > div.freeform-row > div.freeform-column input.freeform-input[type=file] ~ .freeform-label ~ ul.ff-errors,
div.freeform-native > form > div.freeform-row > div.freeform-column select.freeform-input ~ .freeform-label ~ ul.ff-errors,
div.freeform-native > form > div.freeform-row > div.freeform-column textarea:focus.freeform-input ~ .freeform-label ~ ul.ff-errors,
div.freeform-native > form > div.freeform-row > div.freeform-column input:focus ~ .freeform-label ~ ul.ff-errors,
div.freeform-native > form > div.freeform-row > div.freeform-column [data-value]:not([data-value=""]) ~ .freeform-label ~ ul.ff-errors {
  top: -20px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column > ul.ff-errors {
  position: absolute;
  top: 4px;
  right: 0;
  padding-right: 20px;
  font-size: 12px;
  transition: top 0.1s;
  color: #002a35;
}

div.freeform-native > form > div.freeform-row > div.freeform-column .freeform-input:focus {
  border: 1px solid #828786;
  outline: none;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input thead {
  display: none;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  border: 1px dashed #e5eaef;
  padding: 1em;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr + tr {
  margin-top: 1em;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(1) label:after {
  content: "Part Code";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(2) label:after {
  content: "Quantity";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(3) label:after {
  content: "Manufacturer";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(4) label:after {
  content: "Firmware Version";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(5) label:after {
  content: "Serial Numbers";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(6) label:after {
  content: "Model Number";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(7) label:after {
  content: "Fault Informationt";
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(1),
div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(2),
div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(3) {
  flex-basis: calc(25% - 30px);
  margin-right: 30px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(4) {
  flex-basis: calc(25% - 30px);
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(5),
div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(6) {
  flex-basis: calc(50% - 20px);
  margin-top: 10px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(5) {
  margin-right: 30px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(7) {
  flex-basis: 100%;
  margin-top: 10px;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(7) input {
  height: 70px;
}

@media (max-width: 1000px) {
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(1),
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(2),
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(3),
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(4) {
    flex-basis: calc(50% - 30px);
  }
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(2),
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:nth-of-type(4) {
    margin-right: 0;
  }
}
@media (max-width: 700px) {
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td {
    flex-basis: 100% !important;
    margin-right: 0 !important;
  }
  div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type {
    left: calc(100% - 10px);
  }
}
div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td label:after {
  font-weight: 700;
  margin-bottom: 0.5rem;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  position: relative;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type {
  position: absolute;
  left: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type button {
  border: none;
  text-indent: -9999px;
  width: 20px;
  height: 20px;
  background-color: #1b55c0;
  border-radius: 50%;
  outline: none;
  position: relative;
  transition: background-color ease-in-out 0.2s;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type button:before, div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type button:after {
  position: absolute;
  top: 0;
  text-indent: 0;
  z-index: 1;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type button:before {
  content: "-";
  font-weight: bold;
  color: #fff;
  width: 100%;
  height: 100%;
  line-height: 19px;
  right: 0;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input tbody > tr td:last-of-type button:after {
  content: "Remove";
  border: 1px solid #e5eaef;
  background-color: #fff;
  font-size: 12px;
  text-align: center;
  padding: 0px 5px;
  left: 100%;
  opacity: 0;
  transition: transform ease-in-out 0.2s, opacity ease-in-out 0.2s;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input + button[data-freeform-table-add-row] {
  border: none;
  background-color: #1b55c0;
  margin: 1em auto 0 auto;
  text-align: center;
  color: #fff;
  padding: 5px 10px;
  position: relative;
  display: block;
  transition: background-color ease-in-out 0.2s;
  outline: none;
  cursor: pointer;
}

div.freeform-native > form > div.freeform-row > div.freeform-column table.freeform-input + button[data-freeform-table-add-row]:after {
  content: " Row";
}

div#idle-form {
  display: none;
}

modal-container.idle-modal.open div#idle-form {
  display: block;
}

@media screen and (max-width: 600px), screen and (max-height: 600px) {
  modal-container.idle-modal button.close {
    top: 24px;
    right: 8px;
  }
  modal-container.idle-modal div#idle-form > h3 {
    padding: 32px 16px;
    font-size: 24px;
  }
  modal-container.idle-modal div#idle-form > p {
    padding: 16px 16px 0 16px;
  }
  modal-container.idle-modal div#idle-form > form {
    padding: 0 16px 24px 16px;
  }
  modal-container.idle-modal div#idle-form > form div.freeform-row {
    padding: 16px 0 0 0;
  }
}
@media screen and (max-width: 400px), screen and (max-height: 400px) {
  modal-container.idle-modal button.close {
    top: 8px;
    right: 0;
  }
  modal-container.idle-modal div#idle-form > h3 {
    padding: 16px;
    font-size: 22px;
    line-height: 24px;
  }
  modal-container.idle-modal div#idle-form > p {
    font-size: 14px;
  }
}
form.free-form:invalid button[type=submit] {
  pointer-events: none;
  opacity: 0.5;
  border-color: #a9a9a9;
  color: #a9a9a9;
}

form.special-freeform {
  display: block;
  position: relative;
  background-color: inherit;
  max-width: 1440px;
  width: 100%;
  margin: calc(16px + 64px / 2) auto;
}

form.special-freeform input:not(:required) ~ field-status-bar,
form.special-freeform input:not(:required) ~ sup,
form.special-freeform textarea:not(:required) ~ field-status-bar,
form.special-freeform textarea:not(:required) ~ sup,
form.special-freeform select:not(:required) ~ field-status-bar,
form.special-freeform select:not(:required) ~ sup {
  display: none;
}

form.special-freeform input:not([value=""]):not(:focus) ~ field-status-bar:before,
form.special-freeform textarea:not([value=""]):not(:focus) ~ field-status-bar:before {
  width: 100%;
}

form.special-freeform input:not([value=""]):not(:focus):invalid ~ field-status-bar:before,
form.special-freeform textarea:not([value=""]):not(:focus):invalid ~ field-status-bar:before {
  background-color: var(--error);
}

form.special-freeform select::-ms-expand {
  display: none;
}

form.special-freeform select:invalid ~ field-status-bar:before {
  width: 0%;
}

form.special-freeform select:valid ~ field-status-bar:before {
  width: 100%;
}

form.special-freeform label {
  width: 100%;
  position: relative;
  display: block;
  background-color: inherit;
}

form.special-freeform label field-placeholder,
form.special-freeform label field-status-bar,
form.special-freeform label field-asterisk {
  position: absolute;
}

form.special-freeform label > *:first-child {
  display: block;
  font-size: 16px;
  padding: 8px 16px 8px 16px;
  border: 0px solid #a9a9a9;
  width: 100%;
  min-height: 42px;
  background-color: #e5eaef;
  border-radius: 6px;
  transition: background-color 0.2s 0s ease-in-out, border-color 0.2s 0s ease-in-out, color 0.2s 0s ease-in-out;
}

form.special-freeform label > *:first-child:focus::-webkit-input-placeholder {
  color: transparent;
}

form.special-freeform label > *:first-child::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -webkit-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

form.special-freeform label > *:first-child:focus::-moz-placeholder {
  color: transparent;
}

form.special-freeform label > *:first-child::-moz-placeholder {
  color: rgba(0, 0, 0, 0);
  -moz-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

form.special-freeform label > *:first-child:focus:-moz-placeholder {
  color: transparent;
}

form.special-freeform label > *:first-child:-moz-placeholder {
  color: rgba(0, 0, 0, 0);
  -moz-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

form.special-freeform label > *:first-child:focus:-ms-input-placeholder {
  color: transparent;
}

form.special-freeform label > *:first-child:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0);
  -ms-transition: color 0.2s 0s ease-in-out;
  transition: color 0.2s 0s ease-in-out;
}

form.special-freeform label > *:first-child:not(:required) ~ field-asterisk {
  display: none;
}

form.special-freeform label > *:first-child:valid ~ field-asterisk {
  pointer-events: none;
}

form.special-freeform label > *:first-child:valid ~ field-asterisk:empty {
  opacity: 0;
}

form.special-freeform label > *:first-child:valid ~ field-asterisk > svg {
  fill: #005587;
}

form.special-freeform label > *:first-child:-moz-placeholder-shown:not(:focus) {
  border: 0px solid #a9a9a9;
  background-color: #e5eaef;
  color: #000;
}

form.special-freeform label > *:first-child:-moz-placeholder-shown:not(:focus) ~ field-placeholder {
  left: 16px;
  top: 21px;
  top: 17.5px;
  color: #005587;
  padding-left: 0;
  padding-right: 0;
  transform: translateY(-50%) scale(1);
}

form.special-freeform label > *:first-child:-moz-placeholder-shown:not(:focus) ~ field-placeholder:before {
  opacity: 0;
}

form.special-freeform label > *:first-child:-moz-placeholder:not(:focus) {
  border: 0px solid #a9a9a9;
  background-color: #e5eaef;
  color: #000;
}

form.special-freeform label > *:first-child:placeholder-shown:not(:focus) {
  border: 0px solid #a9a9a9;
  background-color: #e5eaef;
  color: #000;
}

form.special-freeform label > *:first-child:-moz-placeholder:not(:focus) ~ field-placeholder {
  left: 16px;
  top: 21px;
  top: 17.5px;
  color: #005587;
  padding-left: 0;
  padding-right: 0;
  transform: translateY(-50%) scale(1);
}

form.special-freeform label > *:first-child:placeholder-shown:not(:focus) ~ field-placeholder {
  left: 16px;
  top: 21px;
  top: 17.5px;
  color: #005587;
  padding-left: 0;
  padding-right: 0;
  transform: translateY(-50%) scale(1);
}

form.special-freeform label > *:first-child:-moz-placeholder:not(:focus) ~ field-placeholder:before {
  opacity: 0;
}

form.special-freeform label > *:first-child:placeholder-shown:not(:focus) ~ field-placeholder:before {
  opacity: 0;
}

html[data-browser^=chrome] form.special-freeform label > *:first-child:-webkit-autofill, html[data-browser^=chrome] form.special-freeform label > *:first-child:-webkit-autofill:hover, html[data-browser^=chrome] form.special-freeform label > *:first-child:-webkit-autofill:focus {
  -webkit-text-fill-color: #000;
  -webkit-box-shadow: 0 0 0px 1000px #e5eaef inset;
}

html[data-browser^=chrome] form.special-freeform label > *:first-child:-webkit-autofill ~ field-placeholder, html[data-browser^=chrome] form.special-freeform label > *:first-child:-webkit-autofill:hover ~ field-placeholder, html[data-browser^=chrome] form.special-freeform label > *:first-child:-webkit-autofill:focus ~ field-placeholder {
  opacity: 1;
}

@media  {
  form.special-freeform label > *:first-child:-webkit-autofill, form.special-freeform label > *:first-child:-webkit-autofill:hover, form.special-freeform label > *:first-child:-webkit-autofill:focus {
    -webkit-text-fill-color: #000;
    -webkit-box-shadow: 0 0 0px 1000px #e5eaef inset;
  }
  form.special-freeform label > *:first-child:-webkit-autofill ~ field-placeholder, form.special-freeform label > *:first-child:-webkit-autofill:hover ~ field-placeholder, form.special-freeform label > *:first-child:-webkit-autofill:focus ~ field-placeholder {
    opacity: 1;
  }
}
form.special-freeform.error field-note {
  color: #97080e;
}

form.special-freeform field-note {
  display: block;
  position: relative;
  color: #fff;
  margin-top: 4px;
  padding-left: 16px;
}

form.special-freeform field-note:empty {
  display: none;
}

form.special-freeform field-status-bar {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: block;
  pointer-events: none;
  overflow: hidden;
  border-radius: 6px;
}

form.special-freeform field-status-bar:before {
  content: "";
  height: 3px;
  width: 0%;
  position: absolute;
  bottom: 0px;
  left: 0;
  display: block;
  background-color: #488c13;
  transition: width 0.2s 0s ease-in-out;
}

form.special-freeform field-placeholder,
form.special-freeform field-asterisk {
  top: 0;
  display: flex;
  transition: transform 0.2s 0s ease-in-out, background-color 0.2s 0s ease-in-out, padding 0.2s 0s ease-in-out, color 0.2s 0s ease-in-out, opacity 0.2s 0s ease-in-out, left 0.2s 0s ease-in-out, top 0.2s 0s ease-in-out;
}

form.special-freeform field-placeholder {
  font-size: 16px;
  left: 0px;
  pointer-events: none;
  padding: 10px 5px 3px 0px;
  color: #005587;
  transform-origin: 0 50% 0 50%;
  transform: translateY(-100%) scale(0.8);
}

form.special-freeform field-asterisk {
  padding: 0 5px 0 0px;
  font-size: 9.6px;
  color: #005587;
  top: 5px;
  right: 1.5px;
}

form.special-freeform field-asterisk:empty {
  width: 15px;
  height: 15px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg version='1.1' style='fill:primary' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M0,9.4l1.4-4.6c3.2,1.2,5.5,2.2,7,3.1C8,4.1,7.8,1.5,7.8,0h4.4c-0.1,2.1-0.3,4.8-0.7,7.9c2.1-1.1,4.5-2.1,7.1-3.1L20,9.4 c-2.6,0.9-5.1,1.5-7.5,1.8c1.2,1.1,3,3.2,5.2,6.1L14,20c-1.2-1.7-2.6-4-4.1-6.9c-1.5,3-2.8,5.3-3.9,6.9l-3.6-2.7 c2.3-3.1,4-5.1,5-6.1C4.8,10.7,2.3,10.1,0,9.4z'/%3E%3C/svg%3E"), linear-gradient(transparent 50%, #a9a9a9 calc(50% - 0px), #a9a9a9 calc(50% + 0px), transparent calc(50% + 0px));
  background-position: center center;
  background-repeat: no-repeat;
  background-size: calc(100% - 10px) calc(100% - 10px), 100% 100%;
}

form.special-freeform field-asterisk:empty:before {
  display: none;
}

form.special-freeform field-asterisk > svg {
  width: 10px;
  height: 10px;
  transition: fill 0.2s 0s ease-in-out;
  fill: #005587;
}

form.special-freeform field-asterisk:after {
  position: absolute;
  opacity: 0;
  font-family: Arial;
  padding: 5px 5px 1.5px 0px;
  right: calc(100% - 0px);
  top: 50%;
  display: flex;
  transition: opacity 0.2s 0s ease-in-out;
  transform: translateY(-50%);
  text-align: right;
  white-space: nowrap;
  content: attr(data-notice);
}

form.special-freeform field-asterisk:hover:after {
  opacity: 1;
}

form.special-freeform password-toggle {
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
}

form.special-freeform password-toggle:empty {
  background-position: center center;
  background-size: center 100%;
  background-repeat: no-repeat;
}

form.special-freeform[data-type=password] label > *:first-child {
  padding-right: 52px;
}

form.special-freeform[data-type=password] label > *:first-child[type=text] ~ password-toggle:empty {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg style='fill:primary' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z'/%3E%3C/svg%3E");
}

form.special-freeform[data-type=password] label > *:first-child[type=password] ~ password-toggle:empty {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg style='fill:primary' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M569.354 231.631C512.97 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-102.556 0-192.091-54.701-240-136 44.157-74.933 123.677-127.27 216.162-135.007C273.958 131.078 280 144.83 280 160c0 30.928-25.072 56-56 56s-56-25.072-56-56l.001-.042C157.794 179.043 152 200.844 152 224c0 75.111 60.889 136 136 136s136-60.889 136-136c0-31.031-10.4-59.629-27.895-82.515C451.704 164.638 498.009 205.106 528 256c-47.908 81.299-137.444 136-240 136z'/%3E%3C/svg%3E");
}

html[data-browser^=ie] form.special-freeform[data-type=password] label > *:first-child {
  padding-right: 16px;
}

html[data-browser^=ie] form.special-freeform[data-type=password] label > *:first-child ~ password-toggle {
  display: none;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  form.special-freeform[data-type=password] label > *:first-child {
    padding-right: 16px;
  }
  form.special-freeform[data-type=password] label > *:first-child ~ password-toggle {
    display: none;
  }
}
form.special-freeform:invalid button[type=submit] {
  pointer-events: none;
  opacity: 0.5;
  border-color: #a9a9a9;
  color: #a9a9a9;
}

@media (min-width: 768px) {
  form.special-freeform .freeform-row {
    display: flex;
    flex-direction: row;
    gap: 16px;
  }
  form.special-freeform .freeform-row .freeform-column {
    flex-grow: 1;
    min-width: 50%;
  }
  form.special-freeform .freeform-row .freeform-column input,
  form.special-freeform .freeform-row .freeform-column textarea {
    width: 100%;
  }
}
form.special-freeform .radio-list {
  display: flex;
  position: relative;
  margin: 0 auto 0 auto;
  justify-content: center;
}

form.special-freeform .radio-list li + li {
  margin-left: 16px;
}

form.special-freeform .radio-list li input {
  display: none;
}

form.special-freeform .radio-list li input:checked + label:after {
  transform: scale(1);
}

form.special-freeform .radio-list li label {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding-left: 28px;
}

form.special-freeform .radio-list li label:before, form.special-freeform .radio-list li label:after {
  content: "";
  border-radius: 50%;
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 10px);
}

form.special-freeform .radio-list li label:before {
  width: 20px;
  height: 20px;
  border: 1px solid #e5eaef;
}

form.special-freeform .radio-list li label:after {
  width: 14px;
  height: 14px;
  top: calc(50% - 10px + 3px);
  left: 3px;
  background-color: #13ace3;
  transform: scale(0);
  transition: transform 0.2s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

form.special-freeform input-field {
  margin-bottom: 16px;
}

form.special-freeform input-field textarea[id*=note] {
  height: 150px !important;
  padding: 16px !important;
}

form.special-freeform input-field select {
  -webkit-appearance: none;
  -moz-appearance: none;
}

form.special-freeform input-field label textarea,
form.special-freeform input-field label input[type=file] {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

form.special-freeform input-field[data-type=select] svg.icon-arrow-down {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  fill: none;
  stroke-width: 12px;
}

form.special-freeform input-field field-note {
  font-size: 0.75em;
  line-height: 1.2;
}

form.special-freeform input-field field-note.error,
form.special-freeform input-field field-note *.error {
  color: #97080e;
  font-size: inherit;
}

form.special-freeform input-field field-note li {
  list-style-type: circle;
}

@media (max-width: 1472px) {
  form.special-freeform {
    margin-left: 16px;
    margin-right: 16px;
    width: calc(100% - 32px);
  }
}
form.special-freeform fieldset {
  display: flex;
  padding-left: 0;
  padding-right: 0;
  counter-reset: dynamic;
  flex-direction: column;
}

form.special-freeform fieldset button[type=submit] {
  margin: 32px auto 0 auto !important;
  padding: 8px 16px;
}

form.special-freeform fieldset label[for=is-a-hold-needed],
form.special-freeform fieldset label[for=okay-to-partial-ship],
form.special-freeform fieldset label[for=confidence-level] {
  color: #005587;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 8px;
}

form.special-freeform fieldset > div {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 16px;
  position: relative;
  width: calc(100% + 16px);
  left: -8px;
}

form.special-freeform fieldset > div > h3 {
  flex-basis: 100%;
  margin-bottom: 8px;
  padding: 0 8px;
  color: #005587;
}

form.special-freeform fieldset > div > h3 legend {
  margin: 0;
}

form.special-freeform fieldset > div input-field {
  flex-grow: 1;
  margin: 8px 8px 16px 8px;
}

@media (min-width: 661px) {
  form.special-freeform fieldset > div input-field {
    flex-basis: 40%;
  }
}
form.special-freeform fieldset > div input-field field-note.error,
form.special-freeform fieldset > div input-field .ff-errors {
  background-color: #97080e;
  color: #fff;
  margin-top: 0;
  padding-top: 5px;
  padding-bottom: 5px;
  font-weight: bold;
  font-size: 14px;
}

form.special-freeform fieldset > div .ff-errors {
  padding-left: 16px;
  position: relative;
}

@media (min-width: 661px) {
  form.special-freeform fieldset > div.shipping-address-container input-field {
    flex-basis: 30%;
  }
}
form.special-freeform fieldset > div.shipping-address-container input-field[data-type=textarea], form.special-freeform fieldset > div.shipping-address-container input-field:last-of-type {
  flex-basis: 100%;
}

form.special-freeform fieldset > div[data-count="1"] dynamic-field duplicate-nav button.minus {
  display: none;
}

form.special-freeform fieldset > div dynamic-field {
  border: 1px dashed #686e72;
  padding: 16px;
  display: flex;
  position: relative;
  flex-wrap: wrap;
  width: calc(100% - 16px);
  left: 8px;
  margin-bottom: 16px;
  opacity: 1;
  max-height: 3300px;
  counter-increment: dynamic;
  transform: translateY(0px);
  transition: opacity 0.5s 0s ease-in-out, transform 0.5s 0s ease-in-out;
}

form.special-freeform fieldset > div dynamic-field.private {
  display: none;
}

@media (min-width: 841px) {
  form.special-freeform fieldset > div dynamic-field {
    max-height: 230px;
  }
}
@media (min-width: 550px) and (max-width: 840px) {
  form.special-freeform fieldset > div dynamic-field {
    max-height: 280px;
  }
}
form.special-freeform fieldset > div dynamic-field:before {
  content: counter(dynamic);
  position: absolute;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  border: 6px solid #fff;
  align-items: center;
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  background-color: #e5e5e5;
  top: calc(50% - 38px / 2);
  left: -19px;
}

@media (min-width: 841px) {
  form.special-freeform fieldset > div dynamic-field input-field {
    flex-basis: 30%;
  }
}
@media (max-width: 480px) {
  form.special-freeform fieldset > div dynamic-field input-field {
    flex-basis: 100%;
  }
}
form.special-freeform fieldset > div dynamic-field input-field:last-of-type {
  flex-basis: 100%;
}

form.special-freeform fieldset > div dynamic-field.hide, form.special-freeform fieldset > div dynamic-field.delete {
  transform: translateY(-10px);
  opacity: 0;
}

form.special-freeform fieldset > div dynamic-field.delete {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
  transition: opacity 0.5s 0s ease-in-out, transform 0.5s 0s ease-in-out, margin 0.5s 0s ease-in-out, max-height 0.5s 0s ease-in-out, padding 0.5s 0s ease-in-out;
}

form.special-freeform fieldset > div dynamic-field duplicate-nav {
  position: absolute;
  display: flex;
  right: -10px;
  top: 50%;
  padding: 2px 0;
  background-color: #fff;
  transform: translateY(-50%);
  flex-direction: column;
}

form.special-freeform fieldset > div dynamic-field duplicate-nav button {
  border-radius: 50%;
  background-color: #1b55c0;
  display: flex;
  margin: 5px 0;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s 0s ease-in-out;
}

form.special-freeform fieldset > div dynamic-field duplicate-nav button svg {
  stroke: #fff;
  stroke-width: 20px;
  width: 50%;
  height: 50%;
  pointer-events: none;
}

form.special-freeform fieldset > div dynamic-field duplicate-nav button:hover {
  transform: scale(1.2);
  background-color: #154193;
}

form.special-freeform.inventory.hide-anticipated-order-dates dynamic-field input-field.date-picker {
  display: none;
}
/*# sourceMappingURL=maps/global.css.map */