/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */

html {
    font-family: sans-serif;
    line-height: 1.15;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

article,
aside,
footer,
header,
nav,
section {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

figcaption,
figure,
main {
    display: block
}

figure {
    margin: 1em 40px
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

    a:active,
    a:hover {
        outline-width: 0
    }

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: inherit;
    font-weight: bolder
}

code,kbd,samp {
    font-family: monospace, monospace;
    font-size: 1em
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

audio,video {
    display: inline-block
}

    audio:not([controls]) {
        display: none;
        height: 0
    }

img {
    border-style: none
}

svg:not(:root) {
    overflow: hidden
}

button,input,optgroup,select,textarea {
    font-family: sans-serif;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

    [type=button]::-moz-focus-inner,
    [type=reset]::-moz-focus-inner,
    [type=submit]::-moz-focus-inner,
    button::-moz-focus-inner {
        border-style: none;
        padding: 0
    }

    [type=button]:-moz-focusring,
    [type=reset]:-moz-focusring,
    [type=submit]:-moz-focusring,
    button:-moz-focusring {
        outline: 1px dotted ButtonText
    }

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[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-cancel-button,
    [type=search]::-webkit-search-decoration {
        -webkit-appearance: none
    }

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details,menu {
    display: block
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

[hidden],template {
    display: none
}

@font-face {
    font-family: Nunito;
    font-style: normal;
    font-weight: 400;
    src: local("Nunito Regular"), local("Nunito-Regular"), url(../fonts/Nunito-Regular.woff2) format("woff2"), url(https://fonts.gstatic.com/s/nunito/v8/6TbRXKWJjpj6V2v_WyRbMevvDin1pK8aKteLpeZ5c0A.woff2) format("woff2");
    unicode-range: u+00??, u+0131, u+0152-0153, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2212, u+2215
}

@font-face {
    font-family: Industry-Light;
    src: url(../fonts/Industry-Light-webfont.woff2) format("woff2"), url(../fonts/Industry-Light-webfont.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Industry-Medium;
    src: url(../fonts/Industry-Medium-webfont.woff2) format("woff2"), url(../fonts/Industry-Medium-webfont.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: Industry-Demi;
    src: url(../fonts/Industry-Demi-webfont.woff2) format("woff2"), url(../fonts/Industry-Demi-webfont.woff) format("woff");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: 'QTypeSquareProLight';
    src: url('../fonts/QTypeSquarePro-Light.otf') format('opentype');
}

@font-face {
    font-family: 'QTypeSquareProBold';
    src: url('../fonts/QTypeSquarePro-Bold.otf') format('opentype');
}

html {
    font-family: Nunito, Helvetica, sans-serif;
    font-size: 100%;
    line-height: 1.5;
    box-sizing: border-box
}

*,:after,:before {
    box-sizing: inherit
}

body {
    margin: 0;
    height: 100%;
    background: #f6f6f6;
    color: #4a4a4a;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

p {
    font-size: 1rem;
    line-height: 1.5;
    margin: .5em 0
}

li,ol,ul {
    list-style: none;
    padding: 0;
    margin: 0
}

dl {
    margin-bottom: 1em
}

code {
    background: hsla(0, 0%, 60%, .3);
    padding: 0 3px;
    border-radius: 4px
}

img {
    max-width: 100%;
    vertical-align: middle
}

hr {
    display: block;
    margin: 1em auto;
    padding: 0;
    border: 0;
    height: 1px;
    max-width: 4.25em;
    margin: 1rem auto;
    background: radial-gradient(circle farthest-corner at 36% 26%, #f99d1d, #cb3c6d 48%, #782a8f)
}

hr.u-sizeFull {
    max-width: none;
    background: hsla(0, 0%, 60%, .3)
}

figure {
    margin: 0
}

table {
    width: 100%;
    max-width: 100%;
    margin: 0 0 1em;
    border-collapse: collapse
}

.fontFamilyForms,.fontFamilyPrimary {
    font-family: Nunito, Helvetica, sans-serif
}

.fontDisplay-light {
    font-family: Industry-Light, Industry Light, Helvetica, sans-serif
}

.fontDisplay-medium {
    font-family: Industry-Medium, Industry Medium, Helvetica, sans-serif
}

.fontDisplay-demi {
    font-family: Industry-Demi, Industry Demi, Helvetica, sans-serif
}

.maxWidth-viewport {
    max-width: 100vw
}

.maxWidth-readSafe {
    max-width: calc(100vw - 3rem)
}

.Content-maxWidth {
    max-width: 95vw;
    max-width: calc(100vw - 3rem);
    margin-left: auto;
    margin-right: auto
}

@media print {
    @page {
        margin: .5cm
    }

    *,
    :after,
    :before {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a,
    a:visited {
        text-decoration: underline
    }

    blockquote,
    pre {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    img,
    tr {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        page-break-after: avoid
    }

    #epi-quickNavigator {
        display: none !important
    }
}

.slick-slider {
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list, .slick-slider {
    position: relative;
    display: block
}

.slick-list {
    overflow: hidden;
    margin: 0;
    padding: 0;
    max-width: 100vw
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list, .slick-slider .slick-track {
    -webkit-transform: translateZ(0);
    transform: translateZ(0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    vertical-align: middle;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-slide img {
    display: block;
    margin: auto
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-slide {
    outline: none
}

.slick-loading .slick-list {
    background: #fff url(/Assets/Images/ajax-loader.gif) 50% no-repeat
}

.slick-arrow {
    z-index: 20;
    position: absolute;
    display: block;
    height: 2rem;
    width: 2rem;
    margin: -1rem;
    line-height: 0;
    font-size: 0;
    top: 50%;
    padding: 0;
    border: none;
    outline: none;
    cursor: pointer;
    background: transparent url(/Assets/Icons/arrow-gallery.svg) no-repeat 50%;
    color: #000;
    opacity: .75;
    -webkit-font-smoothing: antialiased;
    transition: background-color .25s
}

.slick-arrow:focus, .slick-arrow:hover {
    outline: none;
    color: #000;
    opacity: 1
}

.Modal .slick-arrow {
    margin: -1rem -2rem;
    background-color: hsla(0, 0%, 100%, .5);
    border-radius: 100%;
    opacity: 1
}

html:not(.no-cssmask) .Modal .slick-arrow {
    background-image: none;
    background-color: transparent
}

html:not(.no-cssmask) .Modal .slick-arrow:before {
    content: "";
    font-size: 2rem;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent;
    background-color: rgba(0, 0, 0, .01);
    margin: -1em
}

html:not(.no-cssmask) .Modal .slick-arrow:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: currentColor no-repeat 50%;
    -webkit-mask: url(/Assets/Icons/arrow-gallery.svg) no-repeat center;
    mask: url(/Assets/Icons/arrow-gallery.svg) no-repeat center;
    -webkit-mask-image: url(/Assets/Icons/arrow-gallery.svg);
    mask-image: url(/Assets/Icons/arrow-gallery.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center
}

html:not(.no-cssmask) .Modal .slick-arrow:hover:not(.slick-disabled) {
    background-color: #737373;
    opacity: .75
}

.slick-arrow.slick-disabled {
    background-color: transparent;
    opacity: .25
}

.slick-prev {
    left: 0
}

.slick-prev[dir=rtl] {
    left: auto;
    right: 0
}

.slick-next {
    right: 0;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.slick-next[dir=rtl] {
    left: 0;
    right: auto
}

body:after {
    display: none;
    content: "phone|tablet-portrait|tablet-landscape|desktop|desktop-large"
}

body:before {
    display: none;
    content: "phone"
}

@media only screen and (min-width:37.5em), print {
    body:before {
        content: "tablet-portrait"
    }
}

@media only screen and (min-width:56.25em), print {
    body:before {
        content: "tablet-landscape"
    }
}

@media only screen and (min-width:75em) {
    body:before {
        content: "desktop"
    }
}

@media only screen and (min-width:112.5em) {
    body:before {
        content: "desktop-large"
    }
}

.Heading, .Heading--h1, .Heading--h2, .Heading--h3, .Heading--h4, .Heading--h5,
.Heading--h6, .Ironroll-textframe > strong, .Legend, .pagination,
.Quote-source, .Quote-text, .textframe-gradient > strong,
.textframe-right > strong, .textframe > strong, h1, h2,
h3, h4, h5, h6, legend {
    display: block;
    font-weight: 400;
    line-height: 1.2;
    margin: .5em auto
}

.Heading--h1 sup,
.Heading--h2 sup, .Heading--h3 sup,
.Heading--h4 sup, .Heading--h5 sup,
.Heading--h6 sup, .Heading sup,
.Legend sup,
.pagination sup, .Quote-source sup,
.Quote-text sup, .textframe-gradient > strong sup,
.textframe-right > strong sup, .textframe > strong sup,
h1 sup, h2 sup, h3 sup, h4 sup, h5 sup, h6 sup, legend sup {
    top: -.25em;
    vertical-align: super;
    top: .25em
}

.Heading--inline {
    display: inline-block;
    margin-right: .5rem
}

.Heading--h1,
.Heading--h2,
.Heading--h3,
.heading-large,
.Quote-text,
h1,
h2,
h3 {
    font-family: Industry-Light, Industry Light, Helvetica, sans-serif
}

.Caption, 
.FilterSection-title, .Heading--h5, .Heading--h6,
.heading-small, .Input-labeled label, .Ironroll-textframe > strong,
.Legend, .Link--download, .pagination,
.Price-caption, .Product-caption, .textframe-gradient > strong,
.textframe-right > strong, .textframe > strong, h5,
h6, legend {
    font-family: Industry-Demi, Industry Demi, Helvetica, sans-serif;
    text-transform: uppercase
}

.Heading--h1,
h1 {
    line-height: 1;
    margin-bottom: .5rem;
    margin-bottom: .25em;
    font-size: 2.8125rem
}

@media screen and (min-width:37.5rem) {
    .Heading--h1,
    h1 {
        font-size: calc(2.8125rem + 15 * (100vw - 37.5rem) / 300)
    }
}

@media screen and (min-width:56.25rem) {
    .Heading--h1,
    h1 {
        font-size: 3.75rem
    }
}

.Heading--h2,
h2 {
    font-size: 1.875rem
}

@media screen and (min-width:37.5rem) {
    .Heading--h2,
    h2 {
        font-size: calc(1.875rem + 15 * (100vw - 37.5rem) / 300)
    }
}

@media screen and (min-width:56.25rem) {
    .Heading--h2,
    h2 {
        font-size: 2.8125rem
    }
}

.Heading--h3, .Quote-text,
h3 {
    font-size: 1.25rem
}

@media screen and (min-width:37.5rem) {
    .Heading--h3,
    .Quote-text,
    h3 {
        font-size: calc(1.25rem + 10 * (100vw - 37.5rem) / 300)
    }
}

@media screen and (min-width:56.25rem) {
    .Heading--h3,
    .Quote-text,
    h3 {
        font-size: 1.875rem
    }
}

.Heading--h4, .Quote-source,
h4 {
    font-family: Industry-Medium, Industry Medium, Helvetica, sans-serif;
    font-size: 1.125rem
}

@media screen and (min-width:37.5rem) {
    .Heading--h4,
    .Quote-source,
    h4 {
        font-size: calc(1.125rem + 2 * (100vw - 37.5rem) / 300)
    }
}

@media screen and (min-width:56.25rem) {
    .Heading--h4,
    .Quote-source,
    h4 {
        font-size: 1.25rem
    }
}

.Heading--h5,
h5 {
    font-size: .875rem;
    letter-spacing: 1.8px
}

@media screen and (min-width:37.5rem) {
    .Heading--h5,
    h5 {
        font-size: calc(.875rem + 4 * (100vw - 37.5rem) / 300)
    }
}

@media screen and (min-width:56.25rem) {
    .Heading--h5,
    h5 {
        font-size: 1.125rem
    }
}

.Heading--h6,
h6 {
    font-size: .875rem;
    letter-spacing: 2px
}

.MainNav-text {
    font-family: Industry-Demi, Industry Demi, Helvetica, sans-serif;
    text-transform: uppercase;
    font-size: .875rem;
    line-height: 1
}

.MainNav-letterSpacing {
    letter-spacing: 1px
}

.Body-text, .subNav--search, .subNav-list {
    font-size: .875rem;
    font-family: Nunito, Helvetica, sans-serif;
    text-transform: none;
    letter-spacing: 0
}

.Caption, .Input-labeled label, .Price-caption, .Product-caption {
    font-size: .75rem;
    letter-spacing: 1px
}

.backToTop .Sticky-element.is-sticky {
    top: auto;
    right: 0;
    bottom: 0;
    z-index: 19;
    opacity: 0;
    transition: all .75s
}

.backToTop .Sticky-element.is-sticky.visible {
    opacity: 1
}

.backToTop .Sticky-element.is-sticky.hide {
    bottom: 0 !important;
    opacity: 0 !important
}

.Link--toTop {
    display: block;
    width: 2.5rem;
    height: 2rem;
    text-indent: -9999rem;
    background-color: #000
}

@media only screen and (min-width:75em) {
    .Link--toTop {
        width: 4.375rem;
        height: 3rem
    }
}

.Link--toTop:after {
    content: "";
    position: relative;
    display: inline-block;
    height: 1.5rem;
    width: 1.5rem;
    top: .35rem;
    right: -.25rem;
    background: transparent url(/Assets/Icons/arrow-gallery.svg) no-repeat 50%;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    position: absolute;
    -webkit-transform: rotate(90deg) translate(-50%, -50%);
    transform: rotate(90deg) translate(-50%, -50%);
    top: 50%;
    right: 50%;
    -webkit-mask: url(/Assets/Icons/arrow-gallery.svg) no-repeat center;
    mask: url(/Assets/Icons/arrow-gallery.svg);
    background: #fff
}

blockquote {
    quotes: "\201C" "\201D" "\2018" "\2019";
    position: relative;
    margin: .5em auto
}

blockquote:before {
    content: open-quote;
    position: relative;
    display: block;
    font-size: 5em;
    font-weight: 400;
    line-height: 0;
    opacity: .15
}

blockquote:after {
    content: "\201C";
    content: close-quote
}

.Button, .Button--outline, .Button--small, .Button--white, button, input[type=submit] {
    position: relative;
    display: inline-block;
    margin: .5rem auto;
    padding: .5rem 1.5em;
    font: .875rem/1.375rem Industry-Demi, Industry Demi, Helvetica, sans-serif;
    line-height: 1.5rem;
    max-height: 2.5rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    white-space: nowrap;
    word-break: keep-all;
    text-align: center;
    vertical-align: middle;
    text-shadow: none !important;
    border: 1px solid transparent;
    border-radius: 0;
    background-color: #5ce0f2;
    background-position: right .5em top 50%;
    background-repeat: no-repeat;
    background-size: 1.5em;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    transition: all .25s 0s
}

@media only screen and (max-width:37.4375em) {
    .Button,
    .Button--outline,
    .Button--small,
    .Button--white,
    button,
    input[type=submit] {
        padding-left: 1em;
        padding-right: 1em;
        font-size: .75rem;
        letter-spacing: 1px
    }
}

.Button--outline:active,
.Button--outline:focus,
.Button--outline:hover,
.Button--remove-large:active,
.Button--remove-large:focus,
.Button--remove-large:hover,
.Button--remove:active,
.Button--remove:focus,
.Button--remove:hover,
.Button--small:active,
.Button--small:focus,
.Button--small:hover,
.Button-active,
.Button-focus,
.Button-hover,
.Button-x--black:active,
.Button-x--black:focus,
.Button-x--black:hover,
.Button:active,
.Button:focus,
.Button:hover,
.Modal-close:active,
.Modal-close:focus,
.Modal-close:hover {
    text-decoration: none;
    border-color: currentColor;
    background-color: #5ce0f2;
    color: initial;
    box-shadow: none
}

.Button--outline:focus,
.Button--remove-large:focus,
.Button--remove:focus,
.Button--small:focus,
.Button-focus,
.Button-x--black:focus,
.Button:focus,
.Modal-close:focus {
    outline: none;
    box-shadow: 0 0 3px rgba(0, 0, 0, .4)
}

.Button--outline:disabled,
.Button--outline[disabled],
.Button--remove-large:disabled,
.Button--remove-large[disabled],
.Button--remove:disabled,
.Button--remove[disabled],
.Button--small:disabled,
.Button--small[disabled],
.Button-disabled,
.Button-x--black:disabled,
.Button-x--black[disabled],
.Button:disabled,
.Button[disabled],
.Modal-close:disabled,
.Modal-close[disabled] {
    background-color: #d2cfcd !important;
    color: rgba(51, 51, 51, .5) !important;
    pointer-events: none !important;
    cursor: none !important;
    cursor: default !important;
    outline: none !important;
    box-shadow: none !important
}

.Button--small,
.Button-small {
    padding-left: 1em;
    padding-right: 1em;
    font-size: .75rem;
    letter-spacing: 1px
}

.Button--outline {
    background-color: #fff;
    border-color: currentColor
}

.Button--white {
    background-color: transparent;
    border-color: currentColor;
    color: #fff
}

.Button--white:hover {
    background-color: #000;
    color: #fff
}

.Button--full {
    width: 100%
}

.Button--remove,
.Button--remove-large,
.Button-x--black,
.Modal-close {
    position: relative;
    display: inline-block;
    margin: .5rem auto;
    padding: .5rem 1.5em;
    font: .875rem/1.375rem Industry-Demi, Industry Demi, Helvetica, sans-serif;
    line-height: 1.5rem;
    max-height: 2.5rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    white-space: nowrap;
    word-break: keep-all;
    text-align: center;
    vertical-align: middle;
    text-shadow: none !important;
    border: 1px solid transparent;
    border-radius: 0;
    background-color: #5ce0f2;
    background-position: right .5em top 50%;
    background-repeat: no-repeat;
    background-size: 1.5em;
    color: #000;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
    transition: all .25s 0s;
    height: 1em;
    width: 1em;
    font-size: 1.5rem;
    padding: 0 !important;
    text-decoration: none !important;
    text-indent: -999em;
    overflow: hidden;
    border-radius: 50%;
    background-color: #000;
    color: #fff
}

@media only screen and (max-width:37.4375em) {
    .Button--remove,
    .Button--remove-large,
    .Button-x--black,
    .Modal-close {
        padding-left: 1em;
        padding-right: 1em;
        font-size: .75rem;
        letter-spacing: 1px
    }
}

.Button--remove-large:hover,
.Button--remove:hover,
.Button-x--black:hover,
.Modal-close:hover {
    text-decoration: none;
    border-color: currentColor;
    background-color: #5ce0f2;
    color: initial;
    box-shadow: none
}

.Button--remove-large:after,
.Button--remove-large:before,
.Button--remove:after,
.Button--remove:before,
.Button-x--black:after,
.Button-x--black:before,
.Modal-close:after,
.Modal-close:before {
    content: "";
    border-top: 2px solid;
    width: .425em;
    height: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.Button--remove-large:after,
.Button--remove:after,
.Button-x--black:after,
.Modal-close:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

@media only screen and (max-width:37.4375em) {
    .Button--remove,
    .Button--remove-large,
    .Button-x--black,
    .Modal-close {
        padding: 0;
        font-size: 1.5rem
    }
}

.Button--remove,
.Button--remove-large,
.Modal-close {
    position: absolute;
    right: 0;
    top: 0;
    margin: -.5rem;
    z-index: 50
}

.Button--remove-large,
.Modal-close {
    font-size: 1.75rem
}

.Button--invisible {
    background-color: transparent !important;
    border-color: transparent !important;
    pointer-events: none
}

.Button--search {
    position: absolute;
    right: 0;
    padding-left: 0;
    padding-right: 0;
    width: 42px
}

.cartCount {
    display: inline-block;
    font-family: Nunito, Helvetica, sans-serif;
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: 0;
    -webkit-font-smoothing: none;
    -webkit-font-smoothing: subpixel-antialiased;
    position: absolute;
    top: 4px;
    right: 3px;
    width: 1.175rem;
    height: 1.175rem;
    line-height: 1.1875rem;
    text-align: center;
    border-radius: 50%;
    background-color: #000;
    color: #fff
}

@media only screen and (min-width:75em) {
    .cartCount {
        top: 2px;
        right: -1px
    }
}

.checkbox-group {
    display: table !important
}

.Checkbox,
.Radio {
    position: relative;
    display: inline-block;
    margin: .5rem 0
}

.Checkbox-input,
.Radio-input {
    margin: 0;
    position: absolute;
    line-height: 1.125rem;
    height: 1.125rem;
    width: 1.125rem;
    vertical-align: middle;
    background: transparent;
    color: transparent;
    outline: none
}

    .Checkbox-input,
    .Checkbox-input:disabled,
    .Radio-input,
    .Radio-input:disabled {
        opacity: 0
    }

.Checkbox-label {
    padding-left: 1.49999625rem;
    line-height: 1.125rem;
    font-size: .875rem;
    display: inline-block;
    position: relative;
    cursor: pointer
}

.Checkbox-input:disabled ~ .Checkbox-label {
    opacity: .5;
    cursor: not-allowed
}

.Checkbox-label:after,
.Checkbox-label:before {
    border-radius: 0
}

.Checkbox-label:after {
    border: 1px solid rgba(51, 51, 51, .5)
}

.Checkbox-input:checked ~ .Checkbox-label:after {
    background-color: currentColor;
    box-shadow: inset 0 0 0 .25rem #fff
}

.Checkbox-input:focus ~ .Checkbox-label:after {
    border-color: currentColor
}

.Checkbox-label:after,
.Checkbox-label:before,
.checkbox_label_before,
.Radio-label:after,
.Radio-label:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 1.125rem;
    width: 1.125rem;
    background: #fff no-repeat 50%;
    background-clip: content-box;
    color: #000;
    transition: all .25s 0s
}

.Fieldset,
fieldset {
    border: 0;
    padding: 0;
    margin: 0
}

.Legend,
legend {
    font-size: .875rem;
    letter-spacing: 2px;
    margin-left: 0
}

figure {
    margin: 2em auto
}

figcaption {
    font-size: .75rem
}

.Hamburger {
    display: inline-block;
    border: 0
}

    .Hamburger span {
        position: relative;
        display: block;
        margin: auto;
        height: 0;
        width: 24px;
        color: #000;
        border-top: 1px solid;
        transition: all .25s
    }

        .Hamburger span:after,
        .Hamburger span:before {
            content: "";
            width: 100%;
            display: block;
            position: absolute;
            margin-top: -1px;
            border-top: 1px solid;
            -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
            transition: all .25s
        }

        .Hamburger span:before {
            top: 7px
        }

        .Hamburger span:after {
            top: -7px
        }

.Hamburger-x span {
    border-color: transparent
}

    .Hamburger-x span:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 0
    }

    .Hamburger-x span:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 0
    }

.icon-bow {
    width: 566px;
    height: 79px;
    margin: auto;
    margin-left: 0;
    max-width: 100%
}

.icon-doc {
    width: 32px !important;
    height: 32px !important;
    margin: 4px auto auto
}

.icon-cart {
    width: 22px;
    height: 20px;
    margin: auto
}

.icon-bell {
    width: 21px;
    height: 20px;
    margin: auto;
}

.icon-search {
    width: 20px;
    height: 20px;
    margin: auto
}

button .icon-search {
    margin: 0 -2px
}

.icon-user {
    width: 21px;
    height: 22px;
    margin: auto
}

.Header svg.icon-globe {
    width: 21px;
    height: 22px;
    margin: auto;
    stroke: none
}
.Header svg.icon-globe * {
    stroke: none
}

.icon-facebook {
    width: 10px;
    height: 20px;
    margin: auto
}

.icon-google {
    width: 17px;
    height: 17px;
    margin: auto
}

.icon-instagram {
    width: 20px;
    height: 20px;
    margin: auto
}

.icon-linkedin {
    width: 18px;
    height: 18px;
    margin: auto
}

.icon-twitter {
    width: 19px;
    height: 16px;
    margin: auto
}

.icon-youtube {
    width: 20px;
    height: 20px;
    margin: auto
}

.icon-printer {
    width: 18px;
    height: 16px;
    margin: auto
}

.Input,
.Select,
.Select-list,
.Select-multiple,
input {
    position: relative;
    display: inline-block;
    padding: .5rem 1em;
    margin: .5rem auto;
    font: .875rem/1.375rem Nunito, Helvetica, sans-serif;
    text-decoration: none;
    white-space: normal;
    text-align: left;
    vertical-align: middle;
    cursor: pointer;
    text-shadow: none !important;
    border: 1px solid #e9e9e9;
    border-radius: 0;
    background-color: #fff;
    background-position: right .5em top 50%;
    background-repeat: no-repeat;
    background-size: 1.5em;
    color: #333;
    transition: all .25s 0s
}

.Input-tap,
button,
input,
label,
select {
    -webkit-tap-highlight-color: rgba(92, 224, 242, .5);
    -webkit-text-emphasis-color: rgba(92, 224, 242, .5)
}

    .Checkbox-input:focus ~ .Checkbox-label:before,
    .Checkbox-input:hover ~ .Checkbox-label:before,
    .Input-focus,
    .Input-hover,
    .Radio-input:focus ~ .Radio-label:before,
    .Radio-input:hover ~ .Radio-label:before,
    .Select-input:hover,
    input:focus,
    input:hover {
        border-color: transparent;
        box-shadow: 0 0 3px rgba(0, 0, 0, .4)
    }

    .Input-focus,
    input:focus {
        outline: none;
        border-color: currentColor
    }

    .Input-disabled,
    .Select-input:disabled,
    .Select-list.disabled,
    .Select-list:disabled,
    .Select-multiple.disabled,
    .Select-multiple:disabled,
    .Select.disabled,
    .Select:disabled,
    input:disabled {
        box-shadow: none;
        /*opacity: .5;*/
        pointer-events: none;
        cursor: none;
        cursor: default
    }

    input:placeholder {
        color: #888
    }

    input::-webkit-clear-button {
        display: none
    }

    input::-webkit-datetime-edit,
    input::-webkit-datetime-edit-fields-wrapper {
        margin: 0;
        padding: 0
    }

    input::-webkit-datetime-edit-text {
        margin: 0;
        padding: 0
    }

    input::-webkit-calendar-picker-indicator {
        margin: 0 -.5em 0 .75em
    }

    input::-webkit-inner-spin-button,
    input::-webkit-outer-spin-button {
        margin: 0 -.5em 0 .25em;
        padding: 0
    }

.Input-labeled {
    position: relative;
    margin: .25rem 0
}

    .Input-labeled label + input {
        margin-top: 2px
    }

label {
    display: inline-block
}

.phLabel {
    position: relative;
    font-size: .875rem;
    line-height: 1.57142857;
    color: #888
}

    .phLabel span {
        display: block;
        width: 100%;
        font-size: inherit;
        line-height: inherit;
        text-align: inherit;
        padding: .5rem 1em;
        border: 1px solid transparent;
        white-space: nowrap;
        position: absolute;
        z-index: 1;
        bottom: 0;
        color: inherit;
        transition: all .25s
    }

    .phLabel.required span:after {
        content: "*";
        font-size: 1.15em;
        line-height: 1;
        font-style: normal;
        color: #5ce0f2
    }

    .phLabel.has-value,
    .phLabel.is-focused {
        color: #4a4a4a
    }

        .phLabel.has-value span,
        .phLabel.is-focused span {
            bottom: 1.875rem
        }

.phLabel-textarea span {
    top: 0
}

.phLabel-textarea.has-value span,
.phLabel-textarea.is-focused span {
    top: -1.875rem
}

.phLabel.is-blurred {
    color: #888
}

.phLabel input,
.phLabel textarea {
    width: 100%;
    font-size: inherit;
    text-align: inherit
}

.Form-question .phLabel {
    width: auto;
    max-width: 100%;
    text-transform: lowercase;
    font-weight: 700;
    color: #000
}

    .Form-question .phLabel span {
        padding-left: .25rem;
        padding-right: .25rem
    }

    .Form-question .phLabel.is-focused span {
        opacity: .5;
        font-size: 1rem
    }

@media only screen and (max-width:37.4375em) {
    .Form-question .phLabel.is-focused span {
        bottom: 0
    }
}

.Form-question .phLabel.has-value span {
    opacity: 0
}

.Form-question--large .phLabel {
    line-height: 1.5
}

.Lead {
    font-size: 1.25rem
}

a {
    color: #6f6f6f
}

    a,
    a:hover {
        text-decoration: underline
    }

        a:not([href]),
        a:not([href]):hover {
            text-decoration: none
        }

        a:disabled {
            pointer-events: none;
            cursor: none;
            cursor: default
        }

.Link--url,
.SearchResults .SearchResult-title a {
    text-decoration: none !important;
    background: linear-gradient(0deg, #000 0, transparent 1px);
    background-position: center bottom 2px;
    transition: all .25s
}

    .Link--url:hover,
    .SearchResults .SearchResult-title a:hover {
        background-position: bottom
    }

.Link,
.Link--back,
p.Link--back > a,
p.Link > a {
    display: inline-block;
    font-size: .875rem;
    line-height: 1.7;
    text-decoration: none !important;
    background: radial-gradient(circle farthest-corner at 36% 26%, #f99d1d, #cb3c6d 48%, #782a8f) no-repeat bottom;
    background-size: 100% 1px;
    color: #6f6f6f;
    transition: all .25s;
    cursor: pointer;
    position: relative
}

    .Link--back:after,
    .Link:after {
        content: "\0020\00BB";
        position: relative
    }

    .Link--back:hover,
    .Link:hover {
        background-position: center bottom 2px
    }

    .Link--back:before {
        content: "\00AB";
        position: relative;
        margin-right: .25rem
    }

    .Link--back:after {
        display: none
    }

p.Link--back > a,
p.Link > a {
    text-decoration: none !important;
    background: none
}

.Link--download {
    font-size: .75rem;
    letter-spacing: 1px;
    position: relative
}

    .Link--download:after {
        content: "\0020\00BB";
        position: relative
    }

ul.u-textCenter {
    list-style: none;
    padding-left: 0
}

ul.u-inlineBlock li,
ul.u-inline li {
    display: inline-block
}

dl {
    margin: 0 0 .25rem;
    display: table;
    width: 100%;
    background: #f6f6f6
}

dd,
dt {
    display: block;
    margin: 0;
    padding: .6rem 1rem;
    vertical-align: middle
}

@media only screen and (min-width:37.5em), print {
    dd,
    dt {
        display: table-cell
    }
}

@media only screen and (max-width:37.4375em) {
    dt {
        font-size: .875rem
    }
}

@media only screen and (max-width:37.4375em) {
    dd {
        padding-top: 0
    }
}

@media only screen and (min-width:37.5em), print {
    dd {
        text-align: right
    }
}

dl.Spec-list dd,
dl.Spec-list dt {
    font-size: .875rem
}

dl.Spec-list dt {
    width: 30%;
    font-weight: 700
}

.Loading {
    display: inline-block;
    padding: 1em;
    text-align: center;
    vertical-align: middle
}

.Loading-input {
    background-color: #fff !important;
    background-image: url(/Assets/Images/ajax-loader.gif) !important;
    background-repeat: no-repeat;
    background-position: right .5em top 50%
}

.Loadable-section:after,
.Loading--section:after,
.Loading--spinning .Loading-icon,
.Loading-section--after:after,
.Loading-spinner {
    display: inline-block;
    height: 2em;
    width: 2em;
    border: .25em solid #444;
    border-right-color: transparent;
    border-radius: 50%;
    -webkit-animation: b 1s infinite linear;
    animation: b 1s infinite linear
}

.Loadable-section:before,
.Loading--section:before,
.Loading-fill,
.Loading-section--after:before {
    z-index: 99;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0;
    background: hsla(0, 0%, 96%, .8);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.Loadable-section,
.Loading--section,
.Loading-section--after {
    position: relative
}

    .Loadable-section:before,
    .Loading--section:before,
    .Loading-section--after:before {
        content: ""
    }

    .Loadable-section:after,
    .Loading--section:after,
    .Loading-section--after:after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 99;
        margin: -1em
    }

    .Loading-section--after:before {
        display: none
    }

    .Loading-section--after:after {
        opacity: .5;
        top: auto;
        bottom: 0;
        margin-bottom: 2em;
        height: 1em;
        width: 1em;
        border-width: .125em
    }

    .Loadable-section:before {
        display: none
    }

    .Loadable-section:after {
        opacity: 0;
        top: auto;
        bottom: -2em;
        transition: all .5s;
        -webkit-animation: none;
        animation: none
    }

.Loadable-section--after:after {
    opacity: .75;
    bottom: 2em;
    background: hsla(0, 0%, 100%, .5);
    box-shadow: 0 0 20px 5px hsla(0, 0%, 100%, .5);
    -webkit-animation: b 1s infinite linear;
    animation: b 1s infinite linear
}

.Loading--compact {
    padding: 0
}

.Loading--xsmall {
    font-size: .5rem
}

.Loading--small {
    font-size: .75rem
}

.Loading--large {
    font-size: 1.25rem
}

.Loading--full {
    width: 100%
}

.Loading-text {
    display: block;
    font-size: .875rem;
    margin-top: .66666667em;
    color: #aaa
}

.Logo {
    max-width: 200px;
    max-height: 32px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
    font-family: "object-fit: contain; object-position: center";
    display: block;
    margin: auto;
    margin-left: 0;
    color: #fff;
    fill: #000
}

@media only screen and (min-width:56.25em), print {
    .Logo {
        min-width: 200px;
        min-height: 32px;
        max-width: 130px;
        max-height: 45px
    }
}

.MobileNavbar-listItem--logo .Nav-link,
.MobileNavbar-listItem .Nav-link,
.MobileNavbar .Hamburger,
.Nav-button {
    position: relative;
    display: block;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    height: 3.25rem;
    line-height: 3.25rem;
    min-width: 3.25rem;
    padding: 0 .75rem;
    cursor: pointer
}

    .Nav-button:hover {
        text-decoration: none
    }

.MainNav a,
.Nav-link,
.TopNav a {
    display: block;
    padding: 0 1em;
    letter-spacing: 1px;
    text-decoration: none;
    color: rgba(47,47,47,.6);
    cursor: pointer
}

    .Nav-link:hover {
        text-decoration: none !important
    }

@media only screen and (min-width:56.25em), print {
    .MainNav a,
    .Nav-link,
    .TopNav a {
        padding: 0 .75rem
    }
}

.Header .Nav-link:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 999;
    height: 1.25rem;
    bottom: -1.25rem;
    width: 100%;
    left: 0;
    cursor: default
}

.Nav-checkbox:checked ~ .Nav-link:after {
    margin-top: 0;
    color: #000;
    outline: 0 solid transparent
}

@media only screen and (max-width:56.1875em) {
    .Nav-checkbox:checked ~ .Nav-link {
        border-bottom: 1px solid #eee
    }
}

.Nav-checkbox {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    opacity: .25;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.SkipNav {
    display: none !important
}

@media only screen and (min-width:37.5em), print {
    .SkipNav {
        display: block !important;
        position: absolute;
        left: 50%;
        top: .75em;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        color: hsla(0, 0%, 100%, .01) !important;
        transition: none !important
    }

        .SkipNav:active,
        .SkipNav:focus {
            color: #00f !important;
            text-decoration: underline
        }
}

.Page-title + .Preamble {
    margin-top: -1.25rem;
    margin-bottom: 1.5rem
}

.Page-container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 90rem
}

.Form,
.Hero-content,
.HeroBlock .Hero-cta,
.Page-content-container,
.Teaser-content-container {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 73.625rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

    .Page-content-container:after {
        content: "";
        display: table;
        clear: both
    }

.Price {
    margin: 1.5rem auto;
    line-height: 1.25
}

.Price-caption {
    display: block
}

.Price-value {
    font-weight: 400
}

.Price .Price-value {
    font-size: 1.625rem
}

.Price-value--old {
    opacity: .5;
    text-decoration: line-through;
    white-space: nowrap
}

    .Price-value--old:after,
    .Price-value--old:before {
        content: "";
        display: inline-block
    }

.Price-value--sale {
    color: #d0021b
}

    .Price-value--sale.Price-value {
        margin-left: .25em
    }

.radio-group {
    display: table !important
}

.Radio-label {
    padding-left: 1.49999625rem;
    line-height: 1.125rem;
    font-size: .875rem;
    display: inline-block;
    position: relative;
    cursor: pointer
}

.Radio-input:disabled ~ .Radio-label {
    opacity: .5;
    cursor: not-allowed
}

.Radio-label:after,
.Radio-label:before {
    border-radius: 100%
}

.Radio-label:after {
    border: 1px solid rgba(51, 51, 51, .5)
}

.Radio-input:checked ~ .Radio-label:after {
    background-color: currentColor;
    box-shadow: inset 0 0 0 .25rem #fff
}

.Radio-input:focus ~ .Radio-label:after {
    border-color: currentColor
}

textarea {
    position: relative;
    display: inline-block;
    padding: .5rem 1em;
    margin: .5rem auto;
    font: .875rem/1.375rem Nunito, Helvetica, sans-serif;
    text-decoration: none;
    white-space: normal;
    text-align: left;
    vertical-align: middle;
    cursor: pointer;
    text-shadow: none !important;
    border: 1px solid #e9e9e9;
    border-radius: 0;
    background-color: #fff;
    background-position: right .5em top 50%;
    background-repeat: no-repeat;
    background-size: 1.5em;
    color: #333;
    transition: all .25s 0s;
    height: 5.8em;
    resize: vertical
}

.Search-form .Autocomplete {
    z-index: 20;
    position: absolute;
    left: 1px;
    right: 1px;
    text-align: left;
    padding: 0 .75rem;
    margin-top: -.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
    background: #fff
}

.Autocomplete .Product-teaser {
    background: transparent
}

.Autocomplete .Product-name:after {
    content: "\00BB";
    position: relative;
    margin-left: .25rem
}

.Block-header {
    display: inline-block;
    padding: 0 .75em 0 0
}

.Article-img img,
.Block-img,
.Hero-img img,
.SpineTeaser-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    font-family: "object-fit: cover; object-position: center"
}

.CaptionBlock {
    position: relative;
    max-width: 50rem;
    margin: 1.5rem auto;
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .CaptionBlock {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.CaptionBlock:before {
    content: "";
    display: block;
    margin: 0 auto 1.25em;
    width: 69px;
    height: 1px;
    background: radial-gradient(circle farthest-corner at 36% 26%, #f99d1d, #cb3c6d 48%, #782a8f)
}

.toggler--closed {
    pointer-events: none;
    content: "+";
    content: "\002B";
    font-family: Nunito, Helvetica, sans-serif;
    font-size: 1.75rem;
    line-height: 2.45rem;
    position: absolute;
    right: .35em;
    top: 0;
    color: #000
}

.toggler--open {
    content: "–";
    content: "\2212"
}

.Swatch_color {
    width: 75px;
    height: 75px;
    margin: 0 0 .5rem;
    border: 0;
    outline: 0;
    text-align: center;
    box-shadow: inset 0 0 0 -1px currentColor;
    background-color: currentColor;
    position: relative
}

@media (min-width:1300px) {
    .Swatch_color {
        width: 125px;
        height: 125px
    }
}

.Swatch__name {
    font-weight: 700
}

[class*=Color__value] {
    font-family: monospace, Helvetica, Arial, sans-serif;
    font-size: fontSize(13);
    color: #888
}

.Columns--4col {
    display: block !important
}

    .Columns--4col > * {
        -webkit-column-break-inside: avoid;
        break-inside: avoid;
        display: table;
        width: auto !important;
        white-space: normal;
        margin-bottom: 0
    }

@media only screen and (min-width:25em), print {
    .Columns--4col {
        -webkit-column-count: 2;
        column-count: 2;
        -webkit-column-gap: .25rem;
        column-gap: .25rem;
        padding-left: .125rem
    }
}

@media only screen and (min-width:37.5em), print {
    .Columns--4col {
        -webkit-column-count: 3;
        column-count: 3;
        -webkit-column-gap: 1.125rem;
        column-gap: 1.125rem;
        padding-left: 1.5rem
    }
}

@media only screen and (min-width:56.25em), print {
    .Columns--4col {
        -webkit-column-count: 4;
        column-count: 4
    }
}

@media only screen and (max-width:32.8125em) {
    .subNav .Columns--4col {
        -webkit-column-count: 1;
        column-count: 1
    }
}

.FilterSection-title {
    font-size: .75rem;
    letter-spacing: 1px
}

.FilterSection .Select {
    margin: 0
}

@media only screen and (min-width:37.5em), print {
    .FilterSection {
        display: block;
        position: relative;
        overflow: hidden;
        padding: 0 1.25rem .5rem;
        margin-bottom: .5rem;
        background: #000;
        max-height: 2.5rem;
        transition: max-height .35s
    }

        .FilterSection.is-open {
            max-height: 30rem;
            overflow-y: auto
        }

        .FilterSection:after {
            content: "";
            display: table;
            clear: both
        }

    .FilterSection-title {
        font-size: .875rem;
        letter-spacing: 2px;
        display: block;
        line-height: 2.5rem;
        padding: 0 2rem 0 1rem;
        margin: 0 -1.25rem;
        cursor: pointer
    }

        .FilterSection-title:after {
            pointer-events: none;
            content: "+";
            content: "\002B";
            font-family: Nunito, Helvetica, sans-serif;
            font-size: 1.75rem;
            line-height: 2.45rem;
            position: absolute;
            right: .35em;
            top: 0;
            color: #000
        }

    .is-open .FilterSection-title:after {
        content: "–";
        content: "\2212"
    }
}

.Filters {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    margin-bottom: 1.5rem
}

.Filters a {
    text-decoration: none
}

@media only screen and (max-width:37.4375em) {
    .Filters-panel {
        display: block;
        position: fixed;
        top: 3.25rem;
        left: 0;
        right: 0;
        overflow: hidden;
        padding: 0 1.5rem;
        max-height: 0;
        background: #f6f6f6;
        transition: max-height .25s;
        transition: all .25s
    }

    .Filters-panel.is-open {
        bottom: 0;
        max-height: 100%;
        padding-bottom: 1.5rem;
        overflow-y: auto;
        z-index: 50
    }
}

@media only screen and (min-width:56.25em), print {
    .Filters-panel .Filters-type {
        width: 100%
    }
}

.Form {
    margin-bottom: 1em;
    width: 100%
}

.Form.Form--fill {
    padding: 1em
}

.Form.Form--bordered {
    border: 1px solid #999;
    border-radius: 3px;
    padding: 1em
}

.Form--iframe {
    display: block;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    width: 410px;
    min-height: 425px
}

@media only screen and (max-width:37.4375em) {
    .Form--iframe {
        max-width: calc(100vw + 3rem);
        margin-left: -3rem
    }
}

.Form-item {
    display: block;
    width: 100%;
    padding-bottom: 1em
}

.Form-label {
    padding: .5em;
    padding-top: 0;
    padding-left: 0
}

.FormStep.hide {
    display: none
}

.Form__Element__Caption {
    display: block
}

.Form__Element__Caption + .FormTextbox__Input {
    margin-top: .25rem;
    margin-bottom: .33333333rem
}

.Input--FormEmail {
    background-color: rgba(46, 46, 46, .11)
}

.Button--FormEmail {
    padding-left: 0;
    width: 2.5rem;
    text-indent: -999rem
}

.FormEmail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding: 0 !important;
    max-width: 100%
}

    .FormEmail:after {
        content: "";
        display: block;
        height: 0;
        width: 0;
        position: absolute;
        right: 1.25rem;
        top: 50%;
        -webkit-transform: translate(50%, -50%);
        transform: translate(50%, -50%);
        color: #000;
        display: inline-block;
        color: currentColor;
        border: 6px solid transparent;
        border-width: 6px 6.5px;
        border-left-color: currentColor;
        border-right-width: 0
    }

    .FormEmail .Input--FormEmail {
        margin: auto 0;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        width: 100%;
        height: 42px
    }

    .FormEmail .Button--FormEmail {
        margin: auto 0;
        padding-left: 0;
        position: absolute;
        right: 0;
        top: 0;
        right: 1px;
        top: 1px
    }

.validation-summary-errors li,
.validation-summary-errors ul,
.validation-summary-valid li,
.validation-summary-valid ul {
    list-style: initial
}

.validation-summary-errors li,
.validation-summary-valid li {
    margin: .5rem 0 .5rem 1.1rem
}

.validation-summary-errors {
    color: #d0021b
}

.validation-summary-valid {
    color: #7ed321
}

.field-validation-error,
.field-validation-valid {
    display: block;
    margin-top: .66666667em;
    font-size: .875rem
}

.field-validation-valid {
    display: none
}

.input-validation-error {
    border-color: #ff9191 !important
}

.Grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

.Grid-cell {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    box-sizing: inherit
}

.Grid-cell--fit {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 auto !important;
    flex: 0 0 auto !important
}

.Grid-cell--center {
    display: block !important;
    margin-right: auto !important;
    margin-left: auto !important
}

.Grid--alignCenter {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.Grid--alignRight {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.Grid--alignMiddle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.Grid--alignBottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.Grid--fit > .Grid-cell {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0%;
    flex: 1 1 0%
}

.Grid--equalHeight > .Grid-cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.Grid--simple,
.is-no-flexbox .Grid {
    display: block;
    font-size: 0;
    margin: 0;
    padding: 0;
    text-align: left
}

    .Grid--simple > .Grid-cell,
    .is-no-flexbox .Grid > .Grid-cell {
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        box-sizing: border-box;
        display: inline-block;
        font-size: 16px;
        font-size: 1rem;
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0;
        text-align: left;
        vertical-align: top;
        width: 100%
    }

    .Grid--simple.Grid--alignCenter,
    .is-no-flexbox .Grid.Grid--alignCenter {
        text-align: center
    }

    .Grid--simple.Grid--alignRight,
    .is-no-flexbox .Grid.Grid--alignRight {
        text-align: right
    }

    .Grid--simple.Grid--alignMiddle > .Grid-cell,
    .is-no-flexbox .Grid.Grid--alignMiddle > .Grid-cell {
        vertical-align: middle
    }

    .Grid--simple.Grid--alignBottom > .Grid-cell,
    .is-no-flexbox .Grid.Grid--alignBottom > .Grid-cell {
        vertical-align: bottom
    }

    .Grid--simple.Grid--fit,
    .is-no-flexbox .Grid.Grid--fit {
        display: table;
        table-layout: fixed;
        width: 100%;
        margin: 0 !important
    }

        .Grid--simple.Grid--fit > .Grid-cell,
        .is-no-flexbox .Grid.Grid--fit > .Grid-cell {
            display: table-cell;
            width: auto
        }

            .Grid--simple.Grid--fit > .Grid-cell:first-child,
            .is-no-flexbox .Grid.Grid--fit > .Grid-cell:first-child {
                padding-left: 0
            }

            .Grid--simple.Grid--fit > .Grid-cell:last-child,
            .is-no-flexbox .Grid.Grid--fit > .Grid-cell:last-child {
                padding-right: 0
            }

.Grid.Grid--gutterA,
.Grid.Grid--gutterH {
    margin-left: -.75rem;
    margin-right: -.75rem
}

    .Grid.Grid--gutterA > .Grid-cell,
    .Grid.Grid--gutterH > .Grid-cell {
        padding-left: .75rem;
        padding-right: .75rem
    }

.Grid.Grid--gutterAxsm,
.Grid.Grid--gutterHxsm {
    margin-left: -.25em;
    margin-right: -.25em
}

    .Grid.Grid--gutterAxsm > .Grid-cell,
    .Grid.Grid--gutterHxsm > .Grid-cell {
        padding-left: .25em;
        padding-right: .25em
    }

.Grid.Grid--gutterAsm,
.Grid.Grid--gutterHsm {
    margin-left: -.33333333em;
    margin-right: -.33333333em
}

    .Grid.Grid--gutterAsm > .Grid-cell,
    .Grid.Grid--gutterHsm > .Grid-cell {
        padding-left: .33333333em;
        padding-right: .33333333em
    }

.Grid.Grid--gutterAmd,
.Grid.Grid--gutterHmd {
    margin-left: -.5em;
    margin-right: -.5em
}

    .Grid.Grid--gutterAmd > .Grid-cell,
    .Grid.Grid--gutterHmd > .Grid-cell {
        padding-left: .5em;
        padding-right: .5em
    }

.Grid.Grid--gutterAlg,
.Grid.Grid--gutterHlg {
    margin-left: -.75em;
    margin-right: -.75em
}

    .Grid.Grid--gutterAlg > .Grid-cell,
    .Grid.Grid--gutterHlg > .Grid-cell {
        padding-left: .75em;
        padding-right: .75em
    }

.Grid.Grid--gutterAxlg,
.Grid.Grid--gutterHxlg {
    margin-left: -1em;
    margin-right: -1em
}

    .Grid.Grid--gutterAxlg > .Grid-cell,
    .Grid.Grid--gutterHxlg > .Grid-cell {
        padding-left: 1em;
        padding-right: 1em
    }

.Grid.Grid--gutterA,
.Grid.Grid--gutterV {
    margin-top: -.75rem;
    margin-bottom: -.75rem
}

    .Grid.Grid--gutterA > .Grid-cell,
    .Grid.Grid--gutterV > .Grid-cell {
        padding-top: .75rem;
        padding-bottom: .75rem
    }

.Grid.Grid--gutterAxsm,
.Grid.Grid--gutterVxsm {
    margin-top: -.25em;
    margin-bottom: -.25em
}

    .Grid.Grid--gutterAxsm > .Grid-cell,
    .Grid.Grid--gutterVxsm > .Grid-cell {
        padding-top: .25em;
        padding-bottom: .25em
    }

.Grid.Grid--gutterAsm,
.Grid.Grid--gutterVsm {
    margin-top: -.33333333em;
    margin-bottom: -.33333333em
}

    .Grid.Grid--gutterAsm > .Grid-cell,
    .Grid.Grid--gutterVsm > .Grid-cell {
        padding-top: .33333333em;
        padding-bottom: .33333333em
    }

.Grid.Grid--gutterAmd,
.Grid.Grid--gutterVmd {
    margin-top: -.5em;
    margin-bottom: -.5em
}

    .Grid.Grid--gutterAmd > .Grid-cell,
    .Grid.Grid--gutterVmd > .Grid-cell {
        padding-top: .5em;
        padding-bottom: .5em
    }

.Grid.Grid--gutterAlg,
.Grid.Grid--gutterVlg {
    margin-top: -.75em;
    margin-bottom: -.75em
}

    .Grid.Grid--gutterAlg > .Grid-cell,
    .Grid.Grid--gutterVlg > .Grid-cell {
        padding-top: .75em;
        padding-bottom: .75em
    }

.Grid.Grid--gutterAxlg,
.Grid.Grid--gutterVxlg {
    margin-top: -1em;
    margin-bottom: -1em
}

    .Grid.Grid--gutterAxlg > .Grid-cell,
    .Grid.Grid--gutterVxlg > .Grid-cell {
        padding-top: 1em;
        padding-bottom: 1em
    }

.Grid-orderFirst {
    -webkit-box-ordinal-group: 0 !important;
    -ms-flex-order: -1 !important;
    order: -1 !important
}

@-webkit-keyframes a {
    0% {
        r: 1.75px;
        opacity: .75
    }

    to {
        r: 4.5px;
        opacity: 1
    }
}

@keyframes a {
    0% {
        r: 1.75px;
        opacity: .75
    }

    to {
        r: 4.5px;
        opacity: 1
    }
}

@-webkit-keyframes b {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes b {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

.List {
    padding-left: 0;
    list-style: none
}

.List-header {
    margin: 0
}

.List-item {
    padding-top: .25em;
    padding-bottom: .25em
}

.List > .List-item:first-child {
    padding-top: 0
}

.List-item .List {
    margin-left: 1em;
    margin-top: .25em
}

    .List-item .List > .List-item:last-child {
        padding-bottom: 0
    }

.Modal {
    display: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

    .Modal,
    .Modal:after {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        z-index: 998
    }

        .Modal:after {
            content: "";
            background: rgba(0, 0, 0, .85);
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden
        }

        .Modal.is-active {
            display: block;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column
        }

            .Modal.is-active .Modal-dialog {
                -webkit-animation: c .25s ease-out;
                animation: c .25s ease-out
            }

        .Modal .slick-slider:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: -1rem -2rem;
            background: transparent;
            background-color: rgba(0, 0, 0, .01)
        }

.Modal-dialog {
    position: relative;
    margin: auto;
    padding: 0;
    z-index: 999;
    width: 90%;
    max-width: 43.75rem;
    min-height: 18.75rem;
    max-height: 90%;
    max-height: 90vh;
    overflow: hidden;
    overflow-y: auto;
    white-space: normal;
    background: #fff
}

@media only screen and (min-width:56.25em), print {
    .Modal-dialog {
        padding: 1em
    }
}

html.no-flexbox .Modal-dialog {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
    left: 0
}

.Modal-dialog.Distributors-list {
    max-width: 900px;
    min-height: 0;
    padding: 1rem .5rem
}

.Modal-dialog [data-modalslider]:not(.slick-initialized) {
    display: none
}

.Modal-dialog--slider {
    max-width: 640px;
    padding: 0 1rem;
    background: transparent
}

    .Modal-dialog--slider .slick-arrow {
        color: #fff
    }

@media only screen and (min-width:37.5em), print {
    .Modal-dialog--slider .slick-arrow {
        margin-right: -3rem;
        margin-left: -3rem
    }
}

.Modal-dialog .Product-image {
    max-height: 190px;
    max-height: 20vh
}

.Modal-content iframe {
    width: 100%
}

.Modal-close {
    z-index: 9;
    position: absolute;
    top: 0;
    right: 0;
    margin: .5rem
}

    .Modal-close,
    .Modal-close:hover {
        background-color: gray;
        color: #fff;
        border-color: transparent
    }

@media only screen and (min-width:75em) {
    .Modal-close {
        margin: -1.5em;
        background-color: rgba(0, 0, 0, .1)
    }

        .Modal-close:after,
        .Modal-close:before {
            width: .55em
        }
}

@-webkit-keyframes c {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes c {
    0% {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.Modal-body {
    min-height: 250px;
    overflow-y: auto
}

.Modal-footer {
    text-align: center;
    background: #fff
}

@media only screen and (min-width:56.25em), print {
    .Modal-footer {
        padding: 1em;
        margin: 0 -1em -1em
    }
}

.Modal-footer .Button,
.Modal-footer .Button--outline,
.Modal-footer .Button--small,
.Modal-footer input {
    margin-left: .5rem;
    margin-right: .5rem
}

.pagination {
    font-size: .875rem;
    letter-spacing: 2px;
    display: table;
    position: relative;
    list-style: none;
    text-align: center;
    margin: auto;
    margin-bottom: -1rem;
    padding: 2rem 0
}

    .pagination a,
    .pagination a:after {
        transition: all .25s
    }

    .pagination a {
        position: relative;
        display: block;
        width: 1.875em;
        height: 1.875em;
        line-height: 1.875em;
        text-decoration: none !important
    }

        .pagination a:hover {
            color: initial;
            color: unset
        }

        .pagination a[href]:hover {
            background-color: #5ce0f2;
            text-decoration: none
        }

    .pagination li {
        display: inline-block;
        outline: none;
        border: 0
    }

        .pagination li.active {
            background: linear-gradient(0deg, #000 1.75px, transparent 0) no-repeat bottom;
            background-size: 70% 100%
        }

        .pagination li.disabled {
            opacity: .4
        }

        .pagination li.PagedList-ellipses {
            background-color: #e9e9e9
        }

        .pagination li.PagedList-skipToNext a,
        .pagination li.PagedList-skipToPrevious a {
            background-color: #5ce0f2
        }

            .pagination li.PagedList-skipToNext a:disabled,
            .pagination li.PagedList-skipToNext a:not([href]),
            .pagination li.PagedList-skipToPrevious a:disabled,
            .pagination li.PagedList-skipToPrevious a:not([href]) {
                opacity: .25
            }

@media only screen and (min-width:37.5em), print {
    .pagination li {
        margin: 0 .140625em
    }

        .pagination li.PagedList-skipToPrevious {
            margin-right: .28125em
        }

        .pagination li.PagedList-skipToNext {
            margin-left: .28125em
        }
}

.pagination li.PagedList-skipToFirst,
.pagination li.PagedList-skipToLast {
    position: absolute;
    left: 0;
    bottom: 0;
    width: auto;
    margin: 0
}

    .pagination li.PagedList-skipToFirst a,
    .pagination li.PagedList-skipToLast a {
        min-width: 4.5em;
        text-indent: -999em
    }

        .pagination li.PagedList-skipToFirst a,
        .pagination li.PagedList-skipToFirst a:hover,
        .pagination li.PagedList-skipToLast a,
        .pagination li.PagedList-skipToLast a:hover {
            background: none
        }

            .pagination li.PagedList-skipToFirst a:after,
            .pagination li.PagedList-skipToLast a:after {
                content: "\00AB\0020 First";
                text-indent: 0;
                white-space: nowrap;
                position: absolute;
                top: 0;
                left: 0;
                background: linear-gradient(0deg, #000 1.75px, transparent 0) no-repeat bottom;
                background-position: left bottom -2px
            }

            .pagination li.PagedList-skipToFirst a:hover:after,
            .pagination li.PagedList-skipToLast a:hover:after {
                background-color: transparent;
                background-position: bottom
            }

.pagination li.PagedList-skipToLast {
    left: auto;
    right: 0
}

    .pagination li.PagedList-skipToLast a:after {
        content: "Last \0020\00BB";
        left: auto;
        right: 0
    }

.Quote {
    position: relative;
    max-width: 50rem;
    margin: 1.5rem auto;
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .Quote {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.Quote svg {
    fill: transparent;
    display: block;
    margin: 0 auto
}

.Quote-text:before {
    display: none
}

.Quote-source {
    font-size: .875rem;
    font-style: normal;
    text-transform: uppercase;
    margin: 1.5em auto;
    letter-spacing: 2px
}

.Quote-id {
    font-size: .75rem;
    font-style: italic;
    color: #6f6f6f
}

.Search-form {
    position: relative
}

@media only screen and (min-width:37.5em), print {
    .Search-form {
        text-align: center
    }
}

.Search-results {
    border-top: 1px solid hsla(0, 0%, 60%, .3)
}

.SearchResult-title {
    margin-bottom: 0
}

.Autocomplete .SearchResult-title {
    font-size: .875rem
}

    .Autocomplete .SearchResult-title.selected {
        font-weight: 700
    }

@media only screen and (min-width:37.5em), print {
    .Autocomplete .SearchResult-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        max-width: 95%
    }
}

.Autocomplete .SearchResult-title a {
    text-decoration: none
}

.SearchResults .SearchResult-title {
    margin-bottom: 0
}

.SearchResult-description {
    margin-top: 0
}

.Autocomplete .SearchResult-description {
    font-size: .875rem;
    max-height: 3em;
    overflow: hidden;
    position: relative
}

    .Autocomplete .SearchResult-description:after {
        content: "";
        position: absolute;
        background: #fff;
        background: linear-gradient(110deg, hsla(0, 0%, 100%, 0), #fff);
        right: 0;
        bottom: 0;
        height: 1.5em;
        width: 7rem
    }

@media only screen and (min-width:56.25em), print {
    .Autocomplete .SearchResult-description:after {
        background: #000;
        background: linear-gradient(110deg, transparent, #000)
    }
}

#divScrollBorder img,
#divScrollBorder img * {
    max-width: 100000px
}


div.left {
    left: 0
}

div.right {
    right: 0
}

p.note {
    text-align: center;
    font-size: 11px;
    font-weight: 400;
    border: 1px solid #333;
    color: #fff;
    padding-top: 10px;
    background: #272727;
    color: #dedede;
    margin: auto;
    width: 1000px;
    height: 20px
}


@keyframes d {
    0% {
        opacity: 1;
        visibility: visible
    }

    to {
        opacity: 0;
        visibility: hidden
    }
}

@keyframes e {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes d {
    0% {
        opacity: 1;
        visibility: visible
    }

    to {
        opacity: 0;
        visibility: hidden
    }
}

@-webkit-keyframes e {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.Slider-item {
    position: relative
}

    .Slider-item img {
        display: block;
        height: auto;
        width: 100%
    }


.Sticky-element {
    transition: -webkit-transform .3s ease-in-out .15s;
    transition: transform .3s ease-in-out .15s;
    transition: transform .3s ease-in-out .15s, -webkit-transform .3s ease-in-out .15s;
    will-change: transform
}

    .Sticky-element.is-sticky {
        position: fixed;
        top: 0;
        left: auto;
        right: auto;
        z-index: 100;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden
    }

    .Sticky-element.is-stickyHidden {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    .Sticky-element.is-stickyBottom {
        position: absolute !important;
        top: auto !important;
        bottom: 0
    }

.Sticky--visibleWhenSticky .Sticky-element {
    position: fixed;
    top: 0;
    opacity: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

    .Sticky--visibleWhenSticky .Sticky-element.is-sticky {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

@media only screen and (min-width:56.25em), print {
    .MainNav_Menu-listItem {
        position: static !important
    }
}

.subNav-list {
    margin: .5em 0
}

.subNav .Section-header {
    margin-top: 1rem
}

@media only screen and (max-width:56.1875em) {
    .subNav {
        margin-left: 1em
    }

    .Nav-checkbox ~ .subNav {
        overflow: hidden;
        overflow-y: auto;
        max-height: 0;
        transition: max-height .25s
    }

        .Nav-checkbox ~ .subNav:after {
            pointer-events: none;
            content: "+";
            content: "\002B";
            font-family: Nunito, Helvetica, sans-serif;
            font-size: 1.75rem;
            line-height: 2.45rem;
            position: absolute;
            right: .35em;
            top: 0;
            color: #fff
        }

    .Nav-checkbox:checked ~ .subNav {
        max-height: 100vh;
        max-height: calc(100vh - 3.25rem);
        transition: max-height 1s
    }

        .Nav-checkbox:checked ~ .subNav:after {
            content: "–";
            content: "\2212"
        }

    .subNav-list,
    .subNav .Grid,
    .subNav section {
        width: 100%
    }

    .subNav-list {
        line-height: 1.375
    }

    .subNav-listItem a:hover {
        text-decoration: underline
    }

    .subNav .Section-header {
        padding: 0
    }

    .subNav a {
        padding: .25rem .75rem
    }
}

@media only screen and (min-width:56.25em), print {
    .subNav {
        display: block;
        position: absolute;
        z-index: 999;
        -webkit-transform: translateX(-25%);
        transform: translateX(-25%);
        padding: .5rem 1rem;
        min-width: 10rem;
        max-width: 70.625rem;
        max-height: calc(100vh - 7.75rem);
        overflow: auto;
        overflow-x: hidden;
        overflow-y: auto;
        white-space: nowrap;
        text-align: left;
        background: #000;
        color: #fff;
        box-shadow: 0 0 0 1px hsla(0, 0%, 100%, .25);
        box-shadow: 0 0 0 1px hsla(0, 0%, 100%, .25), 0 2px 4px 1px rgba(0, 0, 0, .1);
        z-index: 1000;
        pointer-events: none;
        visibility: hidden;
        margin-top: 0;
        opacity: 0;
        transition: all .25s;
        transition: opacity .25s, margin .25s, visibility 0s, pointer-events 0s .25s
    }

    .Nav-checkbox:checked ~ .subNav {
        pointer-events: all;
        visibility: visible;
        opacity: 1;
        margin-top: 1.1rem
    }

    :hover > .subNav {
        z-index: 101;
        z-index: 1001
    }

    .subNav a {
        display: block;
        padding: 0;
        height: auto;
        line-height: 1.3;
        margin: .5rem 0;
        text-decoration: none;
        color: #fff !important
    }

        .subNav a:hover {
            text-decoration: underline
        }

    .subNav--products {
        width: 90vw;
        width: calc(100vw - 2rem);
        left: 0;
        -webkit-transform: none;
        transform: none
    }

    .subNav .Columns--4col {
        padding: 0 .5rem .5rem
    }

    .subNav .Section-header {
        opacity: .6
    }
}

.SubNav-Link {
    display: block;
    padding: 0;
    height: auto;
    line-height: 1.3;
    margin: .5rem 0;
    text-decoration: none
}

    .SubNav-Link:hover {
        text-decoration: underline
    }

.NavAccordion--closed {
    overflow: hidden;
    overflow-y: auto;
    max-height: 0;
    transition: max-height .25s
}

    .NavAccordion--closed:after {
        pointer-events: none;
        content: "+";
        content: "\002B";
        font-family: Nunito, Helvetica, sans-serif;
        font-size: 1.75rem;
        line-height: 2.45rem;
        position: absolute;
        right: .35em;
        top: 0;
        color: #000
    }

.NavAccordion--open {
    max-height: 100vh;
    max-height: calc(100vh - 3.25rem);
    transition: max-height 1s
}

    .NavAccordion--open:after {
        content: "–";
        content: "\2212"
    }

.Searchbar {
    width: 100%
}

.subNav--search {
    margin: 0;
    padding: .25rem .75rem;
    max-height: calc(100vh - 8rem);
    overflow-y: auto;
    overflow-x: hidden;
    width: 33.75rem;
    z-index: 998;
    z-index: 1000;
    pointer-events: none;
    visibility: hidden;
    margin-top: 0;
    opacity: 0;
    transition: all .25s;
    transition: opacity .25s, margin .25s, visibility 0s, pointer-events 0s .25s;
    margin-top: -100%
}

    .subNav--search a {
        display: inline;
        margin: 0
    }

    .subNav--search .Button--outline:focus,
    .subNav--search .Button--small:focus,
    .subNav--search .Button:focus,
    .subNav--search input:focus {
        box-shadow: 0 0 1px 2px #5ce0f2
    }

    .subNav--search input {
        width: 100%;
        width: calc(100% - 2.5rem)
    }

    .subNav--search .Autocomplete {
        white-space: normal;
        text-transform: none
    }

    .subNav--search .Fieldset {
        position: relative;
        white-space: nowrap
    }

@media only screen and (min-width:56.25em), print {
    .subNav--search {
        margin-top: -1.1rem;
        right: 0
    }

        .subNav--search:not(.subNav) {
            display: block;
            position: absolute;
            z-index: 999
        }

        .subNav--search.subNav {
            left: auto;
            -webkit-transform: none;
            transform: none
        }

        .subNav--search input {
            max-width: 60vw;
            width: 12rem;
            transition: width .25s
        }

    #MainNav_Search:checked ~ .Searchbar .subNav--search {
        pointer-events: all;
        visibility: visible;
        opacity: 1;
        margin-top: 1.1rem;
        margin-top: 0
    }

        #MainNav_Search:checked ~ .Searchbar .subNav--search input {
            width: 28.5rem
        }
}

@media only screen and (max-width:56.1875em) {
    .subNav--search {
        width: 100%
    }

    #MobileNav_Search:checked ~ .Searchbar .subNav--search {
        pointer-events: all;
        visibility: visible;
        opacity: 1;
        margin-top: 1.1rem;
        margin-top: 0
    }

    .subNav--search .Button,
    .subNav--search .Button--outline,
    .subNav--search .Button--small {
        right: 0
    }
}

.Table--striped tbody tr:nth-child(odd) {
    background-color: #b3b3b3
}

.Table--bordered td {
    border-bottom: 1px solid #999
}

.Table--alignMiddle td {
    vertical-align: middle
}

@media only screen and (max-width:34em), print {
    .Table--flatInSmall tr {
        border-top: 1px solid #999;
        border-bottom: 1px solid #999
    }

    .Table--flatInSmall th {
        display: none
    }

    .Table--flatInSmall td {
        display: block
    }

        .Table--flatInSmall td:before {
            content: attr(data-th) ": ";
            display: inline-block;
            font-weight: 700;
            vertical-align: top;
            margin-right: .5em
        }
}

.ProductComparison {
    margin: 1rem auto
}

.empty-cell {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important
}

.TableCompare {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    line-height: 1.25;
    table-layout: fixed;
    border-spacing: 0 2px;
    border-collapse: separate;
    overflow: hidden
}

    .TableCompare .empty-cell {
        margin: 0 !important
    }

    .TableCompare td,
    .TableCompare th {
        padding: .5em .75em;
        vertical-align: top;
        text-align: left
    }

    .TableCompare thead th {
        vertical-align: top
    }

    .TableCompare thead img {
        display: block;
        max-width: 100%;
        height: auto;
        height: 150px;
        max-height: 15vw;
        -o-object-fit: contain;
        object-fit: contain;
        -o-object-position: center;
        object-position: center;
        font-family: "object-fit: contain; object-position: center";
        margin: 0 0 auto;
        background: #fff
    }

.TableCompare-sectionHead {
    padding-top: 1rem
}

.TableCompare-subSection td {
    background: #fff
}

@media only screen and (min-width:37.5em), print {
    .TableCompare-subSection {
        background: #fff
    }
}

.TableCompare .table-caption {
    padding-bottom: 0;
    padding-left: 0;
    background: transparent
}

@media only screen and (max-width:37.4375em) {
    .TableCompare {
        padding-top: 30vw;
        padding-top: calc(30vw + 3rem)
    }

        .TableCompare th {
            background: transparent
        }

        .TableCompare .Product-name {
            margin-bottom: auto
        }

        .TableCompare thead {
            position: absolute;
            top: 0;
            width: 100%;
            overflow: hidden;
            overflow-x: auto
        }

            .TableCompare thead td,
            .TableCompare thead tr {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex
            }

            .TableCompare thead td {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                -ms-flex-direction: column;
                flex-direction: column;
                width: 33.33333333%;
                padding: 0 .5rem 0 0
            }

                .TableCompare thead td:last-child {
                    padding-right: 0
                }

        .TableCompare tbody tr {
            display: block;
            width: 100%
        }

        .TableCompare tbody th {
            display: block;
            font-family: Industry-Demi, Industry Demi, Helvetica, sans-serif;
            text-transform: uppercase;
            font-size: .75rem;
            letter-spacing: 1px;
            padding-left: 0;
            margin-top: .5rem
        }

        .TableCompare tbody td {
            display: block;
            text-align: right;
            padding-right: 1.5rem;
            margin-bottom: 2px;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex
        }

            .TableCompare tbody td:before {
                content: attr(data-header);
                clear: left;
                float: left;
                text-align: left;
                margin: auto auto auto 0
            }
}

.Tabs {
    margin-bottom: 1em
}

.Tab-link {
    cursor: pointer
}

@media only screen and (max-width:37.4375em) {
    .Tab-link {
        font: inherit;
        padding: .5rem 3em .5rem 1em;
        background: none;
        color: inherit;
        cursor: inherit;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 100%;
        margin: 0;
        vertical-align: middle;
        outline: none;
        border: 0;
        border-radius: inherit;
        line-height: 1.5;
        display: block;
        height: 2.5rem;
        padding: .5rem 1em;
        padding-right: 3em;
        border: 1px solid #e9e9e9;
        background-color: #fff;
        white-space: nowrap
    }

        .Tab-link option {
            height: 1.5em
        }

        .Tab-link:active,
        .Tab-link:focus {
            border-color: transparent;
            box-shadow: 0 0 3px rgba(0, 0, 0, .4), inset 0 0 0 1px currentColor;
            box-shadow: 0 0 3px 1px rgba(0, 0, 0, .4), 0 0 0 1px currentColor
        }
}

@media only screen and (min-width:37.5em), print {
    .Tab-link {
        display: inline-block;
        font-family: Industry-Demi, Industry Demi, Helvetica, sans-serif;
        text-transform: uppercase;
        font-size: .875rem;
        letter-spacing: 1px;
        letter-spacing: 1.8px;
        line-height: 1.15;
        position: relative
    }

    .Nav-checkbox:checked + .Tab-link:after {
        content: "";
        display: table;
        width: 100%;
        position: absolute;
        bottom: -.5em;
        border-bottom: 3px solid
    }
}

@media only screen and (min-width:37.5em), print {
    .Tab-link--default {
        display: none
    }
}

.Tab-section {
    padding: 1rem;
    display: none;
    background-color: #fff
}

.Nav-checkbox:checked + .Tab-section,
[name=Sections]:target + .Tab-section {
    display: block
}

@media only screen and (min-width:37.5em), print {
    .Tab-section .FilterSection {
        background-color: #f6f6f6
    }
}

[name=Sections]:target {
    visibility: visible
}

.PageNav-list:focus {
    outline: none
}

.PageNav-listItem > a {
    display: inline-block
}

@media only screen and (max-width:37.4375em) {
    .PageNav-list {
        position: relative;
        display: inline-block;
        padding: .5rem 1em;
        margin: .5rem auto;
        font: .875rem/1.375rem Nunito, Helvetica, sans-serif;
        text-decoration: none;
        white-space: normal;
        text-align: left;
        vertical-align: middle;
        cursor: pointer;
        text-shadow: none !important;
        border: 1px solid #e9e9e9;
        border-radius: 0;
        background-color: #fff;
        background-position: right .5em top 50%;
        background-repeat: no-repeat;
        background-size: 1.5em;
        color: #333;
        transition: all .25s 0s;
        display: block;
        border: 0;
        padding: 0;
        height: 2.5rem;
        overflow: hidden
    }

        .PageNav-list:after {
            content: "";
            pointer-events: none;
            z-index: 2;
            position: absolute;
            width: 0;
            height: 0;
            right: .75rem;
            right: 1.25rem;
            top: 1.125rem;
            right: 1.125rem;
            top: 1rem;
            color: #e9e9e9;
            display: inline-block;
            color: currentColor;
            border: 6px solid transparent;
            border-width: 6px 6.5px;
            border-top-color: currentColor;
            border-bottom-width: 0
        }

        .PageNav-list:hover {
            border-color: transparent;
            box-shadow: 0 0 3px rgba(0, 0, 0, .4)
        }

        .PageNav-list:active,
        .PageNav-list:focus {
            z-index: 99;
            overflow: visible;
            height: auto;
            border-color: transparent;
            box-shadow: 0 0 3px rgba(0, 0, 0, .4), 0 0 3px rgba(0, 0, 0, .4)
        }

            .PageNav-list:active .Tab-link,
            .PageNav-list:focus .Tab-link {
                box-shadow: 0 0 3px rgba(0, 0, 0, .4);
                box-shadow: 0 2px 2px -1px rgba(0, 0, 0, .4);
                box-shadow: 0 2px 2px rgba(0, 0, 0, .25)
            }

            .PageNav-list:active .Nav-checkbox:checked + .Tab-link,
            .PageNav-list:focus .Nav-checkbox:checked + .Tab-link {
                box-shadow: 0 0 3px rgba(0, 0, 0, .4), 0 0 0 1px currentColor
            }

    .PageNav-listItem--label {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .PageNav-list .Tab-link:first-child {
        margin-bottom: 1px
    }

    .PageNav-list .Tab-link:not(:first-child) {
        margin-bottom: -1px
    }

        .PageNav-list .Tab-link:not(:first-child):hover {
            outline-color: transparent;
            border-color: transparent
        }

    .PageNav-list .Nav-checkbox:checked + .Tab-link {
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 2
    }

    .PageNav-list .PageNav-spacer {
        display: none
    }
}

@media only screen and (min-width:37.5em), print {
    .PageNav-list {
        display: table;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        justify-content: space-evenly;
        text-align: center
    }

    .PageNav-listItem {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 0%;
        flex: 0 1 0%;
        display: inline-block;
        display: table-cell
    }

    .PageNav-list .PageNav-listItem--label + .PageNav-spacer,
    .PageNav-listItem--label {
        display: none
    }
}

@media only screen and (min-width:56.25em), print {
    .PageNav-listItem {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto
    }
}

.SpineTeaser {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #fff;
    height: 100%
}

.SpineTeaser-img img {
    max-height: 24.25rem
}

.SpineTeaser-content {
    padding: 1.5rem
}

.Teaser-content-container {
    display: block;
    margin: 1.5rem auto
}

@media only screen and (min-width:37.5em), print {
    .Teaser-content-container {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

@media only screen and (min-width:37.5em), print {
    .Teaser-content-container .Grid-cell:first-child:nth-last-child(4),
    .Teaser-content-container .Grid-cell:first-child:nth-last-child(4) ~ .Grid-cell {
        width: 25%
    }

    .Teaser-content-container .Grid-cell:first-child:nth-last-child(3),
    .Teaser-content-container .Grid-cell:first-child:nth-last-child(3) ~ .Grid-cell {
        width: 33.33333333%
    }

    .Teaser-content-container .Grid-cell:first-child:nth-last-child(2),
    .Teaser-content-container .Grid-cell:first-child:nth-last-child(2) ~ .Grid-cell {
        width: 50%
    }

    .Teaser-content-container .Grid-cell {
        -ms-flex-preferred-size: auto;
        flex-basis: auto
    }

        .Teaser-content-container .Grid-cell:nth-child(2n) .SpineTeaser-content {
            -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
            order: -1
        }
}

.Teaser-list {
    padding: 1em .25em !important;
    background-color: #fff
}

.Product-teaser,
.Teaser {
    position: relative;
    display: table;
    width: 100%;
    padding: 1rem;
    margin: 0;
    background-color: #f6f6f6
}

    .Product-teaser a,
    .Teaser a {
        color: inherit;
        text-decoration: none
    }

    .Product-teaser .Product-img,
    .Teaser-img {
        display: table-cell;
        overflow: hidden;
        text-align: center;
        vertical-align: middle;
        background-color: #fff;
        margin-right: .75rem;
        width: 75px
    }

        .Product-teaser .Product-img img,
        .Product-teaser .Product-img svg,
        .Teaser-img img,
        .Teaser-img svg {
            display: block;
            margin: auto;
            -o-object-fit: contain;
            object-fit: contain;
            -o-object-position: center;
            object-position: center;
            font-family: "object-fit: contain; object-position: center";
            min-height: 75px;
            width: 100%;
            height: auto
        }

@media only screen and (min-width:37.5em), print {
    .Product-teaser .Product-img,
    .Teaser-img {
        width: 100px
    }
}

@media only screen and (min-width:75em) {
    .Product-teaser .Product-img,
    .Teaser-img {
        width: 120px
    }
}

.Product-teaser .Product-img a:before,
.Teaser-img a:before {
    content: "";
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.Product-teaser .Product-content,
.Teaser-content {
    display: table-cell;
    padding-left: .75rem;
    vertical-align: middle
}

.textframe {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 1em 1.5em 0;
    margin: 0 2px 20px;
    border: 2px solid hsla(0, 0%, 100%, .67);
    border-bottom: 0;
    border-image-slice: 1 !important;
    background-color: transparent;
    color: #fff;
    text-align: left;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform-origin: 11px calc(100% + 11px);
    transform-origin: 11px calc(100% + 11px)
}

    .textframe > strong {
        font-size: .875rem;
        letter-spacing: 2px;
        letter-spacing: 1px
    }

    .textframe.u-textSmall p {
        font-size: inherit
    }

    .textframe.u-textSmall > strong,
    .textframe.u-textSmall h6 {
        font-size: .75rem
    }

    .textframe:before {
        margin: 0;
        width: auto;
        height: 20px;
        bottom: -20px;
        border: 2px solid hsla(0, 0%, 100%, .67);
        border-top: 0;
        border-image-slice: inherit;
        -o-border-image: inherit;
        border-image: inherit;
        border-left-width: 0;
        left: 18px;
        right: -2px
    }

    .textframe:after,
    .textframe:before {
        content: "";
        display: block;
        position: absolute
    }

    .textframe:after {
        left: 0;
        margin: -14px;
        bottom: -18px;
        width: 27px;
        height: 27px;
        border-top: 2px solid hsla(0, 0%, 100%, .67);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

.textframe-right {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 1em 1.5em 0;
    margin: 0 2px 20px;
    border: 2px solid hsla(0, 0%, 100%, .67);
    border-bottom: 0;
    border-image-slice: 1 !important;
    background-color: transparent;
    color: #fff;
    text-align: right;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform-origin: calc(100% - 11px) calc(100% + 11px);
    transform-origin: calc(100% - 11px) calc(100% + 11px)
}

    .textframe-right > strong {
        font-size: .875rem;
        letter-spacing: 2px;
        letter-spacing: 1px
    }

    .textframe-right.u-textSmall p {
        font-size: inherit
    }

    .textframe-right.u-textSmall > strong,
    .textframe-right.u-textSmall h6 {
        font-size: .75rem
    }

    .textframe-right:before {
        content: "";
        display: block;
        position: absolute;
        margin: 0;
        width: auto;
        height: 20px;
        bottom: -20px;
        border: 2px solid hsla(0, 0%, 100%, .67);
        border-top: 0;
        border-image-slice: inherit;
        -o-border-image: inherit;
        border-image: inherit;
        border-right-width: 0;
        right: 18px;
        left: -2px
    }

    .textframe-right:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        margin: -14px;
        bottom: -18px;
        width: 27px;
        height: 27px;
        border-top: 2px solid hsla(0, 0%, 100%, .67);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

.textframe.direction-right {
    text-align: right;
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
    -webkit-transform-origin: calc(100% - 21px) calc(100% + 21px);
    transform-origin: calc(100% - 21px) calc(100% + 21px)
}

    .textframe.direction-right:before {
        border-right-width: 0;
        border-left-width: 2px;
        right: 18px;
        left: -2px
    }

    .textframe.direction-right:after {
        right: 0;
        left: auto;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

.textframe-gradient {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 1em 1.5em 0;
    margin: 0 1px 20px;
    border: 1px solid #782a8f;
    border-bottom: 0;
    border-image-slice: 1 !important;
    background-color: transparent;
    color: #782a8f;
    text-align: right;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform-origin: calc(100% - 11px) calc(100% + 11px);
    transform-origin: calc(100% - 11px) calc(100% + 11px);
    -o-border-image: radial-gradient(circle farthest-corner at 36% 26%, #f99d1d, #cb3c6d 48%, #782a8f);
    border-image: radial-gradient(circle farthest-corner at 36% 26%, #f99d1d, #cb3c6d 48%, #782a8f);
    color: initial;
    color: inherit
}

    .textframe-gradient > strong {
        font-size: .875rem;
        letter-spacing: 2px;
        letter-spacing: 1px
    }

    .textframe-gradient.u-textSmall p {
        font-size: inherit
    }

    .textframe-gradient.u-textSmall > strong,
    .textframe-gradient.u-textSmall h6 {
        font-size: .75rem
    }

    .textframe-gradient:before {
        content: "";
        display: block;
        position: absolute;
        margin: 0;
        width: auto;
        height: 20px;
        bottom: -20px;
        border: 1px solid #782a8f;
        border-top: 0;
        border-image-slice: inherit;
        -o-border-image: inherit;
        border-image: inherit;
        border-right-width: 0;
        right: 19px;
        left: -1px
    }

    .textframe-gradient:after {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        margin: -14px;
        bottom: -19px;
        width: 28px;
        height: 28px;
        border-top: 1px solid #782a8f;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

.Article {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 74.25rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 1em
}

@media only screen and (min-width:37.5em), print {
    .Article {
        padding-top: 3rem
    }
}

@media only screen and (min-width:75em) {
    .Article {
        padding-top: 6.25rem
    }
}

.Article-title {
    text-transform: none;
    margin-top: .5rem
}

@media only screen and (max-width:37.4375em) {
    .Article-header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

        .Article-header .SocialSharing {
            -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
            order: 2
        }
}

@media only screen and (min-width:37.5em), print {
    .Article-header .SocialSharing {
        float: right
    }
}

.Article-header .Article-title {
    margin: .5em 0;
    line-height: 1.1;
    font-size: 2rem
}

@media screen and (min-width:37.5rem) {
    .Article-header .Article-title {
        font-size: calc(2rem + 16 * (100vw - 37.5rem) / 300)
    }
}

@media screen and (min-width:56.25rem) {
    .Article-header .Article-title {
        font-size: 3rem
    }
}

.Article-main {
    max-width: 555px;
    margin: 1.5rem auto
}

    .Article-main.Grid-cell {
        max-width: none
    }

@media only screen and (min-width:56.25em), print {
    .Article-main.Grid-cell {
        padding-right: 3rem !important
    }
}

.Article-main p {
    margin: 1em 0
}

.Article-main ul li {
    list-style: disc outside;
    margin-bottom: .25rem;
    margin-left: 1.5rem
}

.Article-main ol li {
    list-style: decimal outside;
    margin-bottom: .25rem;
    margin-left: 1.5rem
}

.Article-main img {
    height: auto
}

.Article-form form {
    padding: 1rem;
    background: #fff
}

@media only screen and (min-width:37.5em), print {
    .Article-form form {
        margin-top: 2.5rem
    }
}

@media only screen and (min-width:56.25em), print {
    .Article-form form {
        padding: 1rem 1.5rem
    }
}

.Article-comments {
    position: relative;
    max-width: 70.625rem;
    margin: 1.5rem auto;
    padding: 1rem
}

@media only screen and (min-width:37.5em), print {
    .Article-comments {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.Article-thumb {
    display: block
}

.Article-related {
    position: relative;
    max-width: 70.625rem;
    margin: 1.5rem auto
}

@media only screen and (min-width:37.5em), print {
    .Article-related {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.RelatedArticles {
    position: relative;
    overflow: hidden;
    margin-top: .5rem;
    background: #00163d no-repeat 100% 0;
    color: #fff
}

    .RelatedArticles a {
        color: inherit
    }

    .RelatedArticles .icon-pixels {
        position: absolute;
        height: 100%;
        top: 0;
        right: -7.5%
    }

.RelatedArticles-list {
    position: relative
}

@media only screen and (min-width:37.5em), print {
    .RelatedArticles-listItem {
        padding: 1rem
    }
}

.ArticleList {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 74.25rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.Article-sections > * > * {
    margin: 1rem 0;
    overflow: hidden
}

.Article-sections .NewsBlock {
    margin: 0
}

.Article-placeholder {
    width: 100%;
    height: 269px;
    display: block;
    border: 10px solid #fff;
    background: #f7f7f7;
    position: relative
}

    .Article-placeholder svg {
        position: absolute !important;
        left: 50%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%) !important;
        transform: translate(-50%, -50%) !important
    }

.Article-img {
    display: inline-block
}

    .Article-img img {
        min-height: 80px
    }

.Article-content {
    position: relative
}


.CarouselSlider {
    width: 70.625rem;
    max-width: 95vw;
    max-width: calc(100vw - 3rem);
    margin-left: auto;
    margin-right: auto
}

    .CarouselSlider .icon-bow {
        position: relative;
        left: 0;
        width: 50%;
        margin-bottom: 1rem
    }

@media only screen and (max-width:37.4375em) {
    .CarouselSlider .icon-bow {
        height: 25px;
        stroke-width: 2px
    }
}

.Carousel-list.slick-slider {
    margin: auto
}

.Carousel-item {
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .Carousel-item .Button,
    .Carousel-item .Button--outline,
    .Carousel-item .Button--small {
        transition: opacity .5s;
        opacity: 0;
        pointer-events: none
    }

    .Carousel-item.slick-center .Button,
    .Carousel-item.slick-center .Button--outline,
    .Carousel-item.slick-center .Button--small {
        opacity: 1;
        pointer-events: all;
        transition: opacity .5s .375s
    }
}

.Carousel .slick-next {
    -webkit-transform-origin: 30% 50%;
    transform-origin: 30% 50%
}

@media only screen and (max-width:37.4375em) {
    .Carousel .slick-prev {
        top: 34%;
        left: 1rem
    }

    .Carousel .slick-next {
        top: 34%;
        right: 1rem
    }
}

.Slide-img img {
    max-height: 300px;
    max-height: 45vh
}

@media only screen and (min-width:37.5em), print {
    .Slide {
        -webkit-transform-origin: 50% 35%;
        transform-origin: 50% 35%;
        transition: -webkit-transform .5s;
        transition: transform .5s;
        transition: transform .5s, -webkit-transform .5s;
        transition-timing-function: cubic-bezier(.39, .58, .57, 1)
    }

    .slick-slide:not(.slick-center) .Slide {
        -webkit-transform: scale(.5);
        transform: scale(.5)
    }

    .Slide-name {
        margin-bottom: 0
    }

    .Slide-description {
        transition: opacity .5s;
        opacity: 0;
        pointer-events: none
    }

    .slick-center .Slide-description {
        opacity: 1;
        pointer-events: all;
        transition: opacity .5s .375s
    }
}

@media only screen and (min-width:56.25em), print {
    .Slide-img img {
        max-height: 400px
    }
}

@media only screen and (min-width:37.5em), print {
    #olark-wrapper #olark-container {
        height: 450px !important
    }
}

#olark-wrapper .olark-launch-button .olark-button-text,
#olark-wrapper .olark-launch-button svg {
    height: 42px !important;
    line-height: 40px !important
}

@media only screen and (max-width:37.4375em) {
    #olark-wrapper .olark-launch-button .olark-button-text {
        display: none !important
    }
}

#olark-wrapper .olark-launch-button:hover .olark-button-text {
    display: inline-block !important
}

body.showingStickyCta #olark-wrapper .olark-launch-button {
    transition: all .25s ease-in-out !important;
    bottom: 145px !important
}

@media only screen and (min-width:37.5em), print {
    body.showingStickyCta #olark-wrapper .olark-launch-button {
        bottom: 110px !important
    }
}

@media only screen and (max-width:37.4375em) {
    body.showingStickyCta.collapsedStickyCta #olark-wrapper .olark-launch-button {
        bottom: 45px !important
    }
}

.FeaturedProduct {
    position: relative;
    max-width: 70.625rem;
    margin: 1.5rem auto;
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct {
        margin-top: 3rem;
        margin-bottom: 3rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        text-align: left
    }
}

.FeaturedProduct .Tag--new {
    position: relative;
    top: .5rem
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct .Tag--new {
        top: 1rem
    }
}

.FeaturedProduct-content,
.FeaturedProduct-features,
.FeaturedProduct-img {
    max-width: 100%;
    max-width: 100vw;
    max-width: calc(100vw - 2rem);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct-content,
    .FeaturedProduct-img {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        vertical-align: middle;
        margin: auto;
        max-width: 50%
    }
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct-img {
        text-align: right
    }
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct-content {
        padding-left: 4rem
    }
}

.FeaturedProduct-text {
    margin-bottom: 1.25rem
}

.FeaturedProduct-features {
    width: 100%;
    margin-top: 1rem
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct-features .Grid {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

@media only screen and (min-width:37.5em), print {
    .FeaturedProduct-features .slick-slider {
        display: none
    }
}

.FeaturedProduct-features .slick-slide {
    padding: 0 .5rem
}

.ProductFeature {
    margin: auto
}

    .ProductFeature img {
        display: block;
        margin: auto;
        max-height: 150px
    }

.ProductFeature-heading {
    margin-top: .5rem
}

.Tagline {
    margin-top: .25rem;
    margin-bottom: 1em;
    text-transform: none
}

.Footer {
    padding: 2em 0 1em;
    background: #000 linear-gradient(90deg, #f99d1d, #cb3c6d 48%, #782a8f) no-repeat;
    background-size: 100% 2px;
    color: #fff;
    position: relative;
    z-index: 20
}

    .Footer a {
        color: inherit;
        text-decoration: none
    }

        .Footer a:hover {
            text-decoration: underline
        }

    .Footer li,
    .Footer p {
        font-size: 14px;
        line-height: 1.2;
        margin: .75rem 0
    }

    .Footer .Caption {
        color: #999
    }

    .Footer .Page-content-container {
        min-height: 100px
    }

@media only screen and (min-width:37.5em), print {
    .Footer .Page-content-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.Footer-col {
    padding: 0 .5rem .5rem
}

@media only screen and (min-width:37.5em), print {
    .Footer-col {
        max-width: 50%;
        padding: 0 1rem .5rem 0;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto
    }

        .Footer-col:first-child {
            padding-left: 0;
            -webkit-box-flex: 2;
            -ms-flex-positive: 2;
            flex-grow: 2
        }

        .Footer-col:last-child {
            padding-right: 0
        }

    .Footer-col--span {
        -webkit-box-flex: 1;
        -ms-flex: 1 3 100%;
        flex: 1 3 100%
    }
}

.Footer-SocialSharing {
    margin: 1rem 0
}

@media only screen and (min-width:37.5em), print {
    .Footer-SocialSharing {
        margin: 2rem 0
    }
}

.Footer-SocialSharing a:hover svg {
    fill: #5ce0f2
}

.FooterNav_Menu-list li {
    margin-top: .75rem
}

.FooterNav_Menu-list--inline {
    margin-top: 1rem
}

    .FooterNav_Menu-list--inline li {
        display: inline-block
    }

        .FooterNav_Menu-list--inline li:not(:first-child):before {
            content: "|";
            margin: 0 .5rem
        }

.GBB-result .icon-bow {
    margin: 1rem auto 1rem 0
}

#epi-quickNavigator {
    opacity: .4
}

    #epi-quickNavigator:hover {
        opacity: 1
    }

.Header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    font-family: Industry-Demi, Industry Demi, Helvetica, sans-serif;
    text-transform: uppercase;
    font-size: .875rem;
    line-height: 1;
    background: #fff;
    color: #7f7f7f;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 997
}

    .Header .icon-cart,
    .Header .icon-user,
    .Header .icon-globe,
    .Header .icon-bell {
        fill: #4F4F4F;
        stroke: #4F4F4F;
    }



    .Header svg.Logo,
    .Header svg.Logo * {
        stroke: none;
    }

html {
    padding-top: 3.25rem
}

@media only screen and (min-width:56.25em), print {
    html {
        padding-top: 7.5rem
    }
}

.MainNav,
.TopNav {
    width: 100%
}

    .MainNav a,
    .TopNav a {
        transition: all .75s
    }

.MainNav_Menu,
.Searchbar,
.TopNav {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 71.125rem;
    padding-left: .25rem;
    padding-right: .25rem
}

.TopNav {
    display: none
}

@media only screen and (min-width:56.25em), print {
    .TopNav {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        display: block
    }

    .TopNav_Cobranding-list,
    .TopNav_User-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    html.is-no-flexbox .TopNav_Cobranding-list,
    html.is-no-flexbox .TopNav_User-list {
        display: table
    }

    .TopNav_Cobranding-listItem,
    .TopNav_User-listItem {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin: auto;
        text-align: center;
        vertical-align: middle;
        position: relative
    }

    html.is-no-flexbox .TopNav_Cobranding-listItem,
    html.is-no-flexbox .TopNav_User-listItem {
        display: table-cell
    }

    .TopNav_Cobranding-listItem .UserName,
    .TopNav_Cobranding-listItem > a,
    .TopNav_User-listItem .UserName,
    .TopNav_User-listItem > a {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
        height: 38px;
        line-height: 38px;
        vertical-align: bottom
    }

    .TopNav_Cobranding {
        float: left
    }

    .TopNav_Cobranding-listItem:before {
        content: "|";
        line-height: 38px;
        color: #ddd
    }

    .TopNav_Cobranding-listItem:first-child:before {
        display: none
    }

    .TopNav_Cobranding-listItem a {
        opacity: .6
    }

        .TopNav_Cobranding-listItem a:hover {
            opacity: 1
        }

    .TopNav_Cobranding-listItem img {
        margin: auto;
        -o-object-fit: contain;
        object-fit: contain;
        -o-object-position: center;
        object-position: center;
        font-family: "object-fit: contain; object-position: center"
    }

    .TopNav_User {
        float: right
    }

    .TopNav_User-listItem {
        position: relative
    }

        .TopNav_User-listItem > .Nav-link:after {
            content: "";
            width: 100%;
            left: 0;
            height: 0;
            display: block;
            position: absolute;
            border-top: 4px solid;
            margin-top: -4px;
            top: 100%;
            height: 1rem;
            color: transparent;
            transition: all .25s;
            outline: 1px solid transparent
        }

        .TopNav_User-listItem:hover > .Nav-link:after {
            margin-top: 0;
            color: #fff;
            outline: 0 solid transparent
        }

        .TopNav_User-listItem.has-subNav--fullwidth {
            position: static
        }

        .TopNav_User-listItem:hover > .subNav {
            pointer-events: all;
            visibility: visible;
            opacity: 1;
            margin-top: 1.1rem
        }

        .TopNav_User-listItem.closed > .subNav {
            z-index: 1000;
            pointer-events: none;
            visibility: hidden;
            margin-top: 0;
            opacity: 0;
            transition: all .25s;
            transition: opacity .25s, margin .25s, visibility 0s, pointer-events 0s .25s
        }

        .TopNav_User-listItem .UserIcon {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%
        }

            .TopNav_User-listItem .UserIcon svg {
                margin-left: 0
            }

        .TopNav_User-listItem .UserName {
            padding-left: 2.8125rem;
            font-size: .75rem;
            pointer-events: none
        }

        .TopNav_User-listItem .UserName--anon {
            padding-right: 0;
            text-indent: -999rem;
            font-size: 0;
            letter-spacing: -1px;
            overflow: hidden
        }
}

.MainNav_Menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.MainNav .Nav-link {
    line-height: 2.5rem
}

@media only screen and (max-width:56.1875em) {
    .MainNav {
        z-index: 997;
        position: fixed;
        top: 0;
        height: 0;
        overflow-x: hidden;
        overflow-y: auto;
        transition: all .25s;
        background: #f6f6f6
    }

    #MobileMenu-open:checked ~ .MainNav,
    .MainNav.is-open {
        padding-top: 3.25rem;
        height: 100%
    }

    .MainNav_Menu-list {
        width: 100%;
        padding: .5rem
    }

    .MainNav_Menu-listItem,
    .MainNav_Menu-listItem--account {
        position: relative;
        margin-bottom: .5rem;
        background: #fff;
        overflow: hidden
    }

    .MainNav_Menu-listItem--logo,
    .MainNav_Menu-listItem--search {
        display: none !important
    }

    .MainNav_Menu-listItem .Nav-link {
        line-height: 2.5rem
    }

    .MainNav .UserName {
        display: none !important
    }
}

@media only screen and (min-width:56.25em), print {
    .MainNav {
        border-top: 1px solid #d2cfcd;
        border-bottom: 1px solid #d2cfcd;
        border-top-color: hsla(24, 5%, 81%, .5)
    }

    .MainNav_Menu-list {
        height: 81px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: auto;
        position: relative
    }

    html.is-no-flexbox .MainNav_Menu-list {
        display: table
    }

    .MainNav_Menu-listItem.has-subNav--fullwidth {
        position: static
    }

    .MainNav_Menu-listItem:hover > .subNav {
        pointer-events: all;
        visibility: visible;
        opacity: 1;
        margin-top: 1.1rem
    }

    .MainNav_Menu-listItem.closed > .subNav {
        z-index: 1000;
        pointer-events: none;
        visibility: hidden;
        margin-top: 0;
        opacity: 0;
        transition: all .25s;
        transition: opacity .25s, margin .25s, visibility 0s, pointer-events 0s .25s
    }

    .MainNav_Menu-listItem--account {
        display: none !important
    }

    .MainNav_Menu-listItem,
    .MainNav_Menu-listItem--search {
        position: relative;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin: auto;
        text-align: center;
        vertical-align: middle
    }

        .MainNav_Menu-listItem--search > .Nav-link:after,
        .MainNav_Menu-listItem > .Nav-link:after {
            content: "";
            width: 100%;
            left: 0;
            height: 0;
            display: block;
            position: absolute;
            border-top: 4px solid;
            margin-top: -4px;
            top: 100%;
            height: 1rem;
            color: transparent;
            transition: all .25s;
            outline: 1px solid transparent
        }

        .MainNav_Menu-listItem--search:hover > .Nav-link:after,
        .MainNav_Menu-listItem:hover > .Nav-link:after {
            margin-top: 0;
            color: #000;
            outline: 0 solid transparent
        }

    html.is-no-flexbox .MainNav_Menu-listItem,
    html.is-no-flexbox .MainNav_Menu-listItem--search {
        display: table-cell
    }

    .MainNav_Menu-listItem--search > .Nav-link,
    .MainNav_Menu-listItem > .Nav-link {
        display: table;
        position: relative;
        height: 45px;
        line-height: 45px;
        white-space: nowrap
    }

    .MainNav_Menu-listItem--logo {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        text-align: left;
        min-width: 200px;
    }

    .MainNav_Menu-listItem--logo a {
        display: table
    }

    .MainNav_Menu-listItem--search {
        position: relative
    }

        .MainNav_Menu-listItem--search .Nav-link {
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
        }

        .MainNav_Menu-listItem--search .Button--outline:focus,
        .MainNav_Menu-listItem--search .Button--small:focus,
        .MainNav_Menu-listItem--search .Button:focus,
        .MainNav_Menu-listItem--search input:focus {
            box-shadow: 0 0 1px 2px #5ce0f2
        }

        .MainNav_Menu-listItem--search input {
            max-width: 60vw;
            width: 12rem;
            transition: width .25s
        }

        .MainNav_Menu-listItem--search .subNav {
            left: auto;
            right: 0;
            -webkit-transform: none;
            transform: none
        }

        .MainNav_Menu-listItem--search .Nav-checkbox:checked ~ .subNav input {
            width: 28.5rem
        }
}

.MobileNav_Menu--open {
    padding-top: 3.25rem;
    height: 100%
}

.Hero-img {
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: 50%;
    min-height: 400px;
    max-height: 700px;
    height: calc(400px + 300 * (100vw - 600px) / 300)
}

    .Hero-img .img--mobile + img {
        display: none
    }

@media only screen and (min-width:37.5em), print {
    .Hero-img .img--mobile {
        display: none
    }

        .Hero-img .img--mobile + img {
            display: block
        }
}

.Hero-content,
.HeroBlock .Hero-cta {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 6%;
    background: transparent;
    color: #fff;
    text-shadow: #000 0 0 20px
}

@media only screen and (min-width:75em) {
    .Hero-content,
    .HeroBlock .Hero-cta {
        bottom: calc(6% + 5vmax);
        bottom: 8vmax
    }
}

.Hero {
    position: relative;
    max-width: 90rem;
    margin: 1.5rem auto;
    margin-top: 0 !important;
    max-height: 700px;
    overflow: hidden
}

@media only screen and (min-width:37.5em), print {
    .Hero {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.Hero-content,
.Hero-cta {
    margin: auto;
    vertical-align: bottom;
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .Hero-content,
    .Hero-cta {
        text-align: left
    }
}

.Hero-description,
.Hero-headline {
    position: relative
}

@media only screen and (min-width:37.5em), print {
    .Hero-description,
    .Hero-headline {
        margin-left: 0;
        width: 85%;
        max-width: 60.03125rem
    }
}

.Hero-headline {
    margin-top: 0
}

.Hero-cta {
    z-index: 20
}

@media only screen and (min-width:37.5em), print {
    .Hero-cta .Button--outline:hover,
    .Hero-cta .Button--small:hover,
    .Hero-cta .Button:hover {
        background-color: #fff;
        box-shadow: none
    }
}

.Hero--featured .icon-pixels {
    top: auto;
    left: 50%
}

@media only screen and (min-width:37.5em), print {
    .Hero--featured .icon-pixels {
        left: auto
    }
}

.Hero--featured .Hero-img {
    min-height: 400px;
    max-height: 600px;
    height: calc(400px + 200 * (100vw - 600px) / 300)
}

    .Hero--featured .Hero-img:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(-180deg, hsla(0, 0%, 100%, 0), rgba(0, 22, 61, .5) 70%)
    }

.Hero--featured img {
    display: none !important
}

.Hero--featured .Button,
.Hero--featured .Button--outline,
.Hero--featured .Button--small {
    width: 100%
}

@media only screen and (min-width:37.5em), print {
    .Hero--featured .Button,
    .Hero--featured .Button--outline,
    .Hero--featured .Button--small {
        width: auto
    }
}

.HeroBlock .Hero-content {
    padding-bottom: 3.5rem
}

@media only screen and (min-width:37.5em), print {
    .HeroBlock .Hero-cta .Button--outline:hover,
    .HeroBlock .Hero-cta .Button--small:hover,
    .HeroBlock .Hero-cta .Button:hover {
        background-color: #fff;
        box-shadow: none
    }
}

.HeroBlock .Hero-description span,
.HeroBlock .Hero-headline span {
    display: inline-block;
    line-height: 1.24;
    padding: .25em .75rem;
    margin: 0 auto;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone
}

@media only screen and (min-width:37.5em), print {
    .HeroBlock .Hero-description,
    .HeroBlock .Hero-headline {
        margin-left: -.75rem;
        max-width: 38.84375rem
    }
}

.HeroBlock .Ironroll-container {
    display: none
}

@media only screen and (min-width:37.5em), print {
    .HeroBlock .Ironroll-container {
        display: block;
        height: 0;
        width: 0;
        z-index: 20
    }
}

.Hero-reveal {
    transition: all 2s ease, opacity 1s, visibility 2s;
    visibility: hidden;
    opacity: 0
}

.Hero-reveal,
.Hero-reveal-wrapper {
    z-index: 15;
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.Hero.active .Hero-reveal {
    opacity: 1;
    visibility: visible;
    transition: all 2s ease, opacity 1s, visibility 0s
}

.Hero-reveal span {
    text-shadow: none !important;
    background-color: #fff;
    color: #000
}

body,
html {
    width: 100%;
    height: 100%
}

/*main {
    overflow-x: hidden
}

@media only screen and (max-width:56.1875em) {
    main {
        overflow-x: hidden
    }
}*/

.MobileNavbar {
    position: relative;
    z-index: 999;
    background: #ffffff
}

@media only screen and (min-width:56.25em), print {
    .MobileNavbar {
        display: none !important
    }
}

.MobileNavbar-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

html.is-no-flexbox .MobileNavbar-list {
    display: table
}

.MobileNavbar-listItem,
.MobileNavbar-listItem--logo {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    margin: auto;
    text-align: center;
    vertical-align: middle
}

html.is-no-flexbox .MobileNavbar-listItem,
html.is-no-flexbox .MobileNavbar-listItem--logo {
    display: table-cell
}

.MobileNavbar-listItem--logo {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: left
}

    .MobileNavbar-listItem--logo a {
        float: left
    }

.MobileNavbar-listItem a svg {
    margin: auto
}

#MobileMenu-open:checked ~ .MobileNavbar .Hamburger span {
    border-color: transparent
}

    #MobileMenu-open:checked ~ .MobileNavbar .Hamburger span:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 0
    }

    #MobileMenu-open:checked ~ .MobileNavbar .Hamburger span:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 0
    }

.NewsBlock {
    position: relative;
    max-width: 90rem;
    margin: 1.5rem auto
}

@media only screen and (min-width:37.5em), print {
    .NewsBlock {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.Page-Start .NewsBlock {
    margin-bottom: 0
}

.NewsBlock img {
    max-width: 90rem
}

.NewsBlock-img {
    display: block;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    font-family: "object-fit: cover; object-position: center"
}

.NewsBlock-container {
    position: relative;
    background-color: #00163d
}

.NewsBlock-pixels {
    position: absolute;
    height: 100%;
    top: -50%;
    right: 0
}

.NewsBlock-content {
    position: relative;
    padding: 1.5rem;
    color: #fff;
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .NewsBlock,
    .NewsBlock img {
        max-height: 670px;
        min-height: 279.16666667px
    }

    .NewsBlock-pixels {
        top: 0
    }

    .NewsBlock-bg {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        background-image: radial-gradient(34% 100%, #8facac 0, #002f86 100%);
        mix-blend-mode: multiply
    }

    .NewsBlock-container {
        background-color: transparent;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 60%
    }

    .NewsBlock-content {
        text-align: left;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media only screen and (min-width:75em) {
    .NewsBlock-container {
        width: 50%
    }

    .NewsBlock-content {
        padding: 1.5rem 4.125rem
    }
}


#BVRRSummaryContainer .bv-stars-container {
    display: none !important
}

#BVRRSummaryContainer button.bv-write-review,
.bv-cleanslate.bv-cv2-cleanslate .bv-shared button.bv-write-review {
    display: inline-block !important;
    margin: .5rem auto !important;
    padding: .5rem 1.5em !important;
    font: .875rem/1.5rem Industry-Demi, Industry Demi, Helvetica, sans-serif !important;
    max-height: 2.5rem !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    text-align: center !important;
    vertical-align: middle !important;
    text-shadow: none !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    background-color: #5ce0f2 !important;
    color: #000 !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer
}

    #BVRRSummaryContainer button.bv-write-review:active,
    #BVRRSummaryContainer button.bv-write-review:focus,
    #BVRRSummaryContainer button.bv-write-review:hover,
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared button.bv-write-review:active,
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared button.bv-write-review:focus,
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared button.bv-write-review:hover {
        background-color: #5ce0f2 !important;
        border-color: currentColor !important;
        outline: none !important
    }

.bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-focusable:focus {
    outline: none !important
}

.bv-cleanslate.bv-cv2-cleanslate .bv-shared button.bv-write-review {
    border-color: currentColor !important;
    background-color: #fff !important
}

.bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-header {
    position: relative !important;
    padding-top: .5rem !important
}

.bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-action-bar-header {
    display: none !important
}

@media only screen and (max-width:37.4375em) {
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-header {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-action-bar {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding-top: 0 !important;
        margin-bottom: 1rem !important
    }

    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-write-review-container {
        float: left !important
    }
}

@media only screen and (min-width:37.5em), print {
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-action-bar {
        z-index: 5 !important;
        position: absolute !important;
        right: 0 !important;
        bottom: 0 !important;
        right: .125rem !important;
        bottom: 3.5rem !important
    }
}

@media only screen and (min-width:56.25em), print {
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-inline-histogram {
        width: 30% !important
    }

    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-inline-histogram-ratings table,
    .bv-cleanslate.bv-cv2-cleanslate .bv-shared .bv-popup-histogram-ratings table {
        width: 80% !important
    }
}


.Product {
    position: relative;
    margin: 1.5rem auto
}

@media only screen and (min-width:37.5em), print {
    .Product {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.Product-Header {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 70.625rem;
    z-index: 99;
    padding: .1px 0
}

    .Product-Header .Product-name {
        margin-top: 0;
        margin-bottom: .25em
    }

    .Product-Header .Product-description {
        margin: 1.5rem auto
    }

@media only screen and (min-width:37.5em), print {
    .Product-Header .Product-img img {
        max-height: 100%
    }

    .Product-Header:not(.no-MainImage) {
        width: 50%;
        float: right;
        margin-bottom: 1rem
    }

        .Product-Header:not(.no-MainImage) .Product-img,
        .Product-Header:not(.no-MainImage) .Product-info {
            padding: 0 1rem
        }

        .Product-Header:not(.no-MainImage) .Product-img {
            position: absolute;
            top: 0;
            bottom: 0;
            margin: 0;
            left: -100%;
            width: 100%;
            max-height: 100%
        }

    .Product-Header .Product-description {
        margin: 2.5rem auto
    }
}

@media only screen and (min-width:56.25em), print {
    .Product-Header:not(.no-MainImage) .Product-Header {
        min-height: 31.25rem
    }
}

.Product-Header.no-MainImage {
    text-align: center
}

.Product-img {
    margin: 1rem auto
}

    .Product-img img {
        display: block;
        max-height: 50vh;
        margin: auto;
        vertical-align: top;
        -o-object-fit: contain;
        object-fit: contain;
        -o-object-position: center;
        object-position: center;
        font-family: "object-fit: contain; object-position: center"
    }

.Product-name a {
    text-decoration: none
}

.Product-name span {
    text-transform: lowercase !important
}

.Product-caption {
    display: block
}

.Product-variations .Select {
    margin-top: 0;
    width: 100%
}

@media only screen and (min-width:56.25em), print {
    .Product-variations .Select {
        width: auto
    }
}

@media only screen and (max-width:37.4375em) {
    .Product .Price {
        text-align: left
    }
}

.Product-cta > * {
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: .75rem
}

.Product-cta .Button,
.Product-cta .Button--outline,
.Product-cta .Button--small {
    display: block;
    width: 100%;
    max-width: 25rem
}

.Product-cta--Link {
    display: table;
    margin: .5rem auto
}

@media only screen and (min-width:56.25em), print {
    .Product-cta {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: wrap;
        flex-flow: wrap
    }

        .Product-cta > * {
            -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
            flex: 0 1 auto;
            white-space: nowrap
        }

    .Product-Header:not(.no-MainImage) .Product-cta > * {
        margin-left: 0;
        margin-right: 0
    }

    .Product-Header:not(.no-MainImage) .Product-cta > :first-child {
        margin-right: auto
    }

    .Product-Header:not(.no-MainImage) .Product-cta .Link,
    .Product-Header:not(.no-MainImage) .Product-cta .Link--back {
        margin-right: .875rem
    }

    .Product-cta .Button,
    .Product-cta .Button--outline,
    .Product-cta .Button--small {
        display: inline-block;
        -ms-flex-preferred-size: 49%;
        flex-basis: 49%;
        max-width: 49%
    }

    .Product-demoLink {
        width: 100%;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch
    }

    .Product-Header:not(.no-MainImage) .Product-cta--Link {
        margin-left: 0
    }
}

.ProductShowcase {
    position: relative;
    max-width: 90rem;
    margin: 1rem auto 2.5rem;
    background: url(/Assets/Images/ProductShowcase_bg.jpg) no-repeat top/contain
}

.ProductShowcase-wrapper {
    position: relative;
    max-width: 70.625rem;
    margin: auto
}

@media only screen and (min-width:37.5em), print {
    .ProductShowcase {
        background-size: cover;
        background-position: 50%
    }

    .ProductShowcase-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: .5rem
    }
}

.ProductShowcase-content,
.ProductShowcase-img {
    padding: 0 1.5rem
}

@media only screen and (min-width:37.5em), print {
    .ProductShowcase-content,
    .ProductShowcase-img {
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin: auto;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0%;
        flex: 1 1 0%;
        color: #fff
    }
}

@media only screen and (min-width:75em) {
    .ProductShowcase-content,
    .ProductShowcase-img {
        padding: 0
    }
}

.ProductShowcase-img img {
    display: block;
    margin: auto;
    position: relative
}

@media only screen and (min-width:75em) {
    .ProductShowcase-img img {
        right: -2rem
    }
}

@media only screen and (min-width:37.5em), print {
    .ProductShowcase-content {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }
}

.ProductShowcase-list {
    display: none
}

@media only screen and (min-width:37.5em), print {
    .ProductShowcase-list {
        display: table;
        list-style: none;
        padding: 0;
        margin: 2.5rem 0 0;
        margin-right: -2rem
    }

    .ProductShowcase-listItem {
        padding: 0;
        display: table-cell
    }

        .ProductShowcase-listItem .textframe,
        .ProductShowcase-listItem .textframe-right {
            display: table;
            margin-top: 0;
            margin-right: .25rem
        }
}

@media only screen and (min-width:75em) {
    .ProductShowcase-list {
        margin-right: -4rem
    }
}

.Specifications {
    text-align: center
}

.Specifications-list,
.Specifications-list--more {
    margin: auto auto 1em;
    text-align: left;
    vertical-align: top
}

.Specifications-header {
    margin-bottom: 1em
}

@media only screen and (min-width:37.5em), print {
    .Specifications-list,
    .Specifications-list--more {
        margin-bottom: 1.5rem
    }
}

.Document-teaser {
    height: 100%;
    padding: 1rem;
    margin: 0
}

#SkuSelection {
    padding-top: 4.25rem !important;
    margin-top: -4.25rem !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none
}

@media only screen and (min-width:56.25em), print {
    #SkuSelection {
        padding-top: 9rem !important;
        margin-top: -9rem !important
    }
}

#SkuSelection .Select-input:focus {
    box-shadow: 0 0 2px 1px rgba(208, 2, 27, .75)
}

#SkuSelection * {
    -webkit-user-select: initial;
    -moz-user-select: initial;
    -ms-user-select: initial;
    user-select: auto;
    -webkit-user-select: unset;
    -moz-user-select: unset;
    -ms-user-select: unset;
    user-select: unset;
    pointer-events: all
}

#trigger_onScrollCTA {
    min-height: 0
}

.onScrollCTA {
    position: relative;
    display: table;
    width: 100%;
    pointer-events: none
}

    .onScrollCTA .Sticky-element {
        z-index: 995;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff linear-gradient(90deg, #f99d1d, #cb3c6d 48%, #782a8f) no-repeat;
        background-size: 100% 2px;
        pointer-events: all;
        transition: -webkit-transform .25s;
        transition: transform .25s;
        transition: transform .25s, -webkit-transform .25s
    }

        .onScrollCTA .Sticky-element.is-sticky {
            -webkit-transform: translateY(100%);
            transform: translateY(100%)
        }

            .onScrollCTA .Sticky-element.is-sticky.visible {
                -webkit-transform: translateY(0);
                transform: translateY(0)
            }

@media only screen and (min-width:37.5em), print {
    .onScrollCTA,
    .onScrollCTA .ProductChaser {
        min-height: 100px
    }
}

.ProductChaser {
    padding: .5rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: table;
    width: 100%
}

.ProductChaser-img {
    width: 70px
}

    .ProductChaser-img img {
        max-height: 75px;
        background-color: #f6f6f6
    }

.ProductChaser .Product-name,
.ProductChaser p {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.2
}

    .ProductChaser p + p {
        margin-top: .5em
    }

.ProductChaser .Product-variation {
    display: inline-block;
    margin-right: .5rem
}

    .ProductChaser .Product-variation li {
        display: inline-block
    }

        .ProductChaser .Product-variation li:not(:last-child):after {
            content: ","
        }

    .ProductChaser .Product-variation .Link,
    .ProductChaser .Product-variation .Link--back {
        white-space: nowrap
    }

@media only screen and (min-width:56.25em), print {
    .ProductChaser-cta {
        white-space: nowrap
    }
}

@media only screen and (max-width:37.4375em) {
    .ProductChaser {
        background: transparent
    }

        .ProductChaser .Product-name {
            cursor: pointer;
            margin-right: -.5rem;
            padding-right: 1rem
        }

    .ProductChaser-content:after {
        content: "";
        position: relative;
        display: inline-block;
        height: 1.5rem;
        width: 1.5rem;
        top: .35rem;
        right: -.25rem;
        background: transparent url(/Assets/Icons/arrow-gallery.svg) no-repeat 50%;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
        position: absolute;
        right: 1rem;
        top: .5rem;
        pointer-events: none
    }

    .ProductChaser-content > * {
        margin-top: .25em
    }

    .is-closed > .ProductChaser-content:after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .is-closed > .ProductChaser-content > :not(.Product-name),
    .is-closed > .ProductChaser-cta,
    .ProductChaser-img {
        display: none
    }

    .ProductChaser.is-closed .ProductChaser-content:after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .ProductChaser.is-closed .ProductChaser-content > :not(.Product-name),
    .ProductChaser.is-closed .ProductChaser-cta {
        display: none
    }

    .ProductChaser-cta .Button,
    .ProductChaser-cta .Button--outline,
    .ProductChaser-cta .Button--small {
        display: block;
        width: 100%;
        margin-bottom: .25rem
    }
}

@media only screen and (min-width:37.5em), print {
    .ProductChaser {
        padding: .75rem 0
    }

        .ProductChaser > * {
            display: table-cell;
            vertical-align: top
        }

    .ProductChaser-content {
        padding: 0 0 0 1.5rem
    }

    .ProductChaser-cta {
        vertical-align: middle;
        text-align: right
    }

        .ProductChaser-cta .Button,
        .ProductChaser-cta .Button--outline,
        .ProductChaser-cta .Button--small {
            margin: .25rem 0;
            margin-left: 1rem
        }
}

.ProductCategory {
    position: relative;
    max-width: 1130px;
    margin: 1.5rem auto
}

@media only screen and (min-width:37.5em), print {
    .ProductCategory {
        margin-top: 3rem;
        margin-bottom: 3rem
    }
}

.ProductCategory-content,
.ProductCategory-image,
.ProductCategory-promotion {
    position: relative
}

.ProductCategory-image {
    overflow: hidden
}

    .ProductCategory-image img {
        display: block;
        max-width: 1130px;
        max-height: 511px;
        min-height: 300px;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        font-family: "object-fit: cover; object-position: center"
    }

.ProductCategory-content,
.ProductCategory-promotion {
    padding: 0 1.5rem
}

.ProductCategory-imageSecondary {
    width: 100%
}

@media only screen and (min-width:37.5em), print {
    .ProductCategory {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

@media only screen and (min-width:75em) {
    .ProductCategory-content {
        padding-left: 0
    }

    .ProductCategory-promotion {
        padding-right: 0
    }
}

.ProductCategory .Ironroll-container {
    position: absolute
}

    .ProductCategory .Ironroll-container.size-small {
        -webkit-transform: scale(.5);
        transform: scale(.5)
    }

        .ProductCategory .Ironroll-container.size-small.direction-left {
            -webkit-transform: scaleX(-1) scale(.5);
            transform: scaleX(-1) scale(.5)
        }

.ProductPromo {
    text-align: center
}

    .ProductPromo-img,
    .ProductPromo .textframe-gradient {
        position: relative;
        margin: auto
    }

.ProductPromo-img {
    z-index: 1
}

    .ProductPromo-img img {
        display: block;
        margin: auto;
        -o-object-fit: contain;
        object-fit: contain;
        -o-object-position: center;
        object-position: center;
        font-family: "object-fit: contain; object-position: center";
        max-height: 230px
    }

.ProductPromo .textframe-gradient {
    height: auto;
    margin: -4rem auto 1.5rem;
    padding-top: 4rem;
    text-align: center
}

.ProductPromo-description {
    color: #4a4a4a
}

.ProductPromo-cta {
    margin-bottom: -.5rem
}

    .ProductPromo-cta .Button,
    .ProductPromo-cta .Button--outline,
    .ProductPromo-cta .Button--small {
        width: 100%
    }

@media only screen and (min-width:37.5em), print {
    .ProductPromo-img {
        right: -4.5%
    }

        .ProductPromo-img img {
            margin-right: 0
        }

    .ProductPromo .textframe-gradient {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 0;
        padding-top: 1rem;
        text-align: left
    }

    .ProductPromo-content {
        min-width: 175px;
        margin: auto 0 auto auto;
        margin-left: 1.5rem
    }

    .ProductPromo-cta .Button,
    .ProductPromo-cta .Button--outline,
    .ProductPromo-cta .Button--small {
        width: auto
    }
}

@media only screen and (min-width:56.25em), print {
    .ProductPromo .textframe-gradient {
        margin-right: 0
    }
}

input[name=show-all]:checked ~ .u-hidden {
    display: block !important
}

input[name=show-all]:checked ~ .show-all--wrapper {
    display: none !important
}

.Product-teaser.is-comparing .Checkbox-label:not(.u-hidden) {
    display: none !important
}

.Product-teaser.is-comparing .Checkbox-label.u-hidden {
    display: inline-block !important
}

.Product-content {
    z-index: 10
}

@media only screen and (min-width:75em) {
    .Product-content--compare {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        position: relative;
        height: 3.15rem;
        background: #f6f6f6
    }
}

.Product-compare {
    display: none;
    z-index: 9;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin: 0
}

.Product-compare--visible {
    display: block;
    width: 100%;
    z-index: 99
}

@media only screen and (max-width:74.9375em) {
    .Product-compare {
        margin-top: .25rem;
        margin-bottom: .25rem;
        margin-right: -.25rem
    }

        .Product-compare label {
            font-size: .75rem
        }
}

@media only screen and (min-width:75em) {
    .Product-compare {
        display: block;
        width: 100%;
        width: 99.7%;
        height: 2.5rem;
        padding: .5rem 0;
        line-height: 1.45;
        text-align: center;
        background: rgba(0, 0, 0, .64);
        color: #fff;
        margin-top: -2.5rem;
        position: relative;
        bottom: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
        transition: all .25s, z-index 0s
    }

    .Product-teaser.is-comparing .Product-compare,
    .Product-teaser:hover .Product-compare {
        z-index: 11;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        transition: all .25s, z-index 0s .25s
    }

    .Product-compare[disabled] {
        opacity: .5
    }
}

.Search-results .Product-compare {
    display: none !important
}

.Product-pageNumber {
    padding-top: 4.25rem !important;
    margin-top: -4.25rem !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: none;
    padding-bottom: 0 !important;
    margin-bottom: -1.5em;
    text-indent: -9999rem;
    z-index: -1;
    position: relative;
    background-color: rgba(255, 255, 0, .25)
}

@media only screen and (min-width:56.25em), print {
    .Product-pageNumber {
        padding-top: 9rem !important;
        margin-top: -9rem !important
    }
}

.Product-teaser {
    margin: .5rem;
    padding: 0
}

    .Product-teaser .Product-description {
        font-size: .875rem;
        line-height: 1.2;
        max-height: 2.1rem;
        overflow: hidden
    }

.Product-list {
    position: relative;
    width: 100%
}

.Product-listItem--hidden {
    display: none
}

@media only screen and (max-width:37.4375em) {
    .Product-list {
        margin: 0 !important
    }

    .Product-listItem {
        border-bottom: 1px solid #d2cfcd;
        padding-left: 0 !important;
        padding-right: 0 !important
    }
}

.Product-list .Product-teaser {
    margin: .75rem 0
}

.Product-list .Product-content,
.Product-list .Product-img {
    display: block;
    margin-bottom: 0;
    padding-left: 0
}

.Product-list .Product-img {
    margin-top: 0;
    margin-left: 0;
    float: left
}

    .Product-list .Product-img img {
        -ms-interpolation-mode: bicubic
    }

@media only screen and (min-width:37.5em), print {
    .Product-list .Product-teaser {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .Product-list .Product-content,
    .Product-list .Product-img {
        width: 100%;
        display: table
    }

    .Product-list .Product-img {
        margin-right: 0;
        float: none;
        padding-top: 74.3083004%;
        position: relative
    }

        .Product-list .Product-img img {
            max-height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0
        }
}

@media only screen and (min-width:37.5em), print {
    .ProductSupport-header {
        padding: 2rem 0
    }
}

.ProductSupport-header p {
    margin-bottom: 1rem
}

.ProductSupport-header .textframe-gradient {
    text-align: center
}

@media only screen and (min-width:37.5em), print {
    .ProductSupport-header .textframe-gradient {
        text-align: left
    }
}

.TextBlock ul li {
    list-style: disc outside
}

.TextBlock ol li,
.TextBlock ul li {
    margin-bottom: .25rem;
    margin-left: 1.5rem
}

.TextBlock ol li {
    list-style: decimal outside
}


.FAQsPage {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 78ch;
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.GBB-selection .Select {
    display: none;
    position: absolute;
    left: 0;
    bottom: 3.25rem
}

.GBB-selection .Radio-input:checked ~ .Select {
    display: block
}

@media only screen and (min-width:37.5em), print {
    .GBB-selection {
        margin-bottom: 2rem
    }
}

.Page--styleguide {
    background-color: #fff
}

    .Page--styleguide .fiftyfiftyblock.Grid-cell,
    .Page--styleguide [data-block-name] {
        position: relative;
        margin-top: 1.5em
    }

        .Page--styleguide .fiftyfiftyblock.Grid-cell:before,
        .Page--styleguide [data-block-name]:before {
            display: block;
            font: 14px Monospace, Helvetica, Arial, sans-serif;
            padding: .125em .25rem;
            margin: 1.5rem .5rem 1rem 0;
            text-align: left;
            border-bottom: .125em solid #ccc;
            background: hsla(0, 0%, 100%, 0);
            text-shadow: #fff 0 0 1px, #fff 1px 1px 1px;
            color: #666;
            content: attr(data-block-name);
            position: absolute;
            top: -1.5em;
            left: 0;
            right: 0;
            position: relative;
            top: -1em;
            z-index: 99;
            margin: 0 auto
        }

        .Page--styleguide .fiftyfiftyblock.Grid-cell:before {
            content: "50/50 Block"
        }

.sg-Section {
    padding: 0 1rem;
    padding: .5rem 1rem
}

.sg-Section-title {
    display: none;
    padding-bottom: .2em;
    border-bottom: .125em solid;
    margin: 0 -1rem 1.5rem;
    color: #555
}

.sg-Section-subtitle {
    display: block;
    font: 14px Monospace, Helvetica, Arial, sans-serif;
    padding: .125em .25rem;
    margin: 1.5rem .5rem 1rem 0;
    text-align: left;
    border-bottom: .125em solid #ccc;
    background: hsla(0, 0%, 100%, 0);
    text-shadow: #fff 0 0 1px, #fff 1px 1px 1px;
    color: #666
}

.Grid {
    list-style: none
}

.Input_item {
    padding-top: 1px;
    padding-bottom: 1px
}

    .Input_item > .Select,
    .Input_item > input,
    .Input_item > label {
        width: 100%
    }

.Icon_item .svg {
    margin-bottom: 1rem;
    max-width: 80%;
    height: 60px
}

.Icon_item code {
    display: inline-block;
    font-size: 12px;
    white-space: pre-line;
    white-space: pre-wrap
}

.Icon__name {
    font-weight: 700
}

.Swatch_list {
    padding: 0;
    margin: 0 0 2rem;
    display: table;
    width: 100%;
    table-layout: fixed;
    list-style: none
}

.Swatch_item {
    display: inline-block;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.4;
    margin: 0 1rem 1rem 0
}

    .Swatch_item p {
        margin: .4em 0
    }

@media (min-width:600px) {
    .Swatch_item {
        display: table-cell;
        padding-right: .75rem
    }
}

.u-alignBaseline {
    vertical-align: baseline !important
}

.u-alignBottom {
    vertical-align: bottom !important
}

.u-alignMiddle {
    vertical-align: middle !important
}

.u-alignTop {
    vertical-align: top !important
}

.u-alignCenter {
    margin-left: auto !important;
    margin-right: auto !important
}

.u-color-white {
    color: #fff
}

.u-color-near_white {
    color: #f7f7f7
}

.u-color-light_grey {
    color: #cacaca
}

.u-color-warm_grey {
    color: #999
}

.u-color-dark_grey {
    color: #444
}

.u-color-near_black {
    color: #222
}

.u-color-black {
    color: #000
}

.u-color-colorText {
    color: #4a4a4a
}

.u-color-colorTextLight {
    color: #fff
}

.u-color-colorValid {
    color: #7ed321
}

.u-color-colorError,
.u-colorError,
.u-colorRed {
    color: #d0021b
}

.u-color-colorValidAlt {
    color: rgba(126, 211, 33, .05)
}

.u-color-bg-colorValidAlt {
    background-color: rgba(126, 211, 33, .05)
}

.u-color-colorErrorAlt {
    color: rgba(208, 2, 27, .05)
}

.u-color-bg-colorErrorAlt {
    background-color: rgba(208, 2, 27, .05)
}

.u-color-colorPlaceholder {
    color: #888
}

.u-color-colorFocus {
    color: #000
}

.u-color-colorDisabled {
    color: rgba(51, 51, 51, .5)
}

.u-color-colorCTA {
    color: #5ce0f2
}

.u-color-flir-blue {
    color: #002f86
}

.u-color-cta-blue {
    color: #5ce0f2
}

.u-color-cool-grey {
    color: #555859
}

.u-color-flir-gold {
    color: #ffa300
}

.u-color-water-blue {
    color: #18aae2
}

.u-color-bright-orange {
    color: #ff6a00
}

.u-color-apple-green {
    color: #8dc63f
}

.u-color-light-grey {
    color: #d2cfcd
}

.u-color-navy {
    color: #00163d
}

.u-color-bluish {
    color: #2570c8
}

.u-color-gradient-orange {
    color: #f99d1d
}

.u-color-gradient-pink {
    color: #cb3c6d
}

.u-color-gradient-purple {
    color: #782a8f
}

.u-color-gradient-radial {
    color: radial-gradient(circle farthest-corner at 36% 26%, #f99d1d, #cb3c6d 48%, #782a8f)
}

.u-color-bg-white {
    background-color: #fff
}

.u-color-bg-near_white {
    background-color: #f7f7f7
}

.u-color-bg-light_grey {
    background-color: #cacaca
}

.u-color-bg-warm_grey {
    background-color: #999
}

.u-color-bg-dark_grey {
    background-color: #444
}

.u-color-bg-near_black {
    background-color: #222
}

.u-color-bg-black {
    background-color: #000
}

.u-color-bg-colorBackground {
    background-color: #f6f6f6
}

.u-color-bg-colorBackgroundDark {
    background-color: #000
}

.hidden,
.u-hidden,
.u-lg-block,
.u-lg-flex,
.u-lg-inline,
.u-lg-inlineBlock,
.u-lg-tableCell,
.u-md-block,
.u-md-flex,
.u-md-inline,
.u-md-inlineBlock,
.u-md-tableCell,
.u-sm-block,
.u-sm-flex,
.u-sm-inline,
.u-sm-inlineBlock,
.u-sm-tableCell,
.u-xlg-block,
.u-xlg-flex,
.u-xlg-inline,
.u-xlg-inlineBlock,
.u-xlg-tableCell,
.u-xsm-block,
.u-xsm-flex,
.u-xsm-inline,
.u-xsm-inlineBlock,
.u-xsm-tableCell {
    display: none !important
}

.u-hiddenVisually {
    position: absolute !important;
    overflow: hidden !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    margin: -1px
}

.u-block {
    display: block !important
}

.u-inline {
    display: inline !important
}

.u-inlineBlock {
    display: inline-block !important;
    max-width: 100%
}

.u-table {
    display: table !important
}

.u-tableRow {
    display: table-row !important
}

.u-tableCell {
    display: table-cell !important
}

.u-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important
}

.is-no-flexbox .u-flex {
    display: inline-block !important
}

@media only screen and (max-width:37.4375em) {
    .u-xsm-hidden {
        display: none !important
    }

    .u-xsm-block {
        display: block !important
    }

    .u-xsm-inline {
        display: inline !important
    }

    .u-xsm-inlineBlock {
        display: inline-block !important;
        max-width: 100%
    }

    .u-xsm-tableCell {
        display: table-cell !important
    }

    .u-xsm-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .is-no-flexbox .u-xsm-flex {
        display: inline-block !important
    }
}

@media only screen and (min-width:37.5em), print {
    .u-sm-hidden {
        display: none !important
    }

    .u-sm-block {
        display: block !important
    }

    .u-sm-inline {
        display: inline !important
    }

    .u-sm-inlineBlock {
        display: inline-block !important;
        max-width: 100%
    }

    .u-sm-tableCell {
        display: table-cell !important
    }

    .u-sm-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .is-no-flexbox .u-sm-flex {
        display: inline-block !important
    }
}

@media only screen and (min-width:56.25em), print {
    .u-md-hidden {
        display: none !important
    }

    .u-md-block {
        display: block !important
    }

    .u-md-inline {
        display: inline !important
    }

    .u-md-inlineBlock {
        display: inline-block !important;
        max-width: 100%
    }

    .u-md-tableCell {
        display: table-cell !important
    }

    .u-md-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .is-no-flexbox .u-md-flex {
        display: inline-block !important
    }
}

@media only screen and (min-width:75em) {
    .u-lg-hidden {
        display: none !important
    }

    .u-lg-block {
        display: block !important
    }

    .u-lg-inline {
        display: inline !important
    }

    .u-lg-inlineBlock {
        display: inline-block !important;
        max-width: 100%
    }

    .u-lg-tableCell {
        display: table-cell !important
    }

    .u-lg-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .is-no-flexbox .u-lg-flex {
        display: inline-block !important
    }
}

@media only screen and (min-width:112.5em) {
    .u-xlg-hidden {
        display: none !important
    }

    .u-xlg-block {
        display: block !important
    }

    .u-xlg-inline {
        display: inline !important
    }

    .u-xlg-inlineBlock {
        display: inline-block !important;
        max-width: 100%
    }

    .u-xlg-tableCell {
        display: table-cell !important
    }

    .u-xlg-flex {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important
    }

    .is-no-flexbox .u-xlg-flex {
        display: inline-block !important
    }
}

.u-cf:after,
.u-cf:before {
    content: " ";
    display: table
}

.u-cf:after {
    clear: both
}

.u-nbfc {
    overflow: hidden !important
}

.u-pullLeft {
    float: left !important
}

.u-pullRight {
    float: right !important
}

.u-clear {
    clear: both
}

.u-linkClean,
.u-linkClean:active,
.u-linkClean:focus,
.u-linkClean:hover,
.u-linkComplex,
.u-linkComplex:active,
.u-linkComplex:focus,
.u-linkComplex:hover {
    text-decoration: none !important
}

    .u-linkComplex:active .u-linkComplexTarget,
    .u-linkComplex:focus .u-linkComplexTarget,
    .u-linkComplex:hover .u-linkComplexTarget {
        text-decoration: underline !important
    }

.u-linkBlock,
.u-linkBlock:active,
.u-linkBlock:focus,
.u-linkBlock:hover {
    display: block !important;
    text-decoration: none !important
}

.u-linkText {
    color: #4a4a4a
}

.u-overflowHidden {
    overflow: hidden !important
}

.u-posAbsolute,
.u-posAbsoluteCenter {
    position: absolute !important
}

.u-posAbsoluteCenter {
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: auto !important
}

.u-absoluteCenter {
    position: absolute !important;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important
}

.u-absoluteCover {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.u-posFixed {
    position: fixed !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.u-posRelative {
    position: relative !important
}

.u-posStatic {
    position: static !important
}

@media print {
    .u-printHidden {
        display: none !important
    }

    .u-printSizeFull {
        width: 100% !important;
        display: block !important
    }
}

.u-sizeAuto {
    width: auto !important
}

.u-size1of1,
.u-sizeFull {
    width: 100% !important
}

.u-sizeFill {
    display: block !important;
    overflow: hidden !important;
    width: auto !important
}

[class*=u-size] {
    -ms-flex-preferred-size: auto !important;
    flex-basis: auto !important
}

.u-size1of12 {
    width: 8.33333333% !important
}

.u-size1of10 {
    width: 10% !important
}

.u-size1of8 {
    width: 12.5% !important
}

.u-size1of6,
.u-size2of12 {
    width: 16.66666667% !important
}

.u-size1of5,
.u-size2of10 {
    width: 20% !important
}

.u-size1of4,
.u-size2of8,
.u-size3of12 {
    width: 25% !important
}

.u-size3of10 {
    width: 30% !important
}

.u-size1of3,
.u-size2of6,
.u-size4of12 {
    width: 33.33333333% !important
}

.u-size3of8 {
    width: 37.5% !important
}

.u-size2of5,
.u-size4of10 {
    width: 40% !important
}

.u-size5of12 {
    width: 41.66666667% !important
}

.u-size1of2,
.u-size2of4,
.u-size3of6,
.u-size4of8,
.u-size5of10,
.u-size6of12 {
    width: 50% !important
}

.u-size7of12 {
    width: 58.33333333% !important
}

.u-size3of5,
.u-size6of10 {
    width: 60% !important
}

.u-size5of8 {
    width: 62.5% !important
}

.u-size2of3,
.u-size4of6,
.u-size8of12 {
    width: 66.66666667% !important
}

.u-size7of10 {
    width: 70% !important
}

.u-size3of4,
.u-size6of8,
.u-size9of12 {
    width: 75% !important
}

.u-size4of5,
.u-size8of10 {
    width: 80% !important
}

.u-size5of6,
.u-size10of12 {
    width: 83.33333333% !important
}

.u-size7of8 {
    width: 87.5% !important
}

.u-size6of9 {
    width: 66.66666667% !important
}

.u-size3of9 {
    width: 33.33333333% !important
}

.u-size9of10 {
    width: 90% !important
}

.u-size11of12 {
    width: 91.66666667% !important
}

@media only screen and (max-width:37.4375em) {
    .u-xsm-size1of1,
    .u-xsm-sizeFull {
        width: 100% !important
    }

    .u-xsm-sizeFill {
        display: block !important;
        overflow: hidden !important;
        width: auto !important
    }

    [class*=u-xsm-size] {
        -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important
    }

    .u-xsm-size1of12 {
        width: 8.33333333% !important
    }

    .u-xsm-size1of10 {
        width: 10% !important
    }

    .u-xsm-size1of8 {
        width: 12.5% !important
    }

    .u-xsm-size1of6,
    .u-xsm-size2of12 {
        width: 16.66666667% !important
    }

    .u-xsm-size1of5,
    .u-xsm-size2of10 {
        width: 20% !important
    }

    .u-xsm-size1of4,
    .u-xsm-size2of8,
    .u-xsm-size3of12 {
        width: 25% !important
    }

    .u-xsm-size3of10 {
        width: 30% !important
    }

    .u-xsm-size1of3,
    .u-xsm-size2of6,
    .u-xsm-size4of12 {
        width: 33.33333333% !important
    }

    .u-xsm-size3of8 {
        width: 37.5% !important
    }

    .u-xsm-size2of5,
    .u-xsm-size4of10 {
        width: 40% !important
    }

    .u-xsm-size5of12 {
        width: 41.66666667% !important
    }

    .u-xsm-size1of2,
    .u-xsm-size2of4,
    .u-xsm-size3of6,
    .u-xsm-size4of8,
    .u-xsm-size5of10,
    .u-xsm-size6of12 {
        width: 50% !important
    }

    .u-xsm-size7of12 {
        width: 58.33333333% !important
    }

    .u-xsm-size3of5,
    .u-xsm-size6of10 {
        width: 60% !important
    }

    .u-xsm-size5of8 {
        width: 62.5% !important
    }

    .u-xsm-size2of3,
    .u-xsm-size4of6,
    .u-xsm-size8of12 {
        width: 66.66666667% !important
    }

    .u-xsm-size7of10 {
        width: 70% !important
    }

    .u-xsm-size3of4,
    .u-xsm-size6of8,
    .u-xsm-size9of12 {
        width: 75% !important
    }

    .u-xsm-size4of5,
    .u-xsm-size8of10 {
        width: 80% !important
    }

    .u-xsm-size5of6,
    .u-xsm-size10of12 {
        width: 83.33333333% !important
    }

    .u-xsm-size7of8 {
        width: 87.5% !important
    }

    .u-xsm-size6of9 {
        width: 66.66666667% !important
    }

    .u-xsm-size3of9 {
        width: 33.33333333% !important
    }

    .u-xsm-size9of10 {
        width: 90% !important
    }

    .u-xsm-size11of12 {
        width: 91.66666667% !important
    }
}

@media only screen and (min-width:37.5em), print {
    .u-sm-size1of1,
    .u-sm-sizeFull {
        width: 100% !important
    }

    .u-sm-sizeFill {
        display: block !important;
        overflow: hidden !important;
        width: auto !important
    }

    [class*=u-sm-size] {
        -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important
    }

    .u-sm-size1of12 {
        width: 8.33333333% !important
    }

    .u-sm-size1of10 {
        width: 10% !important
    }

    .u-sm-size1of8 {
        width: 12.5% !important
    }

    .u-sm-size1of6,
    .u-sm-size2of12 {
        width: 16.66666667% !important
    }

    .u-sm-size1of5,
    .u-sm-size2of10 {
        width: 20% !important
    }

    .u-sm-size1of4,
    .u-sm-size2of8,
    .u-sm-size3of12 {
        width: 25% !important
    }

    .u-sm-size3of10 {
        width: 30% !important
    }

    .u-sm-size1of3,
    .u-sm-size2of6,
    .u-sm-size4of12 {
        width: 33.33333333% !important
    }

    .u-sm-size3of8 {
        width: 37.5% !important
    }

    .u-sm-size2of5,
    .u-sm-size4of10 {
        width: 40% !important
    }

    .u-sm-size5of12 {
        width: 41.66666667% !important
    }

    .u-sm-size1of2,
    .u-sm-size2of4,
    .u-sm-size3of6,
    .u-sm-size4of8,
    .u-sm-size5of10,
    .u-sm-size6of12 {
        width: 50% !important
    }

    .u-sm-size7of12 {
        width: 58.33333333% !important
    }

    .u-sm-size3of5,
    .u-sm-size6of10 {
        width: 60% !important
    }

    .u-sm-size5of8 {
        width: 62.5% !important
    }

    .u-sm-size2of3,
    .u-sm-size4of6,
    .u-sm-size8of12 {
        width: 66.66666667% !important
    }

    .u-sm-size7of10 {
        width: 70% !important
    }

    .u-sm-size3of4,
    .u-sm-size6of8,
    .u-sm-size9of12 {
        width: 75% !important
    }

    .u-sm-size4of5,
    .u-sm-size8of10 {
        width: 80% !important
    }

    .u-sm-size5of6,
    .u-sm-size10of12 {
        width: 83.33333333% !important
    }

    .u-sm-size7of8 {
        width: 87.5% !important
    }

    .u-sm-size6of9 {
        width: 66.66666667% !important
    }

    .u-sm-size3of9 {
        width: 33.33333333% !important
    }

    .u-sm-size9of10 {
        width: 90% !important
    }

    .u-sm-size11of12 {
        width: 91.66666667% !important
    }
}

@media only screen and (min-width:56.25em), print {
    .u-md-size1of1,
    .u-md-sizeFull {
        width: 100% !important
    }

    .u-md-sizeFill {
        display: block !important;
        overflow: hidden !important;
        width: auto !important
    }

    [class*=u-md-size] {
        -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important
    }

    .u-md-size1of12 {
        width: 8.33333333% !important
    }

    .u-md-size1of10 {
        width: 10% !important
    }

    .u-md-size1of8 {
        width: 12.5% !important
    }

    .u-md-size1of6,
    .u-md-size2of12 {
        width: 16.66666667% !important
    }

    .u-md-size1of5,
    .u-md-size2of10 {
        width: 20% !important
    }

    .u-md-size1of4,
    .u-md-size2of8,
    .u-md-size3of12 {
        width: 25% !important
    }

    .u-md-size3of10 {
        width: 30% !important
    }

    .u-md-size1of3,
    .u-md-size2of6,
    .u-md-size4of12 {
        width: 33.33333333% !important
    }

    .u-md-size3of8 {
        width: 37.5% !important
    }

    .u-md-size2of5,
    .u-md-size4of10 {
        width: 40% !important
    }

    .u-md-size5of12 {
        width: 41.66666667% !important
    }

    .u-md-size1of2,
    .u-md-size2of4,
    .u-md-size3of6,
    .u-md-size4of8,
    .u-md-size5of10,
    .u-md-size6of12 {
        width: 50% !important
    }

    .u-md-size7of12 {
        width: 58.33333333% !important
    }

    .u-md-size3of5,
    .u-md-size6of10 {
        width: 60% !important
    }

    .u-md-size5of8 {
        width: 62.5% !important
    }

    .u-md-size2of3,
    .u-md-size4of6,
    .u-md-size8of12 {
        width: 66.66666667% !important
    }

    .u-md-size7of10 {
        width: 70% !important
    }

    .u-md-size3of4,
    .u-md-size6of8,
    .u-md-size9of12 {
        width: 75% !important
    }

    .u-md-size4of5,
    .u-md-size8of10 {
        width: 80% !important
    }

    .u-md-size5of6,
    .u-md-size10of12 {
        width: 83.33333333% !important
    }

    .u-md-size7of8 {
        width: 87.5% !important
    }

    .u-md-size6of9 {
        width: 66.66666667% !important
    }

    .u-md-size3of9 {
        width: 33.33333333% !important
    }

    .u-md-size9of10 {
        width: 90% !important
    }

    .u-md-size11of12 {
        width: 91.66666667% !important
    }
}

@media only screen and (min-width:75em) {
    .u-lg-size1of1,
    .u-lg-sizeFull {
        width: 100% !important
    }

    .u-lg-sizeFill {
        display: block !important;
        overflow: hidden !important;
        width: auto !important
    }

    [class*=u-lg-size] {
        -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important
    }

    .u-lg-size1of12 {
        width: 8.33333333% !important
    }

    .u-lg-size1of10 {
        width: 10% !important
    }

    .u-lg-size1of8 {
        width: 12.5% !important
    }

    .u-lg-size1of6,
    .u-lg-size2of12 {
        width: 16.66666667% !important
    }

    .u-lg-size1of5,
    .u-lg-size2of10 {
        width: 20% !important
    }

    .u-lg-size1of4,
    .u-lg-size2of8,
    .u-lg-size3of12 {
        width: 25% !important
    }

    .u-lg-size3of10 {
        width: 30% !important
    }

    .u-lg-size1of3,
    .u-lg-size2of6,
    .u-lg-size4of12 {
        width: 33.33333333% !important
    }

    .u-lg-size3of8 {
        width: 37.5% !important
    }

    .u-lg-size2of5,
    .u-lg-size4of10 {
        width: 40% !important
    }

    .u-lg-size5of12 {
        width: 41.66666667% !important
    }

    .u-lg-size1of2,
    .u-lg-size2of4,
    .u-lg-size3of6,
    .u-lg-size4of8,
    .u-lg-size5of10,
    .u-lg-size6of12 {
        width: 50% !important
    }

    .u-lg-size7of12 {
        width: 58.33333333% !important
    }

    .u-lg-size3of5,
    .u-lg-size6of10 {
        width: 60% !important
    }

    .u-lg-size5of8 {
        width: 62.5% !important
    }

    .u-lg-size2of3,
    .u-lg-size4of6,
    .u-lg-size8of12 {
        width: 66.66666667% !important
    }

    .u-lg-size7of10 {
        width: 70% !important
    }

    .u-lg-size3of4,
    .u-lg-size6of8,
    .u-lg-size9of12 {
        width: 75% !important
    }

    .u-lg-size4of5,
    .u-lg-size8of10 {
        width: 80% !important
    }

    .u-lg-size5of6,
    .u-lg-size10of12 {
        width: 83.33333333% !important
    }

    .u-lg-size7of8 {
        width: 87.5% !important
    }

    .u-lg-size6of9 {
        width: 66.66666667% !important
    }

    .u-lg-size3of9 {
        width: 33.33333333% !important
    }

    .u-lg-size9of10 {
        width: 90% !important
    }

    .u-lg-size11of12 {
        width: 91.66666667% !important
    }
}

.u-marginAz {
    margin: 0 !important
}

.u-marginTz {
    margin-top: 0 !important
}

.u-marginBz {
    margin-bottom: 0 !important
}

.u-marginRz {
    margin-right: 0 !important
}

.u-marginHz,
.u-marginLz {
    margin-left: 0 !important
}

.u-marginHz {
    margin-right: 0 !important
}

.u-marginVz {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.u-marginAxsm {
    margin: .5em !important
}

.u-marginAsm {
    margin: .66666667em !important
}

.u-marginA,
.u-marginAmd {
    margin: 1em !important
}

.u-marginAlg {
    margin: 1.5em !important
}

.u-marginAxlg {
    margin: 2em !important
}

.u-marginHxsm {
    margin-left: .5em !important;
    margin-right: .5em !important
}

.u-marginHsm {
    margin-left: .66666667em !important;
    margin-right: .66666667em !important
}

.u-marginH,
.u-marginHmd {
    margin-left: 1em !important;
    margin-right: 1em !important
}

.u-marginHlg {
    margin-left: 1.5em !important;
    margin-right: 1.5em !important
}

.u-marginHxlg {
    margin-left: 2em !important;
    margin-right: 2em !important
}

.u-marginVxsm {
    margin-top: .5em !important;
    margin-bottom: .5em !important
}

.u-marginVsm {
    margin-top: .66666667em !important;
    margin-bottom: .66666667em !important
}

.u-marginV,
.u-marginVmd {
    margin-top: 1em !important;
    margin-bottom: 1em !important
}

.u-marginVlg {
    margin-top: 1.5em !important;
    margin-bottom: 1.5em !important
}

.u-marginVxlg {
    margin-top: 2em !important;
    margin-bottom: 2em !important
}

.u-marginTxsm {
    margin-top: .5em !important
}

.u-marginTsm {
    margin-top: .66666667em !important
}

.u-marginT,
.u-marginTmd {
    margin-top: 1em !important
}

.u-marginTlg {
    margin-top: 1.5em !important
}

.u-marginTxlg {
    margin-top: 2em !important
}

.u-marginBxsm {
    margin-bottom: .5em !important
}

.u-marginBsm {
    margin-bottom: .66666667em !important
}

.u-marginB,
.u-marginBmd {
    margin-bottom: 1em !important
}

.u-marginBlg {
    margin-bottom: 1.5em !important
}

.u-marginBxlg {
    margin-bottom: 2em !important
}

.u-marginRxsm {
    margin-right: .5em !important
}

.u-marginRsm {
    margin-right: .66666667em !important
}

.u-marginR,
.u-marginRmd {
    margin-right: 1em !important
}

.u-marginRlg {
    margin-right: 1.5em !important
}

.u-marginRxlg {
    margin-right: 2em !important
}

.u-marginLxsm {
    margin-left: .5em !important
}

.u-marginLsm {
    margin-left: .66666667em !important
}

.u-marginL,
.u-marginLmd {
    margin-left: 1em !important
}

.u-marginLlg {
    margin-left: 1.5em !important
}

.u-marginLxlg {
    margin-left: 2em !important
}

.u-paddingAz {
    padding: 0 !important
}

.u-paddingTz {
    padding-top: 0 !important
}

.u-paddingBz {
    padding-bottom: 0 !important
}

.u-paddingRz {
    padding-right: 0 !important
}

.u-paddingHz,
.u-paddingLz {
    padding-left: 0 !important
}

.u-paddingHz {
    padding-right: 0 !important
}

.u-paddingVz {
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.u-paddingAxsm {
    padding: .5em !important
}

.u-paddingAsm {
    padding: .66666667em !important
}

.u-paddingA,
.u-paddingAmd {
    padding: 1em !important
}

.u-paddingAlg {
    padding: 1.5em !important
}

.u-paddingAxlg {
    padding: 2em !important
}

.u-paddingHxsm {
    padding-left: .5em !important;
    padding-right: .5em !important
}

.u-paddingHsm {
    padding-left: .66666667em !important;
    padding-right: .66666667em !important
}

.u-paddingH,
.u-paddingHmd {
    padding-left: 1em !important;
    padding-right: 1em !important
}

.u-paddingHlg {
    padding-left: 1.5em !important;
    padding-right: 1.5em !important
}

.u-paddingHxlg {
    padding-left: 2em !important;
    padding-right: 2em !important
}

.u-paddingVxsm {
    padding-top: .5em !important;
    padding-bottom: .5em !important
}

.u-paddingVsm {
    padding-top: .66666667em !important;
    padding-bottom: .66666667em !important
}

.u-paddingV,
.u-paddingVmd {
    padding-top: 1em !important;
    padding-bottom: 1em !important
}

.u-paddingVlg {
    padding-top: 1.5em !important;
    padding-bottom: 1.5em !important
}

.u-paddingVxlg {
    padding-top: 2em !important;
    padding-bottom: 2em !important
}

.u-paddingTxsm {
    padding-top: .5em !important
}

.u-paddingTsm {
    padding-top: .66666667em !important
}

.u-paddingT,
.u-paddingTmd {
    padding-top: 1em !important
}

.u-paddingTlg {
    padding-top: 1.5em !important
}

.u-paddingTxlg {
    padding-top: 2em !important
}

.u-paddingBxsm {
    padding-bottom: .5em !important
}

.u-paddingBsm {
    padding-bottom: .66666667em !important
}

.u-paddingB,
.u-paddingBmd {
    padding-bottom: 1em !important
}

.u-paddingBlg {
    padding-bottom: 1.5em !important
}

.u-paddingBxlg {
    padding-bottom: 2em !important
}

.u-paddingRxsm {
    padding-right: .5em !important
}

.u-paddingRsm {
    padding-right: .66666667em !important
}

.u-paddingR,
.u-paddingRmd {
    padding-right: 1em !important
}

.u-paddingRlg {
    padding-right: 1.5em !important
}

.u-paddingRxlg {
    padding-right: 2em !important
}

.u-paddingLxsm {
    padding-left: .5em !important
}

.u-paddingLsm {
    padding-left: .66666667em !important
}

.u-paddingL,
.u-paddingLmd {
    padding-left: 1em !important
}

.u-paddingLlg {
    padding-left: 1.5em !important
}

.u-paddingLxlg {
    padding-left: 2em !important
}

.u-pullHxsm {
    margin-left: -.5em !important;
    margin-right: -.5em !important
}

.u-pullHsm {
    margin-left: -.66666667em !important;
    margin-right: -.66666667em !important
}

.u-pullH,
.u-pullHmd {
    margin-left: -1em !important;
    margin-right: -1em !important
}

.u-pullHlg {
    margin-left: -1.5em !important;
    margin-right: -1.5em !important
}

.u-pullHxlg {
    margin-left: -2em !important;
    margin-right: -2em !important
}

.u-pullVxsm {
    margin-top: -.5em !important;
    margin-bottom: -.5em !important
}

.u-pullVsm {
    margin-top: -.66666667em !important;
    margin-bottom: -.66666667em !important
}

.u-pullV,
.u-pullVmd {
    margin-top: -1em !important;
    margin-bottom: -1em !important
}

.u-pullVlg {
    margin-top: -1.5em !important;
    margin-bottom: -1.5em !important
}

.u-pullVxlg {
    margin-top: -2em !important;
    margin-bottom: -2em !important
}

.u-pullTxsm {
    margin-top: -.5em
}

.u-pullTsm {
    margin-top: -.66666667em
}

.u-pullT,
.u-pullTmd {
    margin-top: -1em
}

.u-pullTlg {
    margin-top: -1.5em
}

.u-pullTxlg {
    margin-top: -2em
}

.u-allcaps {
    text-transform: uppercase
}

.u-textXSmall {
    font-size: .75rem !important
}

.u-textSmall {
    font-size: .875rem !important
}

.u-textMedium,
.u-textNormal {
    font-size: 1rem !important
}

.u-textLarge {
    font-size: 1.125rem !important
}

.u-textXLarge {
    font-size: 1.25rem !important
}

.u-textWeightThin {
    font-weight: 100 !important
}

.u-textWeightLight {
    font-weight: 200 !important
}

.u-textWeightNormal {
    font-weight: 400 !important
}

.u-textWeightMedium {
    font-weight: 500 !important
}

.u-textWeightBold {
    font-weight: 700 !important
}

.u-textBreak {
    word-wrap: break-word !important
}

.u-textCenter {
    text-align: center !important
}

.u-textLeft {
    text-align: left !important
}

.u-textRight {
    text-align: right !important
}

.u-textNoWrap,
.u-textTruncate {
    white-space: nowrap !important
}

.u-textTruncate {
    max-width: 100%;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-wrap: normal !important
}

.u-textInheritColor {
    color: inherit !important
}
