

/*************************************************
  FORM FIELDS
 *************************************************/


input[type=text], input[type=email], input[type=tel], input[type=password], textarea {
    display: block;
    width: 100%;
    height: 32px;
    box-sizing: border-box;
    border: solid 2px #ccc;
    background: #ccc;
    padding: 5px 10px;
    margin-bottom: 12px;
    font: 14px/18px FrutigerLTPro-Roman, Arial, sans-serif;
    transition: all 0.2s ease
}


    input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=password]:focus, textarea:focus {
        border-color: #E91C24;
    }


@media (max-width: 750px) {


    input[type=text], input[type=email], input[type=tel], input[type=password], textarea {
        font-size: 16px;
        line-height: 20px
    }
}

.code3 button.sign-out, .code3 .btn.sign-out {
    background: linear-gradient(to right, #999, #ccc);
    text-shadow: 0 0 2px #ccc
}


    .code3 button.sign-out::before, .code3 .btn.sign-out::before {
        background: linear-gradient(to right, #ccc, #999);
    }


.btn {
    padding: 7px 10px;
    display: inline-block;
}


.checkbox {
    overflow: hidden;
}


    .checkbox input[type=checkbox] {
        visibility: hidden
    }


        .checkbox input[type=checkbox] + label {
            margin-left: -45px;
            padding-left: 30px
        }


            .checkbox input[type=checkbox] + label::before {
                content: '';
                display: inline-block;
                position: relative;
                top: 3px;
                left: -7px;
                width: 19px;
                height: 19px;
                margin-right: 2px;
                background-color: white;
                transition: background-color 0.2s linear;
            }


        .checkbox input[type=checkbox]:checked + label {
            color: #E91C24
        }


            .checkbox input[type=checkbox]:checked + label::before {
                background-color: #E91C24;
                transition: background-color 0s linear;
            }


/* these cannot be combined into one statement, else they will stop working
   they are used to ensure the placeholder text looks like the designer intended */


::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    color: #000;
    opacity: 1;
}


::-moz-placeholder { /* Firefox 19+ */
    color: #000;
    opacity: 1;
}


:-ms-input-placeholder { /* IE 10+ */
    color: #000;
    opacity: 1;
}


:-moz-placeholder { /* Firefox 18- */
    color: #000;
    opacity: 1;
}


select {
    display: block;
    width: 100%;
    height: 32px;
    box-sizing: border-box;
    border: solid 2px #ccc;
    border-radius: 0;
    background: #ccc;
    padding: 5px 10px;
    margin-bottom: 12px;
    font: 14px/18px FrutigerLTPro-Roman, Arial, sans-serif;
    background: #ccc no-repeat right center/35px 30px url(https://www.code3esg.com/dist/img/code3/down-arrow.svg);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}


@media (max-width: 750px) {


    select {
        font-size: 16px;
        line-height: 20px
    }
}


select::-ms-expand {
    display: none;
}


.no-arrow {
    background: #ccc;
}


/*************************************************
  WHITE BAR TITLES
  These appear in between sections and have a
  title and possibly a subtitle
 *************************************************/


.white-bar-title {
    display: block;
    background-color: #fff;
    padding: 28px;
    box-sizing: border-box;
}


    .white-bar-title h1, .white-bar-title h2 {
        font: 25px/30px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        color: #C3C4C6;
        padding-bottom: 5px
    }


@media (max-width: 1000px) {

    .white-bar-title h1, .white-bar-title h2 {
        font-size: 2.5vw;
        line-height: 3vw
    }
}


@media (max-width: 750px) {

    .white-bar-title h1, .white-bar-title h2 {
        font-size: 19px;
        line-height: 24px
    }
}


.white-bar-title p {
    color: #e21c24;
    text-transform: uppercase;
    padding-bottom: 5px
}


@media (max-width: 1000px) {

    .white-bar-title p {
        font-size: 1.4vw
    }
}


@media (max-width: 750px) {

    .white-bar-title p {
        font-size: 11px
    }
}


@media (max-width: 1000px) {


    .white-bar-title {
        padding: 2.8vw
    }
}


@media (max-width: 750px) {


    .white-bar-title {
        padding: 20px
    }
}


.grey-section {
    display: block;
    background-color: #C3C4C6;
    padding: 28px;
    box-sizing: border-box;
    clear: both;
}


    .grey-section h1 {
        font: 25px/30px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        color: #E91C24;
        padding-bottom: 5px
    }


@media (max-width: 1000px) {

    .grey-section h1 {
        font-size: 2.5vw;
        line-height: 3vw
    }
}


@media (max-width: 750px) {

    .grey-section h1 {
        font-size: 19px;
        line-height: 24px
    }
}


.grey-section .btn {
    margin-bottom: 0;
}


@media (max-width: 1000px) {


    .grey-section {
        padding: 2.8vw
    }
}


@media (max-width: 750px) {


    .grey-section {
        padding: 20px
    }
}


.titling {
    position: relative
}


    .titling::after {
        content: '';
        display: block;
        position: absolute;
        top: 100%;
        left: 50%;
        width: 110px;
        height: 0;
        border-bottom: solid 1px #C3C4C6;
        transform: translate(-50%, 0)
    }


@media (max-width: 400px) {


    .titling::after {
        width: 80px
    }
}


/*************************************************
  HIDDEN SECTION
  Not visible by default but through javascript
  can be expanded.
 *************************************************/


.hidden-section {
    height: 0;
    overflow: hidden;
    opacity: 0
}


    .hidden-section.expanding {
        opacity: 1;
        transition: all 0.3s ease;
    }


    .hidden-section.showing {
        opacity: 1;
        overflow: visible;
        height: auto
    }


        .hidden-section.showing.collapsing {
            opacity: 0;
            overflow: hidden;
            transition: opacity 0.3s ease;
        }


.hidder-section-container {
    overflow: hidden;
}


.showing .hidder-section-container, .expanding .hidder-section-container {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}


/* This is only set in javascript and will ensure that the link that is used to
  show a hidden section appears like a link when hovering over it */


.show-more-wired {
    cursor: pointer;
}


.toggle-hidden::after {
    content: ' [+]';
}


.toggle-hidden.showing-now::after {
    content: ' [-]';
}


/*************************************************
  SHARE ICONS
 *************************************************/


.share-icons a {
    display: inline-block;
    font-size: 0;
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 5px;
}


#video-popup .share-icons a {
    margin-right: 0;
    margin-left: 8px;
    float: right;
}


.share-twitter {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-twitter.svg);
}


.share-facebook {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-facebook.svg);
}


.share-youtube {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-youtube.svg);
}


.share-instagram {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-instagram.svg);
}


.share-linkedin {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-linkedin.svg);
}


.share-email {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-email.svg);
}


.share-link {
    background-image: url(https://www.code3esg.com/dist/img/code3/share-link.svg);
}


/*************************************************
  BREADCRUMBS and WARNING
 *************************************************/


.breadcrumbs, .warning {
    background: #E91C24;
    padding: 12px 32px;
    box-sizing: border-box;
    text-align: left;
    overflow: hidden
}


    .breadcrumbs.taller, .warning.taller {
        padding-top: 40px;
        padding-bottom: 40px;
    }


    .breadcrumbs > a, .warning > a {
        font: 14px/18px FrutigerLTPro-Bold, Arial, sans-serif;
        color: #fff
    }


        .breadcrumbs > a::after, .warning > a::after {
            content: '';
            display: inline-block;
            width: 12px;
            height: 10px;
            padding-left: 7px;
            margin-right: 4px;
            background: no-repeat right center/12px 9px url(https://www.code3esg.com/dist/img/code3/breadcrumb-arrow.svg);
        }


        .breadcrumbs > a:last-of-type, .warning > a:last-of-type {
            color: #fff
        }


            .breadcrumbs > a:last-of-type::after, .warning > a:last-of-type::after {
                display: none;
            }


@media (max-width: 750px) {


    .breadcrumbs, .warning {
        padding: 12px 7.917vw
    }
}


.breadcrumbs + .breadcrumbs, .warning + .breadcrumbs {
    display: none;
}


/*************************************************
  SHOW MORE LINKS (to show hidden sections)
 *************************************************/


.show-more {
    font-family: FrutigerLTPro-Bold, Arial, sans-serif;
    color: #E91C24;
    text-transform: uppercase;
    cursor: pointer;
}


    .show-more .count {
        color: #e21c24;
    }


/*************************************************
  BUTTON BAR
 *************************************************/


.button-bar {
    padding: 22px 0;
}


    .button-bar .btn {
        width: 300px;
        height: auto;
        margin-bottom: 0;
    }


/*************************************************
  MENU SPACER - to allow the content on the page
  to sit below the menu.
 *************************************************/


#menu-spacer {
    padding-top: 112px;
    max-width: 1200px;
    margin: 0 auto;
    background: #333
}


    #menu-spacer.grey-bar {
        background: #C3C4C6;
    }


.portal #menu-spacer {
    background: #353333;
}


@media (max-width: 1000px) {


    #menu-spacer {
        padding-top: 11.2vw
    }
}


@media (max-width: 750px) {


    #menu-spacer {
        padding-top: 84px
    }
}


@media (max-width: 400px) {


    #menu-spacer {
        padding-top: 74px
    }
}


/*************************************************
  TRANSFORM-IN PROPERTIES. These can be used to
  make an element appear on the screen when the user
  scrolls down the page in an animated fashion. All
  default to start animating when the element is 75%
  from the top of the screen, but it is possible to
  stagger them by adding on an additional attribute,
  data-anim-pct-delay that indicates a different
  percentage (number only) that the element should
  appear at.
  Note that all of the class names start with scroll-
  to separate them from other similar named classes.
 *************************************************/


.animatable .scroll-scale-in {
    transform: scale(0.5);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease
}


    .animatable .scroll-scale-in.show {
        transform: scale(1);
        opacity: 1;
    }


.animatable .scroll-up-from-bottom {
    transform: translate3d(0, 20%, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-up-from-bottom.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


.animatable .scroll-up-from-left {
    transform: translate3d(-20%, 20%, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-up-from-left.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


.animatable .scroll-up-from-right {
    transform: translate3d(20%, 20%, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-up-from-right.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


.animatable .scroll-from-left {
    transform: translate3d(-40%, 0, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-from-left.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


.animatable .scroll-from-right {
    transform: translate3d(40%, 0, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-from-right.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


.animatable .scroll-from-bottom {
    transform: translate3d(0, 40%, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-from-bottom.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


.animatable .scroll-from-top {
    transform: translate3d(0, -40%, 0);
    opacity: 0;
    transition: transform 0.7s ease, opacity 0.7s ease, all 0.4s ease
}


    .animatable .scroll-from-top.show {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }


/*************************************************
 Used for resources and news pages to fade in
 results on a load more.
 *************************************************/


.hidden-result {
    opacity: 0;
}


.show-result {
    opacity: 1;
    transition: all 0.3s ease;
}


/*************************************************
 ENVIRONMENT BAR
 *************************************************/


#environment-header {
    background: darkblue;
    padding: 3px;
    color: #fff;
    font: 10px/1.3em FrutigerLTPro-Roman, Arial, sans-serif;
    z-index: 100;
}


/*************************************************
 COOKIE WARNING
 *************************************************/


#cookie-header {
    display: none;
    background: #000;
    color: #fff;
    font: 10px/1.3em FrutigerLTPro-Roman, Arial, sans-serif;
    z-index: 100;
}


    #cookie-header > span {
        display: inline-block;
        padding: 4px 0 4px 8px
    }


@media (max-width: 750px) {

    #cookie-header > span {
        padding: 4px 15px
    }
}


#cookie-buttons {
    display: inline
}


@media (max-width: 750px) {


    #cookie-buttons {
        display: block
    }
}


#cookie-more {
    display: inline-block;
    position: relative;
    text-transform: uppercase;
    color: #E91C24;
    padding: 4px 8px;
    cursor: pointer;
}


#cookie-more-info {
    position: absolute;
    top: -999em;
    left: 50%;
    transform: translate(-50%, -20%);
    width: 275px;
    padding: 14px 12px;
    box-sizing: border-box;
    background: #fff;
    color: #000;
    text-transform: none;
    text-align: left;
    z-index: 1000;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s linear;
}


    #cookie-more-info h4 {
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        margin-bottom: 8px;
        text-transform: none;
    }


    #cookie-more-info a {
        color: #E91C24;
        text-decoration: underline;
    }


    #cookie-more-info::after {
        content: '';
        position: absolute;
        top: 8px;
        right: 9px;
        width: 9px;
        height: 9px;
        background: no-repeat center/contain url(https://www.code3esg.com/dist/img/code3/close.svg);
    }


    #cookie-more-info.showing {
        top: 100%;
        transform: translate(-50%, 0);
        opacity: 1;
    }


#cookie-got-it {
    display: inline-block;
    background: #E91C24;
    text-transform: uppercase;
    padding: 4px 8px;
    cursor: pointer;
}


.dark-overlay::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 160px;
    background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
}


/*************************************************
 ERRORS
 *************************************************/


#error-section {
    background: #fff;
    padding: 60px 60px 80px;
    box-sizing: border-box
}


@media (max-width: 750px) {


    #error-section {
        padding: 8vw 8vw 10.667vw
    }
}


#error-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}


    #error-content p {
        font-size: 18px;
        line-height: 1.2em;
        font-weight: bold;
    }


    #error-content hr {
        border-color: #c7c8ca;
    }


    #error-content a {
        text-transform: uppercase;
        display: inline-block;
        margin-bottom: 5px;
    }


.error-title {
    font-size: 30px;
    margin-bottom: 15px;
    color: #E91C24
}


@media (max-width: 750px) {


    .error-title {
        font-size: 25px
    }
}


@media (max-width: 600px) {


    .error-title {
        font-size: 20px;
        margin-bottom: 2.5vw
    }
}


header {
    position: relative;
    z-index: 110;
}


/************************************************
  Very top navigation bar
 ************************************************/


#top-nav {
    position: relative;
    background: #e21c24;
    background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
}


    #top-nav .container {
        overflow: hidden;
    }


    #top-nav nav {
        float: right;
    }


    #top-nav li {
        display: inline-block;
    }


    #top-nav a {
        color: #fff;
        display: inline-block;
        padding: 15px 25px;
        font-size: 12px;
        line-height: 12px
    }


        #top-nav a:hover, #top-nav a.current {
            color: #000;
            transition: color 0.2s ease;
        }


@media (max-width: 750px) {


    #top-nav {
        display: none
    }
}


#nav-language {
    float: left;
}


#code3-link a {
    width: 131px;
    box-sizing: border-box;
    color: rgba(0,0,0,0);
    background: #030000 no-repeat center/97px 10.262px url(https://www.code3esg.com/dist/img/code3.svg)
}


    #code3-link a:hover {
        color: rgba(0,0,0,0);
        -webkit-animation: 0.4s other-site-anim;
        animation: 0.4s other-site-anim;
    }


#ecco-link a {
    width: 131px;
    box-sizing: border-box;
    color: rgba(0,0,0,0);
    background: #030000 no-repeat center/83.838px 20.842px url(https://www.code3esg.com/dist/img/ecco-white.svg)
}


    #ecco-link a:hover {
        color: rgba(0,0,0,0);
        -webkit-animation: 0.4s other-site-anim;
        animation: 0.4s other-site-anim;
    }


@-webkit-keyframes other-site-anim {
    0% {
        background-color: #030000;
    }

    25% {
        background-color: #F7941D;
    }

    50% {
        background-color: #030000;
    }

    75% {
        background-color: #F7941D;
    }

    100% {
        background-color: #030000;
    }
}


@keyframes other-site-anim {
    0% {
        background-color: #030000;
    }

    25% {
        background-color: #F7941D;
    }

    50% {
        background-color: #030000;
    }

    75% {
        background-color: #F7941D;
    }

    100% {
        background-color: #030000;
    }
}


/************************************************
  Very top nav submenus
 ************************************************/


#top-nav-dropdowns {
    background-color: #fff;
    overflow: hidden;
    height: 0;
    transition: height 0.4s ease
}


    #top-nav-dropdowns.showing {
        height: auto;
    }


@media (max-width: 600px) {
    #top-nav-dropdowns.showing {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 100;
    }
}


.submenu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity 0.4s linear;
    z-index: 0;
    background-color: #fff
}


    .submenu.current {
        opacity: 1;
        z-index: 1;
    }


.nav-col-3 {
    display: flex;
}


    .nav-col-3 > div {
        width: 33.333%;
        box-sizing: border-box;
        padding: 0 3.125%;
        text-align: left
    }


        .nav-col-3 > div.with-border {
            margin: 17px 0;
            border-right: solid 1px #005295
        }


            .nav-col-3 > div.with-border:last-child {
                border-right: none;
            }


@media (max-width: 600px) {


    .nav-col-3 {
        flex-wrap: wrap;
    }

        .nav-col-3 > div {
            width: 50%;
        }
}


@media (max-width: 400px) {
    .nav-col-3 > div {
        width: 100%;
    }
}


.nav-col-2 {
    display: flex;
}


    .nav-col-2 > div {
        width: 50%;
        text-transform: uppercase;
        line-height: 20px;
    }


        .nav-col-2 > div a {
            display: block;
            color: #005295;
        }


    .nav-col-2 .nav-location-title {
        font: FrutigerLTPro-Bold, Arial, sans-serif;
    }


#nav-submenu-close {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 30px;
    height: 30px;
    background: no-repeat center/18px 18px url(https://www.code3esg.com/dist/img/code3/close.svg);
    z-index: 10;
    cursor: pointer;
}


#nav-language-submenu {
    display: flex;
}


#language-title {
    max-width: 250px;
    padding: 13px 40px;
    border-right: solid 1px #e21c24;
    font: 14px/14px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #333;
    margin: 14px 0;
    text-transform: uppercase;
}


#languages {
    margin: 14px 0;
    padding: 0 27px;
    flex: 1;
    text-transform: uppercase;
    text-align: left;
}


    #languages a {
        display: inline-block;
        padding: 13px;
        margin-right: 17px
    }


        #languages a:hover {
            text-decoration: underline;
        }


/************************************************
  Contact submenu
 ************************************************/


#nav-contact-submenu {
    background: linear-gradient(to bottom, rgba(214,214,214,1) 0%,rgba(255,255,255,1) 100%);
    box-sizing: border-box;
}


    #nav-contact-submenu > div {
        padding-top: 60px;
        padding-bottom: 60px;
    }


    #nav-contact-submenu h4 {
        margin-bottom: 10px;
    }


    #nav-contact-submenu a {
        color: #E91C24
    }


        #nav-contact-submenu a:hover, #nav-contact-submenu a.current {
            color: #000;
        }


    #nav-contact-submenu textarea {
        height: 120px;
    }


    #nav-contact-submenu button {
        min-width: 138px;
    }


@media (max-width: 600px) {


    #nav-contact-submenu {
        padding: 60px 0;
    }

        #nav-contact-submenu > div {
            padding-top: 0;
            padding-bottom: 0;
        }

        #nav-contact-submenu .contact-address {
            width: 100%;
            order: 3;
            padding-top: 20px;
        }
}


.contact-section {
    margin-bottom: 20px;
}


/************************************************
  Google map
 ************************************************/


#google-map {
    height: 600px;
    background: #999
}


@media (max-width: 600px) {


    #google-map {
        display: none
    }
}


@media (max-width: 600px) {


    #distributor-map {
        padding: 60px 0
    }
}


#map-search {
    position: absolute;
    top: 32px;
    left: 50%;
    width: 600px;
    margin-left: -300px;
    text-align: left;
}


    #map-search input[type=text] {
        background-color: #fff;
        border-color: #fff;
        height: 40px;
    }


@media (max-width: 600px) {


    #map-search {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        margin-left: auto;
    }

        #map-search input[type=text] {
            border-color: #e21c24;
            border-width: 1px;
            margin-left: 20px;
            margin-right: 20px;
            width: calc(100% - 40px);
        }
}


#map-search-button {
    position: absolute;
    top: 0;
    right: 0;
    background: no-repeat center/17.625px auto url(https://www.code3esg.com/dist/img/code3/search-primary.svg);
    width: 60px;
    height: 40px;
    cursor: pointer
}


    #map-search-button::before {
        display: none;
    }


    #map-search-button:hover {
        background: no-repeat center/17.625px auto url(https://www.code3esg.com/dist/img/code3/search-primary.svg);
    }


@media (max-width: 600px) {


    #map-search-button {
        right: 20px
    }
}


#map-options {
    display: flex;
    justify-content: center;
}


    #map-options .checkbox {
        margin: 0 10px;
    }


@media (max-width: 600px) {


    #map-options {
        flex-wrap: wrap
    }
}


#map-results {
    position: absolute;
    left: 0;
    bottom: 50px;
    width: 400px;
    height: 400px;
    box-sizing: border-box;
    padding: 22px 24px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: rgba(255,255,255,0.8);
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}


    #map-results .heading {
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        text-align: right;
    }


    #map-results .result {
        border-top: solid 1px #bcbdbf;
        padding: 8px 0;
        overflow: hidden;
    }


    #map-results .result-info, #map-results .result-info-noCursor {
        float: left;
        text-align: left;
        max-width: 50%;
        margin-left: 0;
    }


    #map-results .result-info {
        cursor: pointer;
    }


    #map-results .result-services {
        float: right;
        text-align: right;
        max-width: 50%;
    }


    #map-results .result-title {
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        color: #E91C24;
    }


    #map-results .result-service {
        font-size: 12px;
        text-transform: uppercase;
    }


@media (max-width: 1000px) {


    #map-results {
        width: 40vw
    }
}


@media (max-width: 600px) {


    #map-results {
        position: relative;
        left: auto;
        bottom: auto;
        width: auto;
        height: auto;
        box-shadow: none
    }
}


#map-dealer-info {
    position: absolute;
    left: 0;
    bottom: 50px;
    width: 0;
    height: 400px;
    background: #fff;
    box-sizing: border-box;
    padding: 60px 50px;
    text-align: left;
    text-transform: uppercase;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
    transform: scale(0, 1);
    transform-origin: 0 50%;
    transition: opacity 0.3s ease, transform 0.3s ease
}


    #map-dealer-info.showing {
        width: 400px;
        opacity: 1;
        transform: scale(1, 1);
    }


    #map-dealer-info .dealer-title {
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        color: #000;
        text-transform: none;
        margin-bottom: 40px;
    }


    #map-dealer-info .dealer-services {
        margin-bottom: 40px;
    }


    #map-dealer-info .dealer-contact-info {
        margin-bottom: 20px;
    }


@media (max-width: 1000px) {


    #map-dealer-info {
        width: 40vw
    }
}


@media (max-width: 600px) {


    #map-dealer-info {
        height: auto;
        position: fixed;
        top: 0;
        height: 100vh;
        z-index: 20;
        overflow: auto;
        -webkit-overflow-scrolling: touch
    }

        #map-dealer-info.showing {
            width: 100%;
        }
}


#map-dealer-info-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 20px;
    height: 20px;
    background: no-repeat center/18px auto url(https://www.code3esg.com/dist/img/code3/close.svg);
    cursor: pointer;
}


/************************************************
  Sign in form
 ************************************************/


#login-form {
    padding: 60px 3.2vw;
    text-align: left;
}


    #login-form h4 {
        margin-bottom: 10px;
    }


    #login-form form {
        margin: 0 auto;
        max-width: 690px
    }


@media (max-width: 600px) {

    #login-form form {
        max-width: 350px
    }
}


@media (max-width: 600px) {

    #login-form input[type=text], #login-form input[type=password], #login-form button {
        width: 100%;
        margin-bottom: 10px;
    }
}


.login-container {
    display: flex;
    justify-content: space-between;
}


    .login-container input, .login-container button {
        width: 31.01%;
    }


@media (max-width: 600px) {


    .login-container {
        flex-direction: column
    }
}


#login-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


    #login-footer .login-info {
        width: 65.5%;
        text-align: left;
    }


    #login-footer .login-checkbox {
        width: 31.01%;
    }


        #login-footer .login-checkbox .checkbox {
            color: #000;
        }


    #login-footer a {
        text-transform: uppercase
    }


        #login-footer a.tel {
            color: #000;
            text-transform: none;
        }


@media (max-width: 600px) {


    #login-footer {
        flex-direction: column-reverse;
    }

        #login-footer .login-info {
            width: 100%;
        }

        #login-footer .login-checkbox {
            width: 100%;
            margin-bottom: 10px;
        }
}


#forgot-password-link {
    display: inline-block;
    padding-right: 11px;
    border-right: solid 1px #333;
    margin-right: 11px
}


@media (max-width: 750px) {


    #forgot-password-link {
        display: block;
        padding-right: 0;
        margin-right: 0;
        margin-bottom: 5px;
        border: none
    }
}


/************************************************
  Header logo and main navigation
 ************************************************/


body.mobile-nav-showing {
    overflow: hidden
}


@media (max-width: 750px) {


    body.mobile-nav-showing {
        position: fixed
    }
}


#logo {
    position: absolute;
    top: 32px;
    left: 38px;
    font-size: 0;
    height: 45px;
    width: 178px;
    background: no-repeat center/contain url(https://www.code3esg.com/dist/img/code3/logo.svg);
}


.product #logo, .directional-leds #logo, .sem-landing #logo {
    background-image: url(https://www.code3esg.com/dist/img/code3/logo-footer.svg);
}


@media (max-width: 1000px) {


    #logo {
        top: 3.2vw;
        left: 3.8vw
    }
}


#portal-title {
    position: absolute;
    left: 237px;
    top: 32px;
    height: 45px;
    font: 14px/45px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #e21c24;
    text-transform: uppercase
}


@media (max-width: 1140px) and (min-width: 1001px) {


    #portal-title {
        display: none
    }
}


@media (max-width: 1000px) {


    #portal-title {
        top: 3.2vw;
        left: calc(3.8vw + 199px)
    }
}


@media (max-width: 530px) {


    #portal-title {
        display: none
    }
}


/* This is the button to click on to show the slideout menu */


#mobile-nav-btn {
    display: none;
    position: absolute;
    top: 3.2vw;
    right: 3.2vw;
    border: solid 1px #E91C24;
    width: 42px;
    height: 42px;
    box-sizing: border-box
}


    #mobile-nav-btn::before {
        content: '';
        position: absolute;
        display: block;
        top: 8px;
        left: 8px;
        width: 26px;
        height: 16px;
        border-top: solid 4px #E91C24;
        border-bottom: solid 4px #E91C24;
    }


    #mobile-nav-btn::after {
        content: '';
        position: absolute;
        display: block;
        top: 18px;
        left: 8px;
        width: 26px;
        height: 0;
        border-top: solid 4px #E91C24;
    }


@media (max-width: 1000px) {


    #mobile-nav-btn {
        display: block
    }
}


#main-bar {
    position: relative;
    z-index: 100;
}


.mobile-nav-showing #main-bar {
    z-index: 111;
}


.code3 #main-bar > .container::before {
    content: "";
    background-color: #343434;
    position: absolute;
    top: 0;
    left: 0;
    max-width: 1200px;
    width: 100vw;
    height: 113px
}


@media (max-width: 1000px) {

    .code3 #main-bar > .container::before {
        height: min(113px,max(calc( (100vw - 300px) / 14 + 63px ),63px))
    }
}


#main-nav-shadow {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background-color: rgba(255,255,255,0);
    transition: background-color 0.3s ease
}


@media (max-width: 1000px) {
    .mobile-nav-showing #main-nav-shadow {
        width: 100%;
        z-index: 9;
        background-color: rgba(255,255,255,0.8);
    }
}


#main-nav {
    position: absolute;
    top: 32px;
    right: 32px;
    z-index: 10;
    background-color: rgba(255,255,255,0);
    transition: background-color 0.25s ease;
}


    #main-nav ul {
        display: flex;
        justify-content: flex-end;
        min-width: 600px;
        border: solid 1px #E91C24;
    }


    #main-nav .main-nav-link {
        display: block;
        font: 14px/14px FrutigerLTPro-Bold, Arial, sans-serif;
        text-transform: uppercase;
        color: #E91C24;
        padding: 16px 25px;
        text-shadow: 0 0 2px rgba(0,0,0,0)
    }


@media (max-width: 1000px) {

    #main-nav .main-nav-link {
        background-color: #fff
    }
}


#main-nav .main-nav-link:hover, #main-nav .main-nav-link.current {
    color: #fff;
}


#main-nav .main-nav-link-li:hover .main-nav-link {
    color: #fff;
}


@media (min-width: 1001px) {


    #main-nav {
        /* hovering should only work on desktop */
    }

        #main-nav:hover {
            background-color: rgba(0,0,0,0.2);
        }
}


@media (max-width: 1000px) {


    #main-nav {
        position: fixed;
        top: 0;
        right: -300px;
        bottom: 0;
        width: 300px;
        padding-top: 47px;
        background: #ccc;
        overflow: scroll;
        /*-webkit-overflow-scrolling: touch;*/
        opacity: 0;
        transform: translate3d(0, 0, 0);
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .mobile-nav-showing #main-nav {
        opacity: 1;
        transform: translate3d(-300px, 0, 0);
    }

    #main-nav ul {
        display: block;
        min-width: 300px;
        border: none;
        text-align: left;
        border-top: solid 1px #e21c24;
    }

    #main-nav .main-nav-link-li {
        position: relative;
        border-bottom: solid 1px #e21c24;
    }

    #main-nav #nav-search {
        border-bottom: none;
    }

    #main-nav .main-nav-link {
        margin-right: 47px;
    }
}


#mobile-nav-close {
    display: none
}


@media (max-width: 1000px) {


    #mobile-nav-close {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 47px;
        height: 47px;
        background: no-repeat center/20px url(https://www.code3esg.com/dist/img/code3/close.svg);
        cursor: pointer
    }
}


@media (max-width: 1000px) {


    .mobile-subnav-btn {
        position: absolute;
        top: 0;
        right: 0;
        width: 47px;
        height: 47px;
        border-left: solid 1px #e21c24;
        background: no-repeat center/13px 15px url(https://www.code3esg.com/dist/img/code3/down-arrow-menu.svg)
    }

        .mobile-subnav-btn.mobile-expanded {
            background: no-repeat center/12px url(https://www.code3esg.com/dist/img/code3/close.svg);
        }
}


.subnav {
    overflow: hidden;
    transform: scale(1,0);
    transform-origin: 50% 0;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    color: #fff
    /* Styling specific to the desktop version of navigation showing. */
}


@media (min-width: 1001px) {


    .subnav {
        position: absolute;
        /* bumping up one pixel to ensure the mouse transition between the <a> and the
           .subnav is seamless. If it isn't, then sporadically the menu will disappear
           when moving from the <a> to the .subnav. Note this also requires adding a
           border-top on this element to keep the appearance consistent. */
        top: calc(100% - 1px);
        border-top: solid 1px #e21c24;
        left: 0;
        right: 0;
    }
    /* the hovering to show functionality is on the <li> not on the <a> tag so that
           the subnav can appear/hide without need for any javascript. */
    li:hover .subnav {
        transform: scale(1,1);
        opacity: 1;
    }
}


@media (min-width: 1001px) {

    .subnav .subnav-bg-color {
        background-color: rgba(0,0,0,0.8);
        box-shadow: 0px 3px 3px 2px rgba(0,0,0,0.2)
    }
}


@media (max-width: 1000px) {


    .subnav {
        background-color: #333;
        opacity: 1;
        transform: scale(1,1);
        height: 0;
        transition: height 0.3s ease, padding 0.3s ease
    }

        .subnav.mobile-expanded {
            padding-top: 20px;
            padding-bottom: 20px;
        }
}


#nav-search .main-nav-link, #nav-search.searching .main-nav-link {
    position: relative;
    font-size: 0;
    width: 37.62px;
    background: no-repeat center/17.62px 17.56px url(https://www.code3esg.com/dist/img/code3/search.svg);
    transform: translate3d(0,0,0);
    transition: all 0.3s ease
}


@media (max-width: 1000px) {


    #nav-search .main-nav-link, #nav-search.searching .main-nav-link {
        display: none
    }
}


.subnav-cols {
    display: flex;
    justify-content: center;
    text-align: left;
    padding: 0 10px 0 30px
}


    .subnav-cols.even {
        padding: 0 20px;
    }


@media (max-width: 1000px) {


    .subnav-cols {
        display: block
    }
}


.subnav-col {
    padding: 30px 10px;
    box-sizing: border-box;
}


    .subnav-col h4 {
        color: #fff;
        margin-bottom: 10px;
    }


    .subnav-col .subnav-title {
        font-size: 12px;
        color: #fff;
        margin-bottom: 14px;
    }


    .subnav-col a {
        margin-bottom: 14px;
        display: block;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif
    }


@media (max-width: 1000px) {

    .subnav-col a {
        /*
                This little swap here is to make the sizing work correctly when expanding the
                menu from the mobile layout. It doesn't measure correctly because the margin
                will disappear for the last item in the parent that contains it.
            */
        margin-bottom: 0;
        padding-bottom: 14px
    }
}


.subnav-col a:hover, .subnav-col a.current {
    color: #fff;
}


.subnav-col a.btn {
    display: inline-block;
    min-width: 140px
}


    .subnav-col a.btn:hover {
        color: #fff;
    }


@media (max-width: 1000px) {

    .subnav-col a.btn {
        margin-bottom: 0
    }
}


.subnav-col p {
    margin-bottom: 14px;
}


.subnav-col.vert-align {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px
}


@media (max-width: 1000px) {


    .subnav-col.vert-align {
        padding-top: 0;
        padding-bottom: 0
    }
}


@media (min-width: 1001px) {


    .subnav-col {
        width: 33.333%
    }
}


@media (max-width: 1000px) {


    .subnav-col {
        padding: 0 20px;
    }

        .subnav-col .subnav-title {
            color: #fff;
            padding-top: 20px;
        }
}


.subnav-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: solid 1px rgba(255,255,255,0.7);
    padding: 20px 0 26px;
    margin: 0 30px;
    font-size: 12px;
}


    .subnav-footer .btn {
        width: 170px;
        margin-bottom: 0;
    }


.select-column {
    flex-grow: 1;
    padding: 30px 10px;
}


    .select-column .subnav-title {
        font-size: 14px;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        color: #fff;
        margin-bottom: 10px;
    }


    .select-column select {
        width: 230px
    }


@media (max-width: 1000px) {

    .select-column select {
        width: 100%
    }
}


@media (max-width: 1000px) {


    .select-column {
        padding: 10px
    }
}


@media (max-width: 1000px) {


    .mobile-nav-hide {
        display: none
    }
}


#vehicle-type option {
    display: none
}


    #vehicle-type option.showing {
        display: block;
    }


@media (min-width: 1001px) {


    .mobile-nav-only {
        display: none
    }
}


.subnav-double-col {
    width: 66.667%;
    padding: 30px 20px;
    box-sizing: border-box;
    max-width: 370px;
}


/************************************************
  Search form
 ************************************************/


#nav-search-container {
    background-color: #fff;
}


    #nav-search-container input {
        background: #fff;
        padding: 9px 10px;
        height: 44px;
        margin-bottom: 0;
        border-color: #fff;
    }


    #nav-search-container button {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 0;
        width: 90px;
        height: 44px;
        background: no-repeat center/17.62px 17.56px url(https://www.code3esg.com/dist/img/code3/search.svg);
        margin-bottom: 0
    }


        #nav-search-container button::before {
            display: none;
        }


@media (min-width: 1001px) {


    #nav-search-container {
        position: absolute;
        top: 1px;
        right: 1px;
        bottom: 1px;
        opacity: 0;
        width: 0;
        overflow: hidden;
        box-sizing: border-box;
        transition: all 0.3s ease;
        cursor: pointer;
    }

    .searching #nav-search-container {
        opacity: 1;
        width: calc(100% - 2px);
    }

    #nav-search-container button {
        height: auto;
        bottom: 0;
        width: 40px;
        right: 40px;
        cursor: pointer;
    }
}


@media (max-width: 1000px) {


    #nav-search-container {
        height: 44px;
        top: 3px;
        width: 100%;
        transform: scale(1,1);
        opacity: 1;
        background: #ccc;
        border-bottom: solid 1px #e21c24;
    }

        #nav-search-container input {
            background: #ccc;
            border-color: #ccc;
        }
}


#nav-search-close {
    display: none;
    font-size: 0
}


@media (min-width: 1001px) {


    #nav-search-close {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 50px;
        background: no-repeat center/15px 15px url(https://www.code3esg.com/dist/img/close-grey.svg)
    }
}


/* Styling for slick.js */


/* Slider */


.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}


.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}


    .slick-list:focus {
        outline: none;
    }


    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }


.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}


.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}


    .slick-track:before,
    .slick-track:after {
        display: table;
        content: '';
    }


    .slick-track:after {
        clear: both;
    }


.slick-loading .slick-track {
    visibility: hidden;
}


.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}


[dir='rtl'] .slick-slide {
    float: right;
}


.slick-slide img {
    display: block;
}


.slick-slide.slick-loading img {
    display: none;
}


.slick-slide.dragging img {
    pointer-events: none;
}


.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-arrow.slick-hidden {
    display: none;
}


/************************************************
  Hero
 ************************************************/


#hero {
    background-color: #777;
    max-height: 680px;
    overflow: hidden;
    z-index: 0
}


@media (max-width: 1200px) {


    #hero {
        max-height: 56.667vw
    }
}


@media (max-width: 600px) {


    #hero {
        max-height: 340px
    }
}


@media (max-width: 400px) {


    #hero {
        max-height: 280px
    }
}


.slides {
    display: block;
}


.box-content .slides {
    height: 100%;
}


    .box-content .slides .slick-list, .box-content .slides .slick-track {
        height: 100%;
    }


.slides .slide {
    position: relative;
    display: block;
    width: 100%
}


    .slides .slide::before {
        content: '';
        display: block;
        padding-top: 56.667%;
    }


#news-slider .slides .slide::before {
    padding-top: 61%;
}


@media (max-width: 600px) {

    .slides .slide::before {
        padding-top: 340px
    }
}


@media (max-width: 400px) {

    .slides .slide::before {
        padding-top: 280px
    }
}


.slide-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-sizing: border-box;
    padding: 12.5% 8% 5%;
    text-align: left;
    white-space: normal
}


    .slide-content.align-right {
        text-align: right;
    }


        .slide-content.align-right p {
            margin-left: auto;
        }


    .slide-content.white-overlay::before {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 280px;
        background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%)
    }


@media (max-width: 400px) {


    .slide-content.white-overlay::before {
        display: none
    }
}


.slide-content.dark-overlay::before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 160px;
    background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%)
}


@media (max-width: 400px) {


    .slide-content.dark-overlay::before {
        display: none
    }
}


.slide-content h1, .slide-content h2 {
    font: 40px/45px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #E91C24;
    margin-bottom: 15px;
    position: relative;
    z-index: 2;
}


.vehicle-slide .slide-content h1, .vehicle-slide .slide-content h2 {
    z-index: 0;
}


@media (max-width: 1200px) {

    .slide-content h1, .slide-content h2 {
        font-size: 3.333vw;
        line-height: 3.75vw;
        margin-bottom: 1.25vw
    }
}


@media (max-width: 750px) {

    .slide-content h1, .slide-content h2 {
        font-size: 26px;
        line-height: 32px;
        margin-bottom: 10px
    }
}


@media (max-width: 600px) {
    /* Because we're so small, text wrapping using <br>'s rarely works well.
        Just going to hide them so text flows more naturally. */
    .slide-content h1 br, .slide-content h2 br {
        display: none;
    }
}


@media (max-width: 400px) {

    .slide-content h1, .slide-content h2 {
        font-size: 20px;
        line-height: 26px
    }
}


.slide-content h1.small, .slide-content h2.small {
    max-width: 600px;
}


.slide-content h3 {
    font: 24px/28px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
    text-transform: none;
    margin-bottom: 15px;
    z-index: 2;
}


.vehicle-slide .slide-content h3 {
    z-index: 0;
}


.slide-content h3.dark {
    color: #000;
}


@media (max-width: 1000px) {

    .slide-content h3 {
        font-size: 2.4vw;
        line-height: 2.8vw
    }
}


@media (max-width: 600px) {

    .slide-content h3 {
        display: none
    }
}


.slide-content p {
    font: 14px/22px FrutigerLTPro-Roman, Arial, sans-serif;
    color: #000;
    max-width: 440px;
    position: relative;
    z-index: 2;
}


.vehicle-slide .slide-content p {
    z-index: 0;
}


.slide-content p.dark {
    color: #000;
}


@media (max-width: 1000px) {

    .slide-content p {
        font-size: 1.4vw;
        line-height: 2.2vw
    }
}


@media (max-width: 750px) {

    .slide-content p {
        display: none
    }
}


.slide-content a {
    color: #E91C24;
}


.slide-content .btn {
    color: #fff;
}


.vehicle-slide .slide-content {
    height: auto;
    padding-bottom: 0;
}


.slick-active .slide-content .first-in {
    transition: all 0.3s ease 0.2s;
}


.slick-active .slide-content .second-in {
    transition: all 0.3s ease 0.3s;
}


.slick-active .slide-content .third-in {
    transition: all 0.3s ease 0.4s;
}


.slick-active .slide-content .fourth-in {
    transition: all 0.3s ease 0.5s;
}


.slide-content .from-left {
    opacity: 0;
    transform: translate3d(-10%,0,0);
}


.slick-active .slide-content .from-left {
    opacity: 1;
    transform: translate3d(0,0,0);
}


.slide-content .from-right {
    opacity: 0;
    transform: translate3d(10%,0,0);
}


.slick-active .slide-content .from-right {
    opacity: 1;
    transform: translate3d(0,0,0);
}


.slide-content .from-top {
    opacity: 0;
    transform: translate3d(0,-10%,0);
}


.slick-active .slide-content .from-top {
    opacity: 1;
    transform: translate3d(0,0,0);
}


.slide-content .from-bottom {
    opacity: 0;
    transform: translate3d(0,10%,0);
}


.slick-active .slide-content .from-bottom {
    opacity: 1;
    transform: translate3d(0,0,0);
}


@media (max-width: 600px) {


    .slide-content {
        padding-top: 75px
    }
}


/************************************************
  Slider Nav Buttons NOTE: these are generated via
  javascript. They don't exist anywhere in html
 ************************************************/


.slick-dots {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    list-style: none;
}


    .slick-dots li {
        display: inline-block;
        margin: 0 9px;
    }


    .slick-dots button {
        width: 14px;
        height: 14px;
        padding: 0;
        font-size: 0;
        border-radius: 50%;
        background: rgba(255,255,255,0.5);
        transition: color 0.3s ease;
        cursor: pointer
        /* This is because buttons by default have gradients */
    }


        .slick-dots button::before {
            display: none;
        }


    .slick-dots .slick-active button {
        background-color: rgba(255,255,255,1);
    }


@media (max-width: 1000px) {


    .slick-dots {
        bottom: 2.4vw
    }
}


/************************************************
  NEWS HERO
  This is different from the other heroes in that
  it is split into thirds, the first two thirds
  taking up a slider with images and the last
  third taking up an info box related to the
  current slide in the hero slider.
 ************************************************/


#news-hero {
    display: flex;
    overflow: hidden
}


@media (max-width: 600px) {


    #news-hero {
        flex-direction: column
    }
}


#news-slider {
    flex: 2;
    position: relative;
    max-height: 488px;
    overflow: hidden
}


@media (max-width: 1200px) {


    #news-slider {
        max-height: 41vw
    }
}


@media (max-width: 600px) {


    #news-slider {
        max-height: 60.997vw
    }
}


#news-slides-info {
    flex: 1;
    overflow: hidden;
    position: relative;
    background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
}


.info-box {
    display: block;
    position: absolute;
    left: 100%;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: all 0.3s ease;
    box-sizing: border-box
}


    .info-box.active {
        left: 0;
        opacity: 1;
        transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    }


@media (max-width: 600px) {


    .info-box {
        height: auto;
        overflow: hidden
    }
}


.info-box-body {
    position: absolute;
    top: 50px;
    left: 50px;
    right: 50px;
    bottom: 50px;
    color: #fff;
    text-align: left;
    display: flex;
    flex-direction: column;
    padding-bottom: 38px
}


    .info-box-body::after {
        content: '';
        position: absolute;
        bottom: 0;
        right: 0;
        width: 28px;
        height: 27px;
        background: no-repeat center/contain url(https://www.code3esg.com/dist/img/code3/link-arrow.svg)
    }


@media (max-width: 1000px) {


    .info-box-body::after {
        width: 22px;
        height: 21px
    }
}


@media (max-width: 600px) {


    .info-box-body::after {
        display: none
    }
}


.info-box-body.new-item::before {
    content: 'New';
    position: absolute;
    top: 0;
    right: 0;
    font: 10.3px/1em EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    text-transform: uppercase;
    color: #E91C24;
    padding: 7px 13px;
    background: #fff
}


@media (max-width: 1000px) {


    .info-box-body.new-item::before {
        padding: 5px 9px
    }
}


@media (max-width: 750px) {


    .info-box-body.new-item::before {
        display: none
    }
}


@media (max-width: 600px) {


    .info-box-body.new-item::before {
        display: block;
        top: 25px;
        right: 25px
    }
}


@media (max-width: 1200px) {


    .info-box-body {
        top: 4.167vw;
        left: 4.167vw;
        right: 4.167vw;
        bottom: 4.167vw
    }
}


@media (max-width: 1000px) {


    .info-box-body {
        padding-bottom: 30px
    }
}


@media (max-width: 600px) {


    .info-box-body {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        padding: 25px 25px 30px
    }
}


.info-box-category {
    flex-grow: 0;
    font: 14px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #000;
    text-transform: uppercase
}


@media (max-width: 1000px) {


    .info-box-category {
        font-size: 12px
    }
}


.info-box-date {
    flex-grow: 0;
    font: 14px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #C3C4C6;
    text-transform: uppercase
}


@media (max-width: 1000px) {


    .info-box-date {
        font-size: 12px
    }
}


@media (max-width: 600px) {


    .info-box-date {
        margin-bottom: 10px
    }
}


.info-box-main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.info-box-title {
    color: #fff;
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 24px
}


@media (max-width: 1200px) {


    .info-box-title {
        margin-bottom: 2vw
    }
}


@media (max-width: 1000px) {


    .info-box-title {
        font-size: 14px;
        line-height: 19px;
        margin-bottom: 1vw
    }
}


.info-box-blurb {
    line-height: 22px;
    color: #000
}


    .info-box-blurb::after {
        content: ' [...]';
        color: #E91C24;
        display: inline-block;
        margin-left: 4px;
    }


@media (max-width: 1000px) {


    .info-box-blurb {
        font-size: 12px;
        line-height: 16px
    }
}


@media (max-width: 750px) {


    .info-box-blurb {
        display: none
    }
}


@media (max-width: 600px) {


    .info-box-blurb {
        display: block
    }
}


/************************************************
  BOXES
 ************************************************/


.flex-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    background-color: #c7c8ca;
}


    .flex-3 .box {
        width: 33.333%;
        max-width: 400px
    }


        .flex-3 .box::before {
            content: '';
            display: block;
            padding-top: 400px;
        }


@media (max-width: 1200px) {

    .flex-3 .box {
        max-width: 33.333vw
    }

        .flex-3 .box::before {
            padding-top: 33.333vw;
        }
}


@media (max-width: 750px) {

    .flex-3 .box {
        width: 400px;
        min-width: 50vw;
        max-width: 400px
    }

        .flex-3 .box::before {
            padding-top: 100%;
        }

        .flex-3 .box.medium-hide {
            display: none;
        }
}


@media (max-width: 400px) {

    .flex-3 .box {
        width: 100%;
    }

    .xsmall-auto-height.flex-3 .box {
        padding-top: 0;
    }
}


@media (max-width: 400px) {

    .xsmall-single-col.flex-3 .box {
        width: 100%;
        max-width: 100%
    }
}


@media (max-width: 750px) {


    .flex-3 {
        justify-content: center
    }
}


/* This is used for variable height boxes, which requires that they are fixed in
  width rather than be able to expand */


.flex-height-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    position: relative;
    background: #c7c8ca;
}


    .flex-height-3 .box {
        width: 33.333%;
        min-height: 400px;
        max-width: 400px
    }


@media(max-width: 1200px) {

    .flex-height-3 .box {
        min-height: 33.333vw;
        max-width: 33.333vw
    }
}


@media (max-width: 750px) {

    .flex-height-3 .box {
        width: 400px;
        min-width: 50%;
        min-height: 50vw
    }
}


@media (max-width: 400px) {

    .xsmall-single-col.flex-height-3 .box {
        width: 100%;
        max-width: 100%
    }
}


@media (max-width: 750px) {


    .flex-height-3 {
        justify-content: center
    }
}


.flex-4 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}


    .flex-4 .box {
        width: 25%
    }


        .flex-4 .box::before {
            content: '';
            display: block;
            padding-top: 300px
        }


@media (max-width: 1000px) {

    .flex-4 .box::before {
        padding-top: 33.333vw
    }
}


@media (max-width: 750px) {

    .flex-4 .box::before {
        padding-top: 50vw
    }
}


@media (max-width: 600px) {

    .flex-4 .box::before {
        padding-top: 100%
    }
}


@media (max-width: 1000px) {

    .flex-4 .box {
        border-bottom: solid 1px #333
    }

        .flex-4 .box:nth-child(2n+1) {
            width: 33.333%;
        }

        .flex-4 .box:nth-child(2n) {
            width: 66.667%;
        }

    .reverse-4.flex-4 .box:nth-child(1) {
        order: 2;
        width: 66.667%;
    }

    .reverse-4.flex-4 .box:nth-child(2) {
        order: 1;
        width: 33.333%;
    }

    .reverse-4.flex-4 .box:nth-child(3) {
        order: 4;
        width: 66.667%;
    }

    .reverse-4.flex-4 .box:nth-child(4) {
        order: 3;
        width: 33.333%;
    }
}


@media (max-width: 750px) {
    .flex-4 .box:nth-child(2n+1), .flex-4 .box:nth-child(2n) {
        width: 50%;
    }

    .reverse-4.flex-4 .box:nth-child(1), .reverse-4.flex-4 .box:nth-child(2), .reverse-4.flex-4 .box:nth-child(3), .reverse-4.flex-4 .box:nth-child(4) {
        width: 50%;
    }
}


@media (max-width: 400px) {

    .xsmall-single-col.flex-4 .box {
        width: 100%
    }
}


.flex-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}


    .flex-2 .box {
        width: 50%
    }


        .flex-2 .box::before {
            content: '';
            display: block;
            padding-top: 600px
        }


@media (max-width: 1000px) {

    .flex-2 .box::before {
        padding-top: 50vw
    }
}


@media (max-width: 600px) {

    .flex-2 .box::before {
        padding-top: 100%
    }
}


@media (max-width: 600px) {

    .flex-2 .box {
        width: 100%
    }
}


.box {
    display: block;
    position: relative;
    overflow: hidden;
    flex-grow: 1;
    flex-shrink: 1;
    transition: all 0.4s ease;
    word-wrap: break-word;
    word-wrap: break-word
}


    .box.placeholder-box::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /*background: no-repeat center/177.81px 41.46px url('../img/ecco-placeholder.svg');*/
    }


@media (min-width: 751px) {

    .box.expand-hover {
        width: auto
    }

        .box.expand-hover:hover {
            flex-grow: 1.66;
        }

    .box.narrow-only {
        display: none;
    }
}


@media (max-width: 750px) {
    .box.wide-only {
        display: none;
    }
}


@media (max-width: 400px) {
    .box.no-xsmall {
        display: none;
    }
}


.box-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1);
    transition: transform 0.7s ease
}


    .box-background.darken::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.3);
    }


.zoom-hover:hover .box-background {
    transform: scale(1.2);
}


.orange-hover .box-background::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
    transition: opacity 0.3s ease;
}


.orange-hover:hover .box-background::after {
    opacity: 0.85;
}


.box-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box
}


    .box-content.titled-box {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 40px;
        font: 20px/24px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        text-transform: uppercase;
        color: #E91C24;
        transition: color 0.3s ease;
    }


.orange-hover:hover .box-content.titled-box {
    color: #fff;
}


@media (max-width: 1000px) {


    .box-content.titled-box {
        font-size: 2vw;
        line-height: 2.4vw
    }
}


@media (max-width: 600px) {


    .box-content.titled-box {
        font-size: 12px;
        line-height: 14.4px
    }
}


.box-content.full-titled-box {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;
    font: 35px/42px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    text-transform: uppercase;
    color: #E91C24;
    transition: color 0.3s ease;
}


.orange-hover:hover .box-content.full-titled-box, .orange-bg .box-content.full-titled-box, .blue-bg .box-content.full-titled-box {
    color: #fff;
}


.box-content.bottom-text-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px 20px 30px;
    text-align: left;
}


    .box-content.bottom-text-box h4 {
        color: #fff;
        margin-bottom: 15px
    }


@media (max-width: 500px) {

    .box-content.bottom-text-box h4 {
        margin-bottom: 0
    }
}


.box-content.bottom-text-box p {
    color: #e21c24;
    line-height: 20px
}


@media (max-width: 500px) {

    .box-content.bottom-text-box p {
        display: none
    }
}


@media (max-width: 400px) {


    .box-content.bottom-text-box {
        padding: 10px 10px 20px
    }
}


/************************************************
  HALF-SQUARE/FULL-SQUARE BOXES
 ************************************************/


.half-square-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}


.half-square-image {
    height: 50%;
    position: relative;
    background: no-repeat center/cover;
}


    .half-square-image img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }


.half-square-text {
    height: 50%;
    padding: 25px 25px 50px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    text-align: left;
    white-space: normal;
    font-size: 14px;
    line-height: 22px;
}


.blue-bg .half-square-text, .orange-bg .half-square-text {
    color: #fff;
}


.grey-bg .half-square-text {
    color: #e21c24;
}


.half-square-text .section-indicator {
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 1em;
}


.blue-bg .half-square-text .section-indicator {
    color: #E91C24;
}


.orange-bg .half-square-text .section-indicator {
    color: #fff;
}


.half-square-text h3 {
    font-size: 14px;
    line-height: 16px;
    margin-bottom: 5px;
}


.half-square-text time {
    display: block
    /* yeah this is a little weird to turn it on/off over
    and over, but it is necessary with the small font size
     and the tight space. */
}


@media (max-width: 1000px) {

    .half-square-text time {
        display: none
    }
}


@media (max-width: 750px) {

    .half-square-text time {
        display: block
    }
}


@media (max-width: 600px) {

    .half-square-text time {
        display: none
    }
}


@media (max-width: 400px) {

    .half-square-text time {
        display: block
    }
}


.half-square-text p {
    /* yeah this is a little weird to turn it on/off over
    and over, but it is necessary with the small font size
     and the tight space. */
}


@media (max-width: 1000px) {

    .half-square-text p {
        display: none
    }
}


@media (max-width: 750px) {

    .half-square-text p {
        display: block
    }
}


@media (max-width: 600px) {

    .half-square-text p {
        display: none
    }
}


@media (max-width: 400px) {

    .half-square-text p {
        display: block
    }
}


@media (max-width: 1200px) {


    .half-square-text {
        padding: 2.5vw 2.5vw 5vw
    }
}


.box .slides li::before {
    padding-top: 100%;
}


/************************************************
  FACEBOOK BOX
 ************************************************/


.facebook-list {
    padding: 50px 40px 40px;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    text-align: left;
}


    .facebook-list h3 {
        margin-bottom: 15px;
        color: #fff;
    }


@media (max-width: 1000px) {


    .facebook-list {
        padding: 5vw 4vw 4vw
    }
}


@media (max-width: 400px) {


    .facebook-list {
        padding: 20px
    }
}


.facebook-item {
    font-size: 13px;
    line-height: 16.2px;
    color: #fff;
    position: relative;
    padding-left: 62px;
    margin-bottom: 20px;
    display: inline-block;
    min-height: 48px;
}


    .facebook-item img {
        position: absolute;
        max-width: 48px;
        max-height: 48px;
        top: 0;
        left: 0;
        box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
    }


    .facebook-item span {
        display: block;
    }


    .facebook-item .date {
        font-style: italic;
    }


/************************************************
  FEATURED PRODUCT BOXES
 ************************************************/


.product-image {
    padding: 20px;
}


    .product-image img {
        max-width: 100%;
    }


.product-text {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}


    .product-text .product-title {
        font: 20px/22px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        color: #e21c24;
        text-transform: uppercase;
        margin-bottom: 5px;
        transition: color 0.3s ease;
    }


.box:hover .product-text .product-title {
    color: #fff;
}


.lighter.product-text .product-title, .product-text .product-title.title-orange {
    color: #E91C24;
}


.product-text .product-sub {
    font-size: 14px;
    color: #e21c24;
    text-transform: uppercase;
}


.lighter.product-text .product-sub {
    color: #fff;
}


.box:hover .product-text .product-sub {
    color: #fff;
}


.full-square-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


/************************************************
  CONTENT SECTION and CONTEST FORM
 ************************************************/


.content-section {
    display: flex;
    justify-content: center;
    padding: 32px 76px 72px;
    box-sizing: border-box;
    flex-wrap: wrap
}


@media (max-width: 1000px) {


    .content-section {
        padding: 3.2vw 0 7.2vw
    }
}


@media (max-width: 600px) {


    .content-section {
        flex-direction: column;
        overflow: hidden
    }
}


#signup {
    overflow: hidden;
}


    #signup .thank-you-message {
        padding: 0;
    }


        #signup .thank-you-message h4 {
            margin-bottom: 20px;
        }


    #signup .form-error-message {
        padding: 0;
    }


        #signup .form-error-message h4 {
            margin-bottom: 20px;
        }


    #signup.thank-you .thank-you-message {
        padding: 72px 76px 72px
    }


@media (max-width: 1000px) {
    #signup.thank-you .thank-you-message {
        padding: 7.2vw 0 7.2vw
    }
}


#signup.thank-you #contest-form, #signup.thank-you #landing-page-form, #signup.thank-you #signup-page-form {
    transition: all 0.3s ease;
    opacity: 0;
    height: 0;
}


#signup.form-error .form-error-message {
    padding: 72px 76px 72px
}


@media (max-width: 1000px) {
    #signup.form-error .form-error-message {
        padding: 7.2vw 0 7.2vw
    }
}


#signup.form-error #contest-form, #signup.form-error #landing-page-form, #signup.form-error #signup-page-form {
    transition: all 0.3s ease;
    opacity: 0;
    height: 0;
}


.content-block-half, .content-block-full {
    position: relative;
    text-align: left;
    padding: 40px 40px 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 50%;
    max-width: 50%;
    box-sizing: border-box;
    color: #e21c24;
}


    .content-block-half h2, .content-block-full h2 {
        font-size: 40px;
        line-height: 46px;
        margin-bottom: 0;
        color: #E91C24
        /*white-space: nowrap;*/
    }


@media (max-width: 1200px) {

    .content-block-half h2, .content-block-full h2 {
        font-size: 3.333vw;
        line-height: 3.777vw;
        margin-bottom: 1.5vw
    }
}


@media (max-width: 600px) {

    .content-block-half h2, .content-block-full h2 {
        font-size: 18px;
        line-height: 20.4px;
        margin-bottom: 10.8px
    }
}


.content-block-half h3, .content-block-full h3 {
    font-size: 24px;
    margin-bottom: 18px;
    color: #e21c24;
    white-space: nowrap
}


@media (max-width: 1200px) {

    .content-block-half h3, .content-block-full h3 {
        font-size: 2vw;
        line-height: 2.4vw;
        margin-bottom: 1.5vw
    }
}


@media (max-width: 600px) {

    .content-block-half h3, .content-block-full h3 {
        font-size: 12px;
        line-height: 14px;
        margin-bottom: 10.8px
    }
}


.content-block-half p, .content-block-full p {
    line-height: 22px;
    margin-bottom: 14px
}


@media (max-width: 1000px) {

    .content-block-half p, .content-block-full p {
        margin-bottom: 1.4vw
    }
}


@media (max-width: 600px) {

    .content-block-half p, .content-block-full p {
        margin-bottom: 8.4px
    }
}


.content-block-half img, .content-block-full img {
    max-width: 100%;
    height: auto;
}


.content-block-half textarea, .content-block-full textarea {
    height: 150px;
}


.content-block-half table, .content-block-full table {
    width: 100%;
}


    .content-block-half table .top-bar, .content-block-full table .top-bar {
        border-top: solid 1px #ccc;
    }


        .content-block-half table .top-bar td, .content-block-full table .top-bar td {
            padding-top: 14px;
        }


    .content-block-half table .left, .content-block-full table .left {
        padding-right: 10px;
    }


    .content-block-half table .right, .content-block-full table .right {
        text-align: right;
    }


    .content-block-half table .btn, .content-block-half table button, .content-block-full table .btn, .content-block-full table button {
        width: 100%;
        min-width: 135px;
    }


.content-block-half .checkbox, .content-block-full .checkbox {
    display: inline;
}


    .content-block-half label, .content-block-half .checkbox input[type="checkbox"] + label, .content-block-full label, .content-block-full .checkbox input[type="checkbox"] + label {
        color: #000;
    }


        .content-block-half .checkbox input[type="checkbox"] + label::before, .content-block-full .checkbox input[type="checkbox"] + label::before {
            box-shadow: none;
            width: 15px;
            height: 15px;
            border: solid 2px #E91C24;
            background-color: #ccc;
        }


    .content-block-half .checkbox input[type="checkbox"]:checked + label::before, .content-block-full .checkbox input[type="checkbox"]:checked + label::before {
        background-color: #E91C24;
    }


@media (max-width: 1000px) {


    .content-block-half, .content-block-full {
        padding: 4vw
    }
}


@media (max-width: 600px) {


    .content-block-half, .content-block-full {
        width: auto;
        max-width: none
    }

        .content-block-half.small-hide-pad-top, .content-block-full.small-hide-pad-top {
            padding-top: 0;
        }

        .content-block-half.small-hide-pad-btm, .content-block-full.small-hide-pad-btm {
            padding-bottom: 0;
        }
}


.content-block-full {
    width: 100%;
    min-width: 100%;
}


#three-callouts {
    position: relative;
    background-position: center;
    background-size: cover
}


    #three-callouts::before {
        content: '';
        display: block;
        position: relative;
        padding-top: 56.667%;
    }


    #three-callouts .callout-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        padding-top: 4%;
    }


    #three-callouts .callout-block {
        width: 230px;
        padding: 43px 15px;
        min-height: 285px;
        box-sizing: border-box;
        color: #fff;
        margin: 0 16px;
        position: relative;
        background-position: center;
        background-size: cover
    }


        #three-callouts .callout-block::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
            opacity: 0.9;
        }


        #three-callouts .callout-block h3 {
            font-size: 16px;
            margin-bottom: 32px;
            position: relative;
        }


        #three-callouts .callout-block p {
            font-size: 12px;
            line-height: 18px;
            text-align: left;
            position: relative;
        }


@media (max-width: 750px) {

    #three-callouts::before {
        display: none;
    }

    #three-callouts .callout-content {
        position: relative;
        width: auto;
        height: auto;
        padding: 32px 0 0;
        flex-direction: column;
        align-items: center;
    }

    #three-callouts .callout-block {
        min-height: 0;
        width: 400px;
        margin: 0 0 32px;
    }
}


@media (max-width: 400px) {
    #three-callouts .callout-block {
        width: 100%;
    }
}


#partners {
    padding: 70px 0;
}


.partners-content {
    display: flex;
    color: #fff
}


@media (max-width: 750px) {


    .partners-content {
        flex-direction: column
    }
}


.partners-left {
    width: 50%;
    box-sizing: border-box;
    padding: 0 40px 15px 50px;
    text-align: left;
}


    .partners-left h2 {
        font-size: 30px;
        padding-bottom: 20px;
        margin-bottom: 30px;
        position: relative
    }


        .partners-left h2::after {
            content: '';
            position: absolute;
            top: 100%;
            left: 0;
            width: 96%;
            border-bottom: solid 1px #E91C24;
        }


    .partners-left p {
        margin-bottom: 20px;
    }


        .partners-left p strong {
            color: #E91C24;
            font-size: 16px;
        }


@media (max-width: 1000px) {


    .partners-left {
        padding: 0 4vw 15px 4vw;
    }

        .partners-left h2 {
            font-size: 3vw;
            padding-bottom: 2vw;
            margin-bottom: 3vw;
        }
}


@media (max-width: 750px) {


    .partners-left {
        width: auto
    }
}


@media (max-width: 600px) {
    .partners-left h2 {
        font-size: 18px;
        padding-bottom: 12px;
        margin-bottom: 18px;
    }
}


@media (max-width: 400px) {


    .partners-left {
        padding: 0 20px 15px
    }
}


#find-out-more {
    font-family: FrutigerLTPro-Bold, Arial, sans-serif;
    color: #E91C24;
    text-transform: uppercase;
    cursor: pointer;
    font-size: 12px
}


    #find-out-more:hover {
        text-decoration: underline;
    }


.partners-right {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


    .partners-right img {
        max-width: 100%;
    }


@media (max-width: 750px) {


    .partners-right {
        padding: 0 4vw 15px 4vw;
        width: auto;
    }

        .partners-right img {
            width: 100%;
        }
}


@media (max-width: 600px) {
    .partners-right h2 {
        font-size: 18px;
        padding-bottom: 12px;
        margin-bottom: 18px;
    }
}


@media (max-width: 400px) {


    .partners-right {
        padding: 0 20px 15px
    }
}


#partners-video {
    position: relative;
}


.tag-left {
    position: absolute;
    background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
    left: 0;
    top: 50%;
    padding: 16px;
    transform: translateY(-50%);
    font: 30px/30px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #fff
}


@media (max-width: 750px) {


    .tag-left {
        padding: 2.133vw;
        font-size: 4vw;
        line-height: 4vw
    }
}


.tag-right {
    position: absolute;
    background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
    right: 0;
    top: 50%;
    padding: 16px;
    transform: translateY(-50%);
    font: 30px/30px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #fff;
    min-width: 27px
}


    .tag-right.play-btn {
        width: 27px;
        padding-bottom: 11px
    }


@media (max-width: 750px) {


    .tag-right.play-btn {
        width: 3.6vw;
        padding-bottom: 1.467vw
    }
}


@media (max-width: 750px) {


    .tag-right {
        padding: 2.133vw;
        font-size: 4vw;
        line-height: 4vw
    }
}


.partners-contacts {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap
}


@media (max-width: 600px) {


    .partners-contacts {
        text-align: center
    }
}


.partners-contact {
    float: left;
    width: 150px;
    margin: 0 35px 45px 0;
    font-size: 11px;
    line-height: 15px;
    text-align: left;
}


    .partners-contact img {
        margin-bottom: 10px;
    }


    .partners-contact a {
        color: #E91C24;
    }


    .partners-contact:last-child {
        margin-right: 25px;
    }


@media (max-width: 1000px) {


    .partners-contact {
        margin: 0 4.5vw 4.5vw 0
    }
}


@media (max-width: 600px) {


    .partners-contact {
        float: none;
        display: inline-block;
        margin: 0 auto;
        padding: 0 10px 40px
    }
}


#next-steps {
    display: flex;
    padding: 28px 75px;
    box-sizing: border-box;
    justify-content: space-between;
    text-align: left;
    align-items: center;
}


    #next-steps h2 {
        font-size: 30px;
        color: #e21c24;
    }


    #next-steps a {
        margin: 0 45px;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        text-transform: uppercase
    }


@media (max-width: 1200px) {

    #next-steps a {
        margin: 0 2.083vw
    }
}


@media (max-width: 1200px) {


    #next-steps {
        padding: 28px 45px
    }
}


@media (max-width: 1000px) {


    #next-steps {
        flex-direction: column;
        padding: 2.8vw;
        text-align: center;
    }

        #next-steps p {
            margin-bottom: 20px;
        }
}


@media (max-width: 750px) {


    #next-steps {
        padding: 20px
    }
}


@media (max-width: 600px) {
    #next-steps h2 {
        font-size: 7.5vw;
    }

    #next-steps a {
        display: block;
        margin: 0 0 20px;
    }
}


.subcategory {
    background: linear-gradient(to bottom, rgba(214,214,214,1) 0%,rgba(255,255,255,1) 100%);
    padding: 50px 85px 30px;
    text-align: left;
    box-sizing: border-box
}


    .subcategory.reverse-bg {
        background: linear-gradient(to top, rgba(214,214,214,1) 0%,rgba(255,255,255,1) 100%);
    }


    .subcategory h3 {
        font: 20px/24px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        color: #e21c24;
        padding-left: 15px;
        margin-bottom: 7px;
    }


    .subcategory p {
        color: #e21c24;
        line-height: 23px;
        text-align: left;
        padding-left: 15px;
        margin-bottom: 20px;
    }


    .subcategory .subtitle {
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        color: #e21c24;
        text-transform: uppercase;
        padding-left: 15px;
        margin-bottom: 20px;
    }


    .subcategory .result-group {
        position: relative;
        margin-bottom: 45px
    }


        .subcategory .result-group::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 7.5%;
            right: 7.5%;
            border-bottom: solid 1px #c3c4c6;
        }


    .subcategory .products {
        display: flex;
        justify-content: space-evenly;
        flex-wrap: wrap;
    }


    .subcategory .product {
        width: 180px;
        margin: 0 10px 45px;
        text-align: center;
        position: relative;
    }


        .subcategory .product img {
            max-width: 100%;
            margin: 0 auto 5px;
        }


        .subcategory .product.new-product::after {
            content: 'New';
            position: absolute;
            top: 0;
            left: 0;
            color: #E91C24;
            font: 14px/14px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
            text-transform: uppercase;
        }


        .subcategory .product .product-colors {
            display: flex;
            justify-content: center;
            height: 8px;
            /*margin-top: -8px;*/
            position: relative;
            top: -8px;
        }


            .subcategory .product .product-colors span {
                width: 23px;
                margin-right: 8px
            }


                .subcategory .product .product-colors span:last-child {
                    margin-right: 0;
                }


            .subcategory .product .product-colors .color-amber {
                background: #f7941d;
            }


            .subcategory .product .product-colors .color-red {
                background: #f41e2e;
            }


            .subcategory .product .product-colors .color-white {
                background: #fff;
                border: solid 1px #c7c8ca;
            }


            .subcategory .product .product-colors .color-blue {
                background: #005295;
            }


            .subcategory .product .product-colors .color-green {
                background: #627117;
            }


        .subcategory .product .product-name {
            display: block;
            max-width: 150px;
            border-top: solid 1px #c3c4c6;
            margin: 0 auto 2px;
            padding-top: 12px;
            font: 14px/18px FrutigerLTPro-Bold, Arial, sans-serif;
            color: #e21c24;
            text-transform: uppercase;
        }


        .subcategory .product .product-subname {
            font-size: 12px;
            margin-bottom: 12px;
            color: #808080;
        }


@media (max-width: 1200px) {


    .subcategory {
        padding: 4.167vw 6.667vw 2.5vw;
    }

        .subcategory .product {
            width: 15vw;
            margin: 0 0.833vw 45px;
        }
}


@media (max-width: 750px) {


    .subcategory {
        padding: 40px 20px;
    }

        .subcategory .product {
            width: 24vw;
            margin: 0 2vw 6vw;
        }
}


@media (max-width: 400px) {

    .subcategory .product {
        width: 39vw;
    }
}


/************************************************
  PRODUCT HERO
 ************************************************/


#product-hero {
    background: linear-gradient(to top left, rgba(255,255,255,1) 0%,rgba(170,171,173,1) 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    padding: 140px 95px 57px;
    box-sizing: border-box;
}


    #product-hero ul, #product-hero ol {
        padding-left: 40px;
        margin-top: 14px;
        margin-bottom: 14px;
    }


        #product-hero ul li, #product-hero ol li {
            line-height: 26px;
        }


    #product-hero h1 {
        font-size: 36px;
        color: #E91C24;
        margin-bottom: 18px;
    }


    #product-hero .product-info {
        width: 50%;
        padding-right: 25px;
        box-sizing: border-box;
        text-align: left;
    }


        #product-hero .product-info .features {
            color: black;
        }


            #product-hero .product-info .features table {
                width: 100%;
                border: 1px solid #000000;
            }


                #product-hero .product-info .features table td {
                    border: 1px solid #000000;
                    padding: 5px 0 5px 5px;
                }


                #product-hero .product-info .features table th {
                    text-align: center;
                    vertical-align: middle;
                    padding: 5px;
                    background-color: #E91C24;
                }


@media (max-width: 750px) {

    #product-hero .product-info h1 {
        display: none
    }
}


#product-hero .product-info h2 {
    font: 22px/26px FrutigerLTPro-Bold, Arial, sans-serif;
    text-transform: none;
    color: black;
    margin-bottom: 20px
}


@media (max-width: 750px) {

    #product-hero .product-info h2 {
        display: none
    }
}


#product-hero .product-info .share-icons {
    text-align: right
}


@media (min-width: 751px) {

    #product-hero .product-info .share-icons {
        position: absolute;
        left: -95px;
        top: -50px;
    }

        #product-hero .product-info .share-icons a {
            display: block;
            margin-bottom: 16px;
        }
}


@media (max-width: 1200px) {

    #product-hero .product-info .share-icons {
        left: -7.917vw
    }
}


@media (max-width: 750px) {

    #product-hero .product-info .share-icons {
        display: none
    }
}


@media (max-width: 750px) {

    #product-hero .product-info {
        width: auto;
        padding-right: 0
    }
}


#product-hero .mobile-description-header {
    display: none
}


@media (max-width: 600px) {

    #product-hero .mobile-description-header {
        display: block;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        margin-bottom: 14px;
        transition: margin-bottom 0.3s ease
    }

        #product-hero .mobile-description-header::after {
            content: '';
            display: inline-block;
            margin-left: 5px;
            width: 10px;
            height: 11px;
            background: no-repeat center url(https://www.code3esg.com/dist/img/ecco/down-arrow-menu.svg);
            transform: rotate(0deg);
            transition: all 0.3s ease;
        }

        #product-hero .mobile-description-header.showing {
            margin-bottom: 8px
        }

            #product-hero .mobile-description-header.showing::after {
                transform: rotate(180deg);
            }
}


@media (max-width: 600px) {

    #product-hero .mobile-description-container {
        overflow: hidden;
        height: 0;
        opacity: 0;
        transition: opacity 0.3s ease
    }

        #product-hero .mobile-description-container.showing {
            opacity: 1;
        }
}


#product-hero .mobile-description-sizer {
    overflow: hidden;
}


#product-hero .product-description {
    max-width: 440px;
    border-top: solid 1px #bebfc1;
    border-bottom: solid 1px #bebfc1;
    padding: 20px 0 0;
    margin-bottom: 20px;
    position: relative;
}


    #product-hero .product-description p {
        margin-bottom: 20px;
        line-height: 22px;
    }


@media (max-width: 750px) {

    #product-hero .product-description {
        max-width: none
    }
}


#product-hero .product-features {
    max-width: 440px;
    margin-bottom: 20px;
}


    #product-hero .product-features li {
        margin-left: 15px;
        font-style: italic;
    }


@media (max-width: 750px) {

    #product-hero .product-features {
        max-width: none
    }
}


#product-hero .product-filters {
    max-width: 440px;
    margin-bottom: 10px;
}


#product-hero .product-filter, #product-hero .audio {
    padding-bottom: 19px;
    border-bottom: solid 1px #bebfc1;
    margin-bottom: 19px;
}


#product-hero .product-filter-label, #product-hero .audio-label {
    font-family: FrutigerLTPro-Bold, Arial, sans-serif;
    margin-bottom: 10px;
}


#product-hero .filter-option, #product-hero .audio-tone {
    display: inline-block;
    padding: 6px 12px;
    line-height: 14px;
    border: solid 1px #E91C24;
    color: #E91C24;
    background-color: rgba(255,255,255,0);
    margin: 0 6px 8px 0;
    transition: all 0.2s ease;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}


    #product-hero .filter-option:hover, #product-hero .audio-tone:hover {
        background-color: rgba(255,255,255,1);
    }


    #product-hero .filter-option.current, #product-hero .audio-tone.current {
        background-color: #E91C24;
        color: #fff;
        cursor: default;
    }


    #product-hero .filter-option.disabled, #product-hero .audio-tone.disabled {
        color: #bcbcbc;
        border-color: #bcbcbc;
        background-color: rgba(255,255,255,0);
        cursor: default;
    }


#product-hero .audio-tone {
    padding-right: 40px;
    position: relative
}


    #product-hero .audio-tone::after {
        content: '';
        position: absolute;
        right: 6px;
        width: 20px;
        height: 20px;
        top: calc(50% - 10px);
        background: no-repeat center/contain url(https://www.code3esg.com/dist/img/audio-play-btn.svg);
    }


/* STYLES FOR NEW TONE CATEGORIES */


#product-hero .audio.categorize {
    display: flex;
    flex-wrap: wrap;
}


    #product-hero .audio.categorize .audio-label {
        width: 100%;
    }


    #product-hero .audio.categorize .audio-tone-category {
        width: 50%;
        margin-bottom: 20px;
    }


    #product-hero .audio.categorize .audio-tone-category-title {
        margin-bottom: 4px;
        color: #E91C24;
    }


#product-hero .product-sku {
    margin-bottom: 20px;
}


#product-hero .sku {
    display: inline-block;
}


#product-hero .bottom-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 12px;
}


    #product-hero .bottom-links a {
        text-transform: uppercase;
    }


#product-hero .where-to-buy {
    text-transform: uppercase;
}


#product-hero .prod-accessories-btn {
    margin-top: 12px;
}


#product-hero .product-images {
    width: 50%;
}


@media (min-width: 751px) {

    #product-hero .product-images h1 {
        display: none
    }
}


#product-hero .product-images h1 {
    text-align: left;
    font-size: 5.333vw;
    margin-bottom: 0
}


@media (max-width: 500px) {

    #product-hero .product-images h1 {
        font-size: 26.65px
    }
}


#product-hero .product-images h2 {
    text-align: left;
    font-family: FrutigerLTPro-Bold, Arial, sans-serif;
    font-weight: normal;
    color: black
}


@media (min-width: 751px) {

    #product-hero .product-images h2 {
        display: none
    }
}


@media (max-width: 750px) {

    #product-hero .product-images h2 {
        font-size: 2.933vw;
        line-height: 3.467vw
    }
}


@media (max-width: 600px) {

    #product-hero .product-images h2 {
        font-size: 18.9px;
        line-height: 22.4px
    }
}


@media (max-width: 750px) {


    #product-hero .product-images {
        width: auto;
        margin-bottom: 0;
        position: relative
    }
}


#product-hero .product-images .share-icons {
    text-align: right
}


@media (min-width: 751px) {

    #product-hero .product-images .share-icons {
        display: none
    }
}


@media (max-width: 750px) {

    #product-hero .product-images .share-icons {
        position: absolute;
        left: -7.917vw;
        bottom: calc(42.083vw - 70px);
    }

        #product-hero .product-images .share-icons a {
            display: block;
            margin-bottom: 16px;
        }
}


@media (max-width: 600px) {
    #product-hero .product-images .share-icons a {
        margin-bottom: 12px;
    }
}


@media (max-width: 400px) {
    #product-hero .product-images .share-icons a {
        margin-bottom: 8px;
    }
}


@media (max-width: 1200px) {


    #product-hero {
        padding: 140px 7.917vw 4.75vw
    }
}


@media (max-width: 750px) {


    #product-hero {
        flex-direction: column-reverse
    }
}


#color-label {
    margin-top: 10px;
}


/************************************************
  Other than specifying the size and mobile title
  and share icons for images, everything else is
  in the galleria.scss file for images on product
 ************************************************/


/************************************************
  COLOR SELECTORS
 ************************************************/


.color-group {
    display: none;
    justify-content: flex-start;
    height: 38px
}


    .color-group.current-group {
        display: flex;
    }


.color-filter .color-group {
    margin-top: 12px;
}


.color-box {
    width: 30px;
    margin-right: 10px;
    display: flex;
    margin-bottom: 8px;
    position: relative;
    cursor: pointer;
    font-size: 0
}


    .color-box::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        border-bottom: solid 2px rgba(0,46,94,0);
        bottom: -8px;
        transition: border-color 0.2s ease;
    }


    .color-box:hover::after {
        border-color: rgba(0,46,94,0.3);
    }


    .color-box.current-color::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        border-bottom: solid 2px #e21c24;
        bottom: -8px;
    }


    .color-box .color {
        flex: 1;
    }


    /* Single colors */


    #amber .color, .color-box[data-value=amber] .color {
        background-color: #f7941d;
    }


    #red .color, .color-box[data-value=red] .color {
        background-color: #f41e2e;
    }


    #white .color, .color-box[data-value=white] .color {
        background-color: #fff;
        border: solid 1px #c7c8ca;
    }


    .color-box[data-value=white] .color {
        border-color: #999;
    }


    #blue .color, .color-box[data-value=blue] .color {
        background-color: #005295;
    }


    #green .color, .color-box[data-value=green] .color {
        background-color: #627117;
    }


    /* Split colors */


    #amber-white .color:first-child, .color-box[data-value=amber-white] .color:first-child {
        background-color: #f7941d;
    }


    #amber-white .color:last-child, .color-box[data-value=amber-white] .color:last-child {
        background-color: #fff;
        border: solid 1px #c7c8ca;
        border-left-width: 0;
    }


    .color-box[data-value=amber-white] .color:last-child {
        border-color: #999;
    }


    #amber-blue .color:first-child, .color-box[data-value=amber-blue] .color:first-child {
        background-color: #f7941d;
    }


    #amber-blue .color:last-child, .color-box[data-value=amber-blue] .color:last-child {
        background-color: #005295;
    }


    #amber-green .color:first-child, .color-box[data-value=amber-green] .color:first-child {
        background-color: #f7941d;
    }


    #amber-green .color:last-child, .color-box[data-value=amber-green] .color:last-child {
        background-color: #627117;
    }


    #amber-amber .color:first-child, .color-box[data-value=amber-amber] .color:first-child {
        background-color: #f7941d;
        border-right: solid 1px #fff;
    }


    #amber-amber .color:last-child, .color-box[data-value=amber-amber] .color:last-child {
        background-color: #f7941d;
    }


    #amber-red .color:first-child, .color-box[data-value=amber-red] .color:first-child {
        background-color: #f7941d;
    }


    #amber-red .color:last-child, .color-box[data-value=amber-red] .color:last-child {
        background-color: #f41e2e;
    }


    #white-white .color:first-child, .color-box[data-value=white-white] .color:first-child {
        background-color: #fff;
        border: solid 1px #c7c8ca;
    }


    #white-white .color:last-child, .color-box[data-value=white-white] .color:last-child {
        background-color: #fff;
        border: solid 1px #c7c8ca;
        border-left-width: 0;
    }


    .color-box[data-value=white-white] .color:first-child, .color-box[data-value=white-white] .color:last-child {
        border-color: #999;
    }


    #red-white .color:first-child, .color-box[data-value=red-white] .color:first-child {
        background-color: #f41e2e;
    }


    #red-white .color:last-child, .color-box[data-value=red-white] .color:last-child {
        background-color: #fff;
        border: solid 1px #c7c8ca;
        border-left-width: 0;
    }


    .color-box[data-value=red-white] .color:last-child {
        border-color: #999;
    }


    #red-blue .color:first-child, .color-box[data-value=red-blue] .color:first-child {
        background-color: #f41e2e;
    }


    #red-blue .color:last-child, .color-box[data-value=red-blue] .color:last-child {
        background-color: #005295;
    }


    #blue-white .color:first-child, .color-box[data-value=blue-white] .color:first-child {
        background-color: #005295;
    }


    #blue-white .color:last-child, .color-box[data-value=blue-white] .color:last-child {
        background-color: #fff;
        border: solid 1px #c7c8ca;
        border-left-width: 0;
    }


    .color-box[data-value=blue-white] .color:last-child {
        border-color: #999;
    }


    /* Tri colors */


    #red-blue-white, .color-box[data-value=red-blue-white] {
        width: 45px;
    }


        #red-blue-white .color:first-child, .color-box[data-value=red-blue-white] .color:first-child {
            background-color: #f41e2e;
        }


        #red-blue-white .color:nth-child(2), .color-box[data-value=red-blue-white] .color:nth-child(2) {
            background-color: #005295;
        }


        #red-blue-white .color:last-child, .color-box[data-value=red-blue-white] .color:last-child {
            background-color: #fff;
            border: solid 1px #c7c8ca;
            border-left-width: 0;
        }


        .color-box[data-value=red-blue-white] .color:last-child {
            border-color: #999;
        }


    #red-blue-amber, .color-box[data-value=red-blue-amber] {
        width: 45px;
    }


        #red-blue-amber .color:first-child, .color-box[data-value=red-blue-amber] .color:first-child {
            background-color: #f41e2e;
        }


        #red-blue-amber .color:nth-child(2), .color-box[data-value=red-blue-amber] .color:nth-child(2) {
            background-color: #005295;
        }


        #red-blue-amber .color:last-child, .color-box[data-value=red-blue-amber] .color:last-child {
            background-color: #f7941d;
        }


    #red-amber-white, .color-box[data-value=red-amber-white] {
        width: 45px;
    }


        #red-amber-white .color:first-child, .color-box[data-value=red-amber-white] .color:first-child {
            background-color: #f41e2e;
        }


        #red-amber-white .color:nth-child(2), .color-box[data-value=red-amber-white] .color:nth-child(2) {
            background-color: #f7941d;
        }


        #red-amber-white .color:last-child, .color-box[data-value=red-amber-white] .color:last-child {
            background-color: #fff;
            border: solid 1px #c7c8ca;
            border-left-width: 0;
        }


        .color-box[data-value=red-amber-white] .color:last-child {
            border-color: #999;
        }


    #blue-amber-white, .color-box[data-value=blue-amber-white] {
        width: 45px;
    }


        #blue-amber-white .color:first-child, .color-box[data-value=blue-amber-white] .color:first-child {
            background-color: #005295;
        }


        #blue-amber-white .color:nth-child(2), .color-box[data-value=blue-amber-white] .color:nth-child(2) {
            background-color: #f7941d;
        }


        #blue-amber-white .color:last-child, .color-box[data-value=blue-amber-white] .color:last-child {
            background-color: #fff;
            border: solid 1px #c7c8ca;
            border-left-width: 0;
        }


        .color-box[data-value=blue-amber-white] .color:last-child {
            border-color: #999;
        }


    #amber-green-white, .color-box[data-value=amber-green-white] {
        width: 45px;
    }


        #amber-green-white .color:first-child, .color-box[data-value=amber-green-white] .color:first-child {
            background-color: #f7941d;
        }


        #amber-green-white .color:nth-child(2), .color-box[data-value=amber-green-white] .color:nth-child(2) {
            background-color: #627117;
        }


        #amber-green-white .color:last-child, .color-box[data-value=amber-green-white] .color:last-child {
            background-color: #fff;
            border: solid 1px #c7c8ca;
            border-left-width: 0;
        }


        .color-box[data-value=amber-green-white] .color:last-child {
            border-color: #999;
        }


/************************************************
  P65 WARNING
 ************************************************/


#p65-warning {
    font-size: 12px;
    color: #fff;
}


    #p65-warning a {
        color: #fff;
        font-family: FrutigerLTPro-Roman, Arial, sans-serif;
        font-size: 12px;
    }


    #p65-warning::before {
        content: '';
        position: relative;
        top: 1px;
        display: inline-block;
        width: 14px;
        height: 12px;
        background: no-repeat center/14px 12px url(https://www.code3esg.com/dist/img/warning.svg);
        padding-right: 6px;
    }


/************************************************
  PRODUCT SPECS
 ************************************************/


#product-details {
    padding: 20px 40px 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    color: #fff
}


    #product-details.no-product-specs {
        justify-content: flex-start;
    }


    #product-details h4 {
        font-size: 14px;
        margin-bottom: 30px
    }


@media (max-width: 600px) {

    #product-details h4 {
        text-align: left
    }
}


@media (max-width: 1000px) {


    #product-details {
        padding: 2vw 4vw 4vw
    }
}


@media (max-width: 600px) {


    #product-details {
        flex-direction: column
    }
}


.product-specs {
    max-width: 475px;
    flex-grow: 1;
    margin-right: 50px;
}


.no-product-specs .product-specs {
    display: none;
}


.product-specs h4 {
    text-align: left;
}


.product-specs table {
    border-collapse: collapse;
    width: 100%;
}


.product-specs td {
    padding: 5px 0;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    text-transform: uppercase;
}


.product-specs a {
    color: #fff;
}


.product-specs .spec-type {
    text-align: left;
}


.product-specs .spec-value {
    text-align: right;
}


@media (max-width: 600px) {


    .product-specs {
        margin-bottom: 30px;
        max-width: 100%;
        margin-right: 0
    }
}


.product-resources {
    max-width: 475px;
    flex-grow: 1;
    text-align: left;
}


    .product-resources table {
        border-collapse: collapse;
        width: 100%;
    }


    .product-resources td {
        padding: 5px 0;
        border-top: solid 1px #fff;
        border-bottom: solid 1px #fff;
        text-transform: uppercase;
    }


    .product-resources a {
        display: block;
        color: #fff;
        text-transform: uppercase;
    }


@media (max-width: 600px) {


    .product-resources {
        max-width: 100%
    }
}


.product-video {
    position: relative;
    margin-bottom: 15px;
}


    .product-video img {
        max-width: 100%;
    }


    .product-video .slide-content {
        padding: 0;
    }


.product-video-caption {
    text-align: left
}


@media (max-width: 750px) {


    .product-video-caption {
        display: none
    }
}


.tooltip-overlay {
    padding: 15px 20px;
    color: #e21c24;
    background: #e1e2e4;
    position: absolute;
    -webkit-filter: drop-shadow(0 2px 10px rgba(0,0,0,0.46667));
    filter: drop-shadow(0 2px 10px rgba(0,0,0,0.46667));
    padding: 18px;
    opacity: 0;
    transition: opacity 100ms linear 0s;
    transform: translateX(-50%);
    z-index: 200;
    width: 400px;
    max-width: calc(100vw - 10px);
    box-sizing: border-box;
    text-align: left;
}


    .tooltip-overlay h2 {
        margin-bottom: 13px;
        font: 700 14px/100% FrutigerLTPro-Bold, Arial, sans-serif;
    }


    .tooltip-overlay p {
        font: 14px/114.286% FrutigerLTPro-Roman, Arial, sans-serif;
        margin-bottom: 0;
        color: #000;
    }


    .tooltip-overlay::after {
        content: "";
        position: absolute;
        top: 100%;
        left: calc(50% - 14px);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 14px 0 14px;
        border-color: #e1e2e4 transparent transparent transparent;
    }


#image-spacer {
    position: relative;
    padding-top: calc(100% + 30px);
    margin-bottom: 25px
}


@media (max-width: 750px) {


    #image-spacer {
        padding-top: 100%
    }
}


@media (max-width: 500px) {


    #image-spacer {
        margin-top: 15px
    }
}


#image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 30px;
}


    #image > img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: opacity 0.3s linear;
        max-width: 100%;
        height: auto;
        opacity: 0
    }


        #image > img.showing {
            opacity: 1;
        }


    #image::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 0;
        opacity: 0;
        z-index: 2;
        background: rgba(255,255,255, 0.7) url(../img/code3/loading.gif) no-repeat center;
        transition: opacity 0.3s linear;
    }


    #image.loading::after {
        opacity: 1;
        width: 100%;
        height: 100%;
        transition: opacity 0.3s linear 0.2s;
    }


#warranty-link {
    position: absolute;
    top: 0;
    right: 0;
    width: 75px
}


@media (max-width: 500px) {


    #warranty-link {
        width: 60px
    }
}


#warranty-link-image {
    display: block;
    width: 100%;
    height: auto;
}


#fullscreen {
    position: absolute;
    bottom: 0;
    left: 0;
    cursor: pointer;
    font: 14px/14px FrutigerLTPro-Roman, Arial, sans-serif;
    text-transform: uppercase;
    color: #e21c24;
}


.fullscreen #fullscreen {
    display: none;
}


@media (max-width: 750px) {


    #fullscreen {
        display: none
    }
}


#rollover-instruction {
    position: absolute;
    bottom: 0;
    right: 0;
    font: 14px/14px FrutigerLTPro-Roman, Arial, sans-serif;
    text-transform: uppercase;
    color: #e21c24;
}


.fullscreen #rollover-instruction {
    display: none;
}


@media (max-width: 750px) {


    #rollover-instruction {
        display: none
    }
}


#zoom-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 10;
    background: #f3f3f3;
    border: solid 1px #d6d6d6;
    transition: opacity 0.3s ease;
}


.loading #zoom-image {
    opacity: 0;
}


#zoom-image img {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: left top;
}


#fullscreen-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}


    #fullscreen-container img {
        max-width: 100%;
        max-height: 100%;
    }


#fullscreen-close {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 30px;
    height: 30px;
    background: no-repeat center/18px 18px url(https://www.code3esg.com/dist/img/code3/close.svg);
    z-index: 10;
    cursor: pointer;
}


#image-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 5px
}


    #image-thumbs.hidden {
        display: none;
    }


    #image-thumbs .thumb {
        position: relative;
        height: 0;
        padding-top: 16.83%;
        width: 16.83%;
        flex-shrink: 0;
        cursor: pointer;
        border: solid 1px rgba(0,0,0,0);
        transition: border-color 0.2s ease;
        margin: 0 3.96% 3.96% 0;
    }


        #image-thumbs .thumb img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: auto;
        }


        #image-thumbs .thumb:nth-child(5n) {
            margin-right: 0;
        }


        #image-thumbs .thumb:hover, #image-thumbs .thumb.current {
            border-color: #E91C24;
        }


.cta {
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    justify-content: center
}


@media (max-width: 600px) {


    .cta {
        flex-direction: column
    }
}


.cta-text {
    margin-right: 60px;
    text-align: left;
    max-width: 405px;
}


    .cta-text h4 {
        color: #e21c24;
        margin-bottom: 8px;
    }


    .cta-text p {
        margin-bottom: 15px;
    }


    .cta-text a {
        color: #e21c24;
    }


@media (max-width: 600px) {


    .cta-text {
        margin: 0 auto 20px;
        max-width: 400px
    }
}


.cta-form {
    min-width: 215px;
}


    .cta-form button {
        display: block;
        width: 100%;
    }


@media (max-width: 600px) {


    .cta-form {
        margin: 0 auto 20px;
        max-width: 400px
    }
}


#search-options-box {
    background: #ccc;
    position: relative;
    overflow: hidden;
    padding: 24px 80px;
    box-sizing: border-box;
}


    #search-options-box h1 {
        font-size: 25px;
        color: #999;
        margin-bottom: 20px
    }


        #search-options-box h1.no-margin {
            margin-bottom: 0;
        }


@media (max-width: 1000px) {


    #search-options-box {
        padding: 2.4vw 8vw
    }
}


@media (max-width: 600px) {


    #search-options-box {
        padding: 15px 20px;
    }

        #search-options-box h1 {
            font-size: 18px;
        }
}


/*************************************************
  TOP SEARCH OPTIONS 
 *************************************************/


#main-search-options {
    display: flex;
    justify-content: space-between;
}


    #main-search-options .search-option {
        width: 205px;
        margin: 0 5px 10px;
        text-align: left;
        position: relative;
    }


        #main-search-options .search-option input[type=text], #main-search-options .search-option select {
            background-color: #fff;
            border-color: #fff;
            box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
        }


    #main-search-options .search-option-wide {
        display: flex;
        justify-content: space-between;
        width: 410px;
        text-align: left;
        position: relative;
    }


    #main-search-options .search-option-separator {
        width: 50px;
        margin: 30px 0 10px;
        text-align: center;
        position: relative;
    }


    #main-search-options .search-option-divider {
        width: 1px;
        height: 60px;
        background-color: #808080;
        margin: 5px 20px 10px;
        -webkit-filter: saturate(50%);
        filter: saturate(50%)
    }


@media (max-width: 1000px) {

    #main-search-options .search-option-divider {
        width: 100%;
        height: 1px;
        margin: 25px 20px
    }
}


#main-search-options .selector-wrapper {
    position: relative;
}


    #main-search-options .selector-wrapper select {
        cursor: pointer
    }


        #main-search-options .selector-wrapper select:invalid {
            color: #939598;
        }


    #main-search-options .selector-wrapper option {
        color: #000;
    }


    #main-search-options .selector-wrapper::after {
        content: "";
        position: absolute;
        top: 9px;
        right: 11px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 14px 8px 0 8px;
        border-color: #000 transparent transparent transparent;
        transition: border-color 0.2s linear, width 0s linear, height 0s linear;
    }


    #main-search-options .selector-wrapper.disabled::after {
        border-top-color: #666;
    }


    #main-search-options .selector-wrapper:hover::after {
        transition: border-color 0.2s linear, border-width 0s linear 0.2s;
        border-width: 0 0 0 0;
        border-top-color: rgba(0,0,0,0);
    }


@media (min-width: 1001px) {
    #main-search-options .search-option:first-child {
        margin-left: 0;
    }

    #main-search-options .search-option:last-child {
        margin-right: 0;
    }
}


@media (max-width: 1000px) {


    #main-search-options {
        justify-content: normal;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

        #main-search-options .search-option {
            max-width: 400px;
            width: 100%;
            margin-right: 0px;
        }
}


@media (max-width: 490px) {

    #main-search-options .search-option-separator {
        margin-top: 0px;
        margin-bottom: 20px;
    }

    #main-search-options .search-option-wide {
        flex-wrap: wrap;
    }
}


.option-title {
    font: 14px/14px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 8px;
}


    .option-title .option-sub {
        font: 14px/14px FrutigerLTPro-Roman, Arial, sans-serif;
        color: #E91C24;
        text-transform: none;
    }


#search-text-box {
    display: flex;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}


    #search-text-box input[type=text] {
        background: #fff;
        border-color: #fff
    }


        #search-text-box input[type=text]:focus {
            border-color: #E91C24;
        }


#product-search-text::-webkit-input-placeholder {
    color: #939598;
}


#product-search-text::-moz-placeholder {
    color: #939598;
}


#product-search-text:-ms-input-placeholder {
    color: #939598;
}


#product-search-text::-ms-input-placeholder {
    color: #939598;
}


#product-search-text::placeholder {
    color: #939598;
}


#product-search-btn {
    position: absolute;
    width: 28px;
    height: 28px;
    right: 2px;
    bottom: 14px;
    margin: 0;
    background: no-repeat 5% center/66% url(https://www.code3esg.com/dist/img/code3/search-glass.svg);
    font-size: 0;
    cursor: pointer
}


    #product-search-btn::before {
        display: none;
    }


/*************************************************
  FILTER OPTIONS
 *************************************************/


#filter-section {
    height: 0;
    opacity: 0;
    overflow: hidden
}


    #filter-section.showing {
        height: auto;
        opacity: 1;
        overflow: visible;
        transition: opacity 0.3s ease;
    }


#filter-title {
    text-align: left;
    margin: 13px 0;
    color: #979797;
}


#show-hide-filter {
    font-family: FrutigerLTPro-Roman, Arial, sans-serif;
    color: #E91C24;
    display: inline-block;
    cursor: pointer;
}


#product-filter {
    text-align: left;
    height: 0;
    overflow: hidden;
    opacity: 0
}


    #product-filter.showing {
        height: auto;
        opacity: 1;
        overflow: visible;
        transition: opacity 0.3s ease;
    }


    #product-filter .option-title {
        line-height: 28px;
        margin-bottom: auto;
        margin-right: 8px;
    }


.category-filters {
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s ease;
    display: flex;
    flex-wrap: wrap
}


    .category-filters.filter-showing {
        opacity: 1;
        height: auto;
        overflow: visible;
    }


.filter-options {
    width: 100%;
    margin-bottom: 13px
}


    .filter-options.half-width {
        width: calc(50% - 20px);
        margin-right: 20px
    }


        .filter-options.half-width.slider-option {
            width: calc(50% - 30px);
            margin-right: 30px;
        }


@media (max-width: 600px) {


    .filter-options.half-width {
        width: 100%
    }
}


.filter-options.slider-option {
    margin-bottom: 33px;
}


.option-items {
    flex-grow: 1;
}


    .option-items .checkbox {
        display: inline-block;
        margin-right: 6px;
    }


        .option-items .checkbox input[type=checkbox] + label {
            color: #000;
        }


.slider-option .option-items {
    margin-left: 6px;
    margin-right: 12px;
}


.product-wrapper {
    text-align: center;
    margin-bottom: 45px;
}


    .product-wrapper .product {
        display: block;
        margin-bottom: 18px;
    }


        .product-wrapper .product .product-name {
            color: #005295;
        }


.code3 .product-wrapper .product .product-name {
    color: #e21c24;
}


.product-wrapper .product-compare {
    text-transform: uppercase;
    color: #e21c24;
    font-size: 12px;
    line-height: 100%;
    cursor: pointer;
    display: none; /*inline-block;*/
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


    .product-wrapper .product-compare .compare-checkbox {
        border: 1px solid #e21c24;
        width: 12px;
        height: 12px;
        margin: 0 1em -2px 0;
        display: none; /*inline-block;*/
    }


    .product-wrapper .product-compare.checked .compare-checkbox {
        background-color: #E91C24;
        border-color: #E91C24;
    }


#compare-bar {
    display: none; /*flex;*/
    padding: 22px 0;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background: #000;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: 200;
    transition: transform 0.6s ease, opacity 0.6s linear
}


    #compare-bar:not(.anim-in) {
        transform: translateY(120px);
        opacity: 0;
    }


@media (max-width: 400px) {


    #compare-bar {
        flex-direction: column;
        align-items: stretch
    }
}


#compare-bar .compare-message, #compare-bar .compare-controls {
    margin: 0 30px;
}


#compare-bar .compare-message {
    font: 500 12px/125% FrutigerLTPro-Bold, Arial, sans-serif;
    color: #fff;
    text-align: left;
    max-width: 75px;
    padding: 20px 0
}


@media (max-width:400px) {

    #compare-bar .compare-message {
        max-width: none;
        max-width: initial;
        text-align: center;
        padding: 0;
        max-height: 0;
        margin-bottom: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.2s ease, margin 0.2s ease, opacity 0.2s linear
    }

        #compare-bar .compare-message.add-swap {
            margin-bottom: 28px;
            max-height: 20px;
            opacity: 1;
        }
}


#compare-bar .product-compare-list {
    display: flex;
    justify-content: center
}


@media (max-width: 500px) {

    #compare-bar .product-compare-list {
        flex-wrap: wrap
    }
}


#compare-bar .compare-product {
    width: 75px;
    height: 75px;
    position: relative;
    margin: 0 15px;
    background-color: #fff
}


@media (max-width: 500px) {

    #compare-bar .compare-product {
        margin: 0 calc(100vw / 15 - (500px / 15 - 15px)) 15px
    }
}


@media (max-width: 360px) {

    #compare-bar .compare-product {
        margin: 0 6px 15px
    }
}


#compare-bar .compare-product img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}


#compare-bar .compare-product .single-remove-btn {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #E91C24;
    border-radius: 50%;
    top: -9px;
    right: -9px;
    cursor: pointer;
    transition: transform 0.2s ease
}


    #compare-bar .compare-product .single-remove-btn:hover {
        transform: scale(1.1);
    }


    #compare-bar .compare-product .single-remove-btn::before, #compare-bar .compare-product .single-remove-btn::after {
        content: "";
        position: absolute;
        height: 10px;
        width: 2px;
        background-color: #fff;
        top: 50%;
        left: 50%;
    }


    #compare-bar .compare-product .single-remove-btn::before {
        transform: translate(-50%, -50%) rotate(-45deg);
    }


    #compare-bar .compare-product .single-remove-btn::after {
        transform: translate(-50%, -50%) rotate(45deg);
    }


#compare-bar .compare-controls {
    padding: 15px 0
}


@media (max-width:400px) {

    #compare-bar .compare-controls {
        padding-top: 0
    }
}


#compare-bar .compare-controls .compare-btn {
    padding: 0.6em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.53333);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font: 500 14px/100% FrutigerLTPro-Bold, Arial, sans-serif;
    background-image: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
    min-width: 100px;
    margin: 0
}


@media (max-width: 400px) {

    #compare-bar .compare-controls .compare-btn {
        width: 100%
    }
}


#compare-bar .compare-controls .compare-btn::before {
    display: none;
}


#compare-bar .compare-controls .remove-btn {
    padding: 1.3em 0 0.5em;
    text-transform: uppercase;
    color: #E91C24;
    font: 500 12px/100% FrutigerLTPro-Bold, Arial, sans-serif;
    cursor: pointer;
}


#compare-bar.allow-compare .compare-controls .compare-btn {
    color: #fff;
    cursor: pointer;
    pointer-events: initial
}


    #compare-bar.allow-compare .compare-controls .compare-btn::before {
        display: block;
    }


.noUi-base {
    position: relative;
    height: 36px;
    border-bottom: solid 1px #000
}


    .noUi-base::before {
        content: '';
        position: absolute;
        left: 0;
        bottom: -9px;
        height: 18px;
        width: 0;
        border-left: solid 1px #000;
    }


    .noUi-base::after {
        content: '';
        position: absolute;
        right: 0;
        bottom: -9px;
        height: 18px;
        width: 0;
        border-right: solid 1px #000;
    }


.noUi-origin {
    position: absolute;
    z-index: 1;
    top: 18px;
}


.noUi-handle {
    width: 12px;
    height: 16px;
    background: no-repeat center/100% url(https://www.code3esg.com/dist/img/code3/slider-handle.svg);
    margin-left: -6px;
}


.noUi-connect {
    position: absolute;
    top: 20px;
    height: 9px;
    background: #fff;
}


.slider-label {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #000;
    white-space: nowrap;
}


#solution-hero {
    background-color: #777;
    position: relative
}


    #solution-hero::before {
        content: '';
        display: block;
        padding-top: 83.33%;
    }


@media (min-width: 601px) {


    #solution-hero {
        min-height: 505px
    }
}


@media (max-width: 360px) {


    #solution-hero {
        min-height: 300px
    }
}


#solution-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}


.vehicle-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s linear, width 0s linear 0.3s;
    background-position: center;
    background-size: 100% 100%;
    z-index: 0
}


    .vehicle-image.current {
        width: 100%;
        opacity: 1;
        transition: opacity 0.3s linear, width 0s linear 0s;
    }


    .vehicle-image.dark-overlay::before {
        content: '';
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 160px;
        background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%)
    }


@media (max-width: 400px) {


    .vehicle-image.dark-overlay::before {
        display: none
    }
}


.vehicle-slide {
    position: relative;
    width: 0;
    height: 0;
    overflow: hidden
}


    .vehicle-slide.current {
        position: static;
        width: auto;
        height: auto;
        overflow: inherit;
    }


.slide-hotspots {
    position: relative;
    width: 0;
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
}


.front-showing .slide-hotspots.front-view,
.rear-showing .slide-hotspots.rear-view {
    position: static;
    width: auto;
    height: auto;
    overflow: inherit;
    opacity: 1;
}


/*************************************************
  HOTSPOT
 *************************************************/


.hotspot {
    position: absolute;
    width: 28px;
    height: 28px;
    cursor: pointer
}


    .hotspot.open {
        z-index: 1;
    }


    .hotspot::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: no-repeat center/100% url(/assetscar/img/code3/open-hotspot.svg);
        transform: rotate(0deg);
        opacity: 1;
        transition: all 0.3s ease;
    }


.open.hotspot::before {
    opacity: 0;
    transform: rotate(90deg);
}


.open.to-left.hotspot::before {
    transform: rotate(-90deg);
}


.hotspot::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center/100% url(/assetscar/img/code3/close-video.svg);
    opacity: 0;
    transition: all 0.3s ease;
}


.open.hotspot::after {
    opacity: 1;
}


.hotspot .hotspot-popout {
    position: absolute;
    top: 50%;
    width: 240px;
    left: 1000vw;
    opacity: 0;
    transform: translate(0,0) scale(0.5,0);
    transform-origin: 0 0;
    transition: transform 0.3s ease, opacity 0.3s ease, left 0s linear 0.3s, right 0s linear 0.3s;
    overflow: hidden;
}


.to-left.hotspot .hotspot-popout {
    left: auto;
    right: 1000vw;
    text-align: right;
    transform: translate(0,0) scale(0.5,0);
    transform-origin: 100% 0;
}


.open.hotspot .hotspot-popout {
    opacity: 1;
    transform: translate(0,-50%) scale(1,1);
    transition: transform 0.3s ease, opacity 0.3s ease, left 0s linear 0s, right 0s linear 0s;
    left: 32px;
}


.to-left.open.hotspot .hotspot-popout {
    left: auto;
    right: 32px;
}


.hotspot a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 90px;
    box-sizing: border-box;
    padding: 10px 10px 10px 90px;
    background: #ec2028;
}


.to-left.hotspot a {
    padding: 10px 90px 10px 10px
}


    .to-left.hotspot a:hover {
        padding-right: 87px;
        border-right: solid 3px #fff;
    }


        .to-left.hotspot a:hover img {
            right: 7px;
        }


.to-right.hotspot a:hover {
    padding-left: 87px;
    border-left: solid 3px #fff;
}


    .to-right.hotspot a:hover img {
        left: 7px;
    }


.hotspot a img {
    position: absolute;
    top: 10px;
    width: 70px;
    height: 70px;
    left: 10px;
}


.to-left.hotspot a img {
    left: auto;
    right: 10px;
}


.hotspot a .product-name {
    font: 14px/18px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #fff;
    text-transform: uppercase;
    display: block;
}


.hotspot a .product-subname {
    font-size: 12px;
    font-style: italic;
    color: #ddd;
}


.hotspot a .product-sku {
    font: 12px/16px FrutigerLTPro-Roman, Arial, sans-serif;
    font-style: italic;
    color: #000;
    display: block;
}


@media (max-width: 600px) {


    .hotspot {
        display: none
    }
}


/*************************************************
  HERO FOOTER ELEMENTS
 *************************************************/


#solution-hero-footer {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8%;
}


#solution-reverse {
    padding-top: 32px;
    font: 12px/12px FrutigerLTPro-Bold, Arial, sans-serif;
    text-transform: uppercase;
    color: #E91C24;
    cursor: pointer;
    display: inline-block;
    margin: 0 auto 30px
}


    #solution-reverse::before {
        content: '';
        position: absolute;
        top: 2px;
        left: 50%;
        transform: translate(-50%, 0) rotate(0deg);
        width: 26px;
        height: 26px;
        background: no-repeat center/26px 20px url(/assetscar/img/code3/reverse-view.svg);
    }


    #solution-reverse:hover::before {
        transition: transform 0.3s ease;
        transform: translate(-50%, 0) rotate(-359.99deg);
    }


@media (max-width: 1000px) {


    #solution-reverse {
        margin-bottom: 3vw
    }
}


@media (max-width: 600px) {


    #solution-reverse {
        display: none
    }
}


#solution-title {
    font: 20px/24px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 25px
}


@media (max-width: 1000px) {


    #solution-title {
        font-size: 2vw;
        line-height: 2.4vw;
        margin-bottom: 2.5vw
    }
}


@media (max-width: 600px) {


    #solution-title {
        font-size: 14px
    }
}


@media (max-width: 360px) {


    #solution-title {
        font-size: 12px
    }
}


#solution-selector {
    width: 206px;
    border: none;
    background: #E91C24 no-repeat right center/35px 30px url(https://www.code3esg.com/dist/img/down-arrow-white.svg);
    color: #fff;
    text-transform: uppercase;
    text-align: left;
    -moz-text-align-last: left;
    text-align-last: left;
    margin: 0 auto;
    position: relative;
}


    #solution-selector option {
        color: #fff;
    }


/*************************************************
  MOBILE PRODUCTS (not really part of hero, but
  closely related)
 *************************************************/


.vehicle-products {
    display: none
}


    .vehicle-products.current {
        display: block;
    }


@media (min-width: 601px) {


    .vehicle-products {
        display: none
    }

        .vehicle-products.current {
            display: none;
        }
}


/*************************************************
  RESOURCE SEARCH OPTIONS
 *************************************************/


#search-text-box {
    max-width: 600px;
    margin: 0 auto 30px;
    position: relative;
}


    #search-text-box input[type=text] {
        background-color: #fff;
        border-color: #fff;
        height: 40px;
        box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
    }


#search-btn {
    position: absolute;
    top: 0;
    right: 0;
    background: no-repeat center/17.625px auto url(https://www.code3esg.com/dist/img/search.svg);
    width: 60px;
    height: 40px;
    font-size: 0
}


    #search-btn::before {
        display: none;
    }


    #search-btn:hover {
        background: no-repeat center/17.625px auto url(https://www.code3esg.com/dist/img/search.svg);
    }


.loading {
    background: no-repeat center/17.625px auto url(../img/loading.gif) !important;
}


#search-options .checkbox {
    margin: 0 12px 10px 0;
}


/*************************************************
  RESOURCE SEARCH RESULTS
 *************************************************/


#resources-results {
    padding: 50px 60px;
    box-sizing: border-box;
    background: #fff;
    text-align: left;
    min-height: 50vh;
}


    #resources-results .result-group {
        max-width: 900px;
        margin: 0 auto;
        padding-bottom: 30px;
        overflow: hidden;
    }


        #resources-results .result-group .grey-section {
            padding: 10px;
            text-align: center;
        }


            #resources-results .result-group .grey-section .btn {
                min-width: 160px;
            }


    #resources-results .result {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px 0;
        border-top: solid 1px #e21c24
    }


        #resources-results .result:last-child {
            border-bottom: none;
        }


@media (max-width: 600px) {

    #resources-results .result {
        flex-direction: column;
        align-items: flex-start
    }
}


@media (max-width: 1000px) {


    #resources-results {
        padding: 5vw 6vw
    }
}


@media (max-width: 600px) {


    #resources-results {
        padding: 20px
    }
}


.result-group-title {
    font: 18px/18px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #979797;
    text-transform: uppercase;
    padding-top: 5px;
    padding-bottom: 14px;
}


.result-list {
    border-bottom: solid 1px #e21c24;
}


.result-section {
    flex-grow: 1;
    line-height: 21px
}


@media (max-width: 600px) {


    .result-section {
        margin-bottom: 20px
    }
}


.result-title {
    font: 14px/21px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 3px;
}


.result-type {
    font: 14px/21px FrutigerLTPro-Bold, Arial, sans-serif;
    text-transform: uppercase;
    color: #979797;
    margin-bottom: 3px;
}


.result-geo-info a {
    text-transform: uppercase
}


    .result-geo-info a:hover {
        color: #E91C24;
    }


.result-image {
    margin-left: 30px;
    width: 140px;
}


    .result-image img {
        max-width: 100%;
    }


@media (max-width: 1000px) {


    .result-image {
        margin-left: 3vw
    }
}


@media (max-width: 750px) {


    .result-image {
        display: none
    }
}


.result-info {
    margin-left: 30px;
    width: 220px;
    line-height: 21px;
}


    .result-info a {
        display: block;
        text-transform: uppercase;
        margin-top: 3px;
    }


@media (max-width: 1000px) {


    .result-info {
        margin-left: 3vw
    }
}


@media (max-width: 600px) {


    .result-info {
        width: auto;
        margin-left: 0
    }
}


#search-results {
    background: #fff;
    text-align: left;
    padding: 100px 150px;
    box-sizing: border-box
}


@media (max-width: 1000px) {


    #search-results {
        padding: 10vw 15vw
    }
}


@media (max-width: 750px) {


    #search-results {
        padding: 10vw
    }
}


.result-count {
    font: 18px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    text-transform: uppercase;
    color: #C3C4C6;
    padding-bottom: 15px;
    border-bottom: solid 1px #e21c24;
    margin-bottom: 15px;
}


.general-result {
    display: block;
    padding-bottom: 15px;
    border-bottom: solid 1px #e21c24;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 22px;
}


.gen-result-title {
    font-family: EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    color: #e21c24;
    padding-bottom: 5px;
    display: block;
    text-transform: uppercase;
}


.gen-result-date {
    color: #E91C24;
    font-family: FrutigerLTPro-Bold, Arial, sans-serif;
    padding-right: 5px;
}


.gen-result-copy {
    color: #333;
}


.gen-result-link {
    display: block;
    color: #005295;
}


.content-block {
    background: #fff;
    padding: 80px;
    box-sizing: border-box
}


    .content-block.blue-bg {
        background: #000;
        color: #fff;
    }


        .content-block.blue-bg h2 {
            color: #fff;
        }


    .content-block .titling {
        max-width: 680px;
        margin: 0 auto 20px;
    }


    .content-block h2 {
        font-size: 25px;
        color: #979797;
        padding-bottom: 15px
    }


@media (max-width: 600px) {

    .content-block h2 {
        font-size: 20px
    }
}


.content-block h3 {
    font-size: 18px;
    margin: 40px auto
}


@media (max-width: 600px) {

    .content-block h3 {
        font-size: 16px
    }
}


.content-block h4 {
    font-size: 14px;
    color: #E91C24;
    margin-bottom: 15px
}


@media (max-width: 600px) {

    .content-block h4 {
        font-size: 12px
    }
}


.content-block p {
    color: #e21c24;
    line-height: 22px;
    margin: 0 auto 20px;
    max-width: 680px;
    text-align: left;
}


@media (max-width: 750px) {


    .content-block {
        padding: 10.667vw
    }
}


.numeric-facts {
    list-style: none;
    display: flex;
    width: 100%;
    max-width: 900px;
    margin: 0 auto 60px;
}


    .numeric-facts li {
        flex-grow: 1;
        width: 33.333%
    }


@media (max-width: 600px) {

    .numeric-facts li {
        width: 50%;
        margin-bottom: 30px
    }
}


.numeric-facts .amount {
    color: #E91C24;
    font: 18px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    margin-bottom: 8px;
}


.numeric-facts .amount-type {
    font: 12px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #C3C4C6;
}


@media (max-width: 600px) {


    .numeric-facts {
        flex-wrap: wrap;
        margin-bottom: 20px
    }
}


.quick-facts {
    list-style: none;
    margin: 0 auto 60px;
    border-top: solid 1px #979797;
    max-width: 800px
}


    .quick-facts:last-child {
        margin-bottom: 0;
    }


    .quick-facts li {
        padding: 18px 100px;
        font: 16px/24px FrutigerLTPro-Bold, Arial, sans-serif;
        border-bottom: solid 1px #979797
    }


@media (max-width: 750px) {

    .quick-facts li {
        padding: 18px 0
    }
}


@media (max-width: 600px) {


    .quick-facts {
        margin-bottom: 20px
    }
}


.about-leadership {
    background: linear-gradient(to bottom, #d6d6d6 0%,#ffffff 100%);
    padding: 50px 40px 30px;
    text-align: left;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}


.about-leader {
    width: 200px;
    margin: 0 11px 40px;
}


    .about-leader img {
        display: block;
        max-width: 100%;
        margin-bottom: 25px;
    }


    .about-leader .leader-name {
        font: 14px FrutigerLTPro-Bold, Arial, sans-serif;
        color: #000;
        margin-bottom: 6px;
    }


    .about-leader .leader-title {
        font-size: 12px;
        margin-bottom: 6px;
    }


    .about-leader a {
        display: block;
        margin-bottom: 6px;
        font-size: 12px;
    }


#careers-cta {
    color: #fff;
    padding: 30px;
    box-sizing: border-box;
}


    #careers-cta span {
        font-family: EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        text-transform: uppercase;
        letter-spacing: 0.05em
    }


@media (max-width: 750px) {

    #careers-cta span {
        display: block
    }
}


#careers-cta .btn {
    margin-left: 20px
}


@media (max-width: 750px) {

    #careers-cta .btn {
        margin-top: 20px;
        margin-left: 0
    }
}


body.showing-popup {
    overflow: hidden;
}


#popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    text-align: center;
    background: rgba(0,0,0,0.65);
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.3s ease, width 0s linear 0.31s, height 0s linear 0.31s;
    overflow: auto
}


    #popup.loading {
        background: #fff no-repeat center url(../img/loading-white.gif);
    }


.showing-popup #popup {
    width: 100%;
    height: 100%;
    opacity: 1;
    transition: opacity 0.3s ease, width 0s linear, height 0s linear;
}


#popup-container {
    max-width: 1200px;
    margin: 0 auto;
    /* this needs to remain in here for chrome and safari mobile 
        browsers to ensure smooth scrolling on mobile devices */
    -webkit-overflow-scrolling: touch;
    height: 100%
}


@media (max-width: 750px) {


    #popup-container {
        overflow: auto
    }
}


#popup-body {
    position: relative;
    background: #fff;
    max-width: 900px;
    margin: 90px auto;
    padding: 70px 0;
    text-align: center;
}


    #popup-body .narrow-content {
        max-width: 700px;
        padding: 0 40px;
        margin: 0 auto;
        text-align: left
    }


@media (max-width: 600px) {

    #popup-body .narrow-content {
        padding: 0 6.667vw
    }
}


#popup-body .wide-image {
    margin-bottom: 20px;
    position: relative;
}


    #popup-body .wide-image img {
        width: 100%;
    }


    #popup-body .wide-image iframe {
        position: absolute;
        top: 0;
        left: 20px;
        height: 100%;
        width: calc(100% - 40px);
    }


    #popup-body .wide-image .sizer {
        padding-top: 56.25%;
    }


#popup-body hr {
    border-color: #b0b1b3;
    margin: 25px 0 35px;
    clear: both
}


@media (max-width: 600px) {

    #popup-body hr {
        margin: 4.167vw 0 5.833vw
    }
}


#popup-body .header-image {
    margin-bottom: 15px
}


@media (max-width: 600px) {

    #popup-body .header-image {
        margin-bottom: 2.5vw
    }
}


#popup-body .title-extra-info {
    font: 14px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #979797;
    margin-bottom: 15px
}


@media (max-width: 600px) {

    #popup-body .title-extra-info {
        margin-bottom: 2.5vw
    }
}


#popup-body h1 {
    color: #e21c24;
    font-size: 30px;
    margin-bottom: 15px
}


    #popup-body h1.orange-title {
        color: #E91C24;
    }


@media (max-width: 750px) {

    #popup-body h1 {
        font-size: 25px
    }
}


@media (max-width: 600px) {

    #popup-body h1 {
        font-size: 20px;
        margin-bottom: 2.5vw
    }
}


#popup-body h2 {
    font: 18px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #000;
    margin-bottom: 30px
}


@media (max-width: 750px) {

    #popup-body h2 {
        font-size: 16px
    }
}


@media (max-width: 600px) {

    #popup-body h2 {
        font-size: 14px;
        margin-bottom: 5vw
    }
}


#popup-body .image-left {
    float: left;
    margin: 5px 30px 20px 0;
    max-width: 45%
}


@media (max-width: 600px) {

    #popup-body .image-left {
        margin: 5px 5vw 3.333vw 0
    }
}


#popup-body .image-right {
    float: left;
    margin: 5px 0 30px 20px;
    max-width: 45%
}


@media (max-width: 600px) {

    #popup-body .image-right {
        margin: 5px 0 3.333vw 5vw
    }
}


#popup-body p {
    font: 14px/22px FrutigerLTPro-Roman, Arial, sans-serif;
    color: #000;
    margin-bottom: 20px;
}


#popup-body table {
    width: 100%;
    color: #000;
    margin-bottom: 20px;
}


#popup-body ol, #popup-body ul {
    padding-left: 40px;
    margin-top: 14px;
    margin-bottom: 14px;
}


    #popup-body ol li, #popup-body ul li {
        line-height: 26px;
        color: #000;
    }


#popup-body td, #popup-body th {
    padding: 5px;
}


#popup-body .bio-basic-info {
    float: left;
    font-size: 12px;
    line-height: 24px;
    margin-bottom: 35px;
}


    #popup-body .bio-basic-info .leader-name {
        font: 14px FrutigerLTPro-Bold, Arial, sans-serif;
        color: #000;
    }


    #popup-body .bio-basic-info a {
        display: block;
    }


#popup-body .share-icons {
    float: right;
}


    #popup-body .share-icons a {
        float: left;
        margin: 0 0 0 5px;
    }


#popup-body .return-link {
    font: 12px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #000;
    text-transform: uppercase
}


    #popup-body .return-link.top-return-link {
        float: right;
    }


@media (max-width: 750px) {


    #popup-body {
        padding: 18vw 0
    }
}


#popup-close, #video-close, #resources-popup-close {
    position: absolute;
    top: 26px;
    right: 40px;
    font: 12px/12px FrutigerLTPro-Bold, Arial, sans-serif;
    text-transform: uppercase;
    cursor: pointer
}


    #popup-close::after, #video-close::after, #resources-popup-close::after {
        content: '';
        display: inline-block;
        width: 19px;
        height: 19px;
        margin-left: 8px;
        background: no-repeat center/contain url(https://www.code3esg.com/dist/img/code3/close-popup.svg);
        position: relative;
        top: 4px;
    }


@media (max-width: 750px) {


    #popup-close, #video-close, #resources-popup-close {
        top: 10px;
        right: 20px
    }
}


#video-close {
    top: 10px;
}


#popup-logo {
    width: 163px;
    height: 38px;
    background: no-repeat left center/contain url(https://www.code3esg.com/dist/img/code3/logo-popup.svg);
    margin-bottom: 22px
}


@media (max-width: 750px) {


    #popup-logo {
        top: 15px;
        left: 20px;
        width: 120px;
        height: 29px
    }
}


.load-more, .load-more-blog {
    min-width: 150px;
}


.news-full-box {
    display: flex;
    flex-direction: column;
    padding: 39px 35px 70px;
    text-align: left;
    height: 100%;
    box-sizing: border-box
}


    .news-full-box::after {
        content: '';
        position: absolute;
        right: 20px;
        bottom: 20px;
        width: 28px;
        height: 27px;
        background: no-repeat center/contain url(https://www.code3esg.com/dist/img/code3/link-arrow.svg)
    }


@media (max-width: 1200px) {


    .news-full-box::after {
        right: 1.67vw;
        bottom: 1.67vw;
        width: 2.33vw;
        height: 2.25vw
    }
}


@media (max-width: 750px) {


    .news-full-box::after {
        right: 3vw;
        bottom: 3vw;
        width: 3.73vw;
        height: 3.6vw
    }
}


@media (max-width: 400px) {


    .news-full-box::after {
        display: none
    }
}


@media (max-width: 1200px) {


    .news-full-box {
        padding: 3.25vw 2.92vw 5.83vw
    }
}


@media (max-width: 750px) {


    .news-full-box {
        padding: 5.2vw 4.67vw 9.33vw
    }
}


@media (max-width: 400px) {


    .news-full-box {
        display: block;
        position: relative;
        padding: 25px
    }
}


.news-titles {
    font: 14px FrutigerLTPro-Bold, Arial, sans-serif;
    display: block
}


@media (max-width: 1000px) {


    .news-titles {
        margin-bottom: 2.5vw
    }
}


@media (min-width: 751px) and (max-width: 1000px), (min-width: 401px) and (max-width: 600px) {


    .news-titles {
        font-size: 12px
    }
}


.news-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.news-category {
    text-transform: uppercase;
    margin-right: 5px;
}


.news-date {
    text-transform: uppercase;
}


.news-subtitle {
    display: block;
    font: 14px FrutigerLTPro-Roman, Arial, sans-serif;
    font-style: italic;
}


.blue-bg .news-subtitle {
    color: #C3C4C6;
}


.orange-bg .news-subtitle {
    color: #fff;
}


.white-bg .news-subtitle {
    color: #fff;
}


@media (min-width: 751px) and (max-width: 1000px), (min-width: 401px) and (max-width: 600px) {


    .news-subtitle {
        font-size: 12px
    }
}


.news-title {
    font: 16px/24px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
    margin: 0 0 25px;
    word-wrap: break-word;
    word-wrap: break-word
}


@media (max-width: 1200px) {


    .news-title {
        margin: 0 0 2.083vw
    }
}


@media (min-width: 751px) and (max-width: 1000px), (min-width: 401px) and (max-width: 600px) {


    .news-title {
        font-size: 14px;
        line-height: 19px
    }
}


.news-blurb {
    font-size: 14px;
    line-height: 22px;
    word-wrap: break-word;
    word-wrap: break-word
}


    .news-blurb::after {
        content: '[...]';
        display: inline-block;
        margin-left: 4px;
    }


@media (min-width: 751px) and (max-width: 1000px), (min-width: 401px) and (max-width: 600px) {


    .news-blurb {
        font-size: 12px
    }
}


.news-split-box {
    display: flex;
    flex-direction: column;
}


.news-half-square-image {
    display: block;
}


    .news-half-square-image img {
        display: block;
        width: 100%;
    }


.news-half-square {
    display: flex;
    position: relative;
    flex-direction: column;
    min-height: 200px;
    max-height: 100%;
    box-sizing: border-box;
    padding: 35px 35px 50px;
    text-align: left
}


    .news-half-square.new-news-item::before {
        content: 'New';
        position: absolute;
        right: 20px;
        top: 30px;
        padding: 7px 12px;
        font: 10px/10px EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        text-transform: uppercase;
        color: #fff;
        background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%)
    }


@media (max-width: 1200px) {


    .news-half-square.new-news-item::before {
        right: 1.667vw;
        top: 2.5vw
    }
}


@media (max-width: 750px) {


    .news-half-square.new-news-item::before {
        right: 2.67vw;
        top: 4vw
    }
}


@media (max-width: 600px) {


    .news-half-square.new-news-item::before {
        display: none
    }
}


.news-half-square::after {
    content: '';
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 28px;
    height: 27px;
    background: no-repeat center/contain url(https://www.code3esg.com/dist/img/code3/link-arrow.svg)
}


@media (max-width: 1200px) {


    .news-half-square::after {
        right: 1.667vw;
        bottom: 1.667vw;
        width: 2.33vw;
        height: 2.25vw
    }
}


@media (max-width: 750px) {


    .news-half-square::after {
        right: 2.67vw;
        bottom: 2.67vw;
        width: 3.73vw;
        height: 3.6vw
    }
}


@media (max-width: 400px) {


    .news-half-square::after {
        display: none
    }
}


@media (max-width: 1200px) {


    .news-half-square {
        min-height: 16.67vw;
        padding: 3vw 3vw 4.17vw
    }
}


@media (max-width: 750px) {


    .news-half-square {
        min-height: 26.67vw;
        padding: 4.67vw 4.67vw 6.67vw
    }
}


@media (max-width: 400px) {


    .news-half-square {
        display: block;
        position: relative;
        min-height: 0;
        padding: 25px
    }
}


.news-half-square .news-title {
    margin: 10px 0 0;
}


/************************************************
 RESOURCES SECTION
 ************************************************/


#resources {
    background: #000;
    padding: 38px 40px 50px;
    box-sizing: border-box;
}


    #resources h2 {
        font-size: 25px;
        margin-bottom: 30px;
        color: #C3C4C6
    }


@media (max-width: 1000px) {

    #resources h2 {
        font-size: 2.5vw;
        margin-bottom: 3vw
    }
}


@media (max-width: 600px) {

    #resources h2 {
        font-size: 18px;
        margin-bottom: 20px
    }
}


@media (max-width: 1000px) {


    #resources {
        padding: 3.8vw 4vw 5vw
    }
}


@media (max-width: 600px) {


    #resources {
        padding: 20px 20px 30px
    }
}


#resources-container {
    display: flex;
    justify-content: space-around;
    color: #fff;
}


    #resources-container h3 {
        font-size: 14px;
        margin-bottom: 5px;
    }


    #resources-container p {
        color: #C3C4C6;
        font: 12px FrutigerLTPro-Bold, Arial, sans-serif;
        margin-bottom: 25px;
    }


    #resources-container .btn {
        width: 120px;
        color: #fff;
        background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
        border: solid 1px #E91C24
    }


        #resources-container .btn::before {
            background: linear-gradient(to left, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
        }


@media (max-width: 1000px) {


    #resources-container {
        flex-wrap: wrap;
    }

        #resources-container .resource {
            padding: 0 20px 40px;
        }

        #resources-container p {
            margin-bottom: 2.5vw;
        }
}


@media (max-width: 600px) {
    #resources-container .resource {
        padding: 0 20px 20px;
    }

    #resources-container p {
        margin-bottom: 15px;
    }
}


#news-sections .blue-bg {
    background: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
}


    #news-sections .blue-bg .news-full-box::after, #news-sections .blue-bg .news-half-square::after {
        background-image: url(https://www.code3esg.com/dist/img/code3/link-arrow.svg);
    }


    #news-sections .blue-bg .news-category {
        color: #000;
    }


    #news-sections .blue-bg .news-date {
        color: #fff;
    }


    #news-sections .blue-bg .news-title {
        color: #fff;
    }


    #news-sections .blue-bg .news-blurb {
        color: #000
    }


        #news-sections .blue-bg .news-blurb::after {
            color: #000;
        }


#news-sections .orange-bg {
    background: #979797;
}


    #news-sections .orange-bg .news-full-box::after, #news-sections .orange-bg .news-half-square::after {
        background-image: url(https://www.code3esg.com/dist/img/code3/link-arrow-red.svg);
    }


    #news-sections .orange-bg .news-category {
        color: #000;
    }


    #news-sections .orange-bg .news-date {
        color: #fff;
    }


    #news-sections .orange-bg .news-title {
        color: #000;
    }


    #news-sections .orange-bg .news-blurb {
        color: #000
    }


        #news-sections .orange-bg .news-blurb::after {
            color: #000;
        }


#news-sections .white-bg {
    background: #c7c8ca;
}


    #news-sections .white-bg .news-full-box::after, #news-sections .white-bg .news-half-square::after {
        background-image: url(https://www.code3esg.com/dist/img/code3/link-arrow-red.svg);
    }


    #news-sections .white-bg .news-category {
        color: #000;
    }


    #news-sections .white-bg .news-date {
        color: #fff;
    }


    #news-sections .white-bg .news-title {
        color: #000;
    }


    #news-sections .white-bg .news-blurb {
        color: #000
    }


        #news-sections .white-bg .news-blurb::after {
            color: #000;
        }


#news-sections .grey-section {
    background: #4c4c4c;
}


    #news-sections .grey-section .btn {
        color: #000;
        background: #fff;
        text-shadow: none
    }


        #news-sections .grey-section .btn::before {
            background: #ccc;
        }


#general-info {
    background: #fff;
    padding: 45px;
    box-sizing: border-box;
    min-height: 1000px;
}


    #general-info h1 {
        color: #000;
        margin-bottom: 10px;
    }


    #general-info p {
        color: #000;
        margin-bottom: 10px;
    }


@media (max-width: 1000px) {


    #general-info {
        padding: 4.5vw
    }
}


@media (max-width: 400px) {


    #general-info {
        padding: 4.5vw 0
    }
}


#selected-country {
    color: #E91C24;
    text-transform: uppercase;
}


.selector-info {
    margin-bottom: 60px
}


@media (max-width: 1000px) {


    .selector-info {
        margin-bottom: 6vw
    }
}


@media (max-width: 400px) {


    .selector-info {
        border-bottom: solid 1px #C3C4C6;
        margin-bottom: 0
    }
}


.region-section {
    max-width: 1000px;
    margin: 0 auto 60px;
}


    .region-section img {
        margin-bottom: 20px
    }


@media (max-width: 400px) {

    .region-section img {
        display: none
    }
}


.region-section h2 {
    position: relative;
    font: 16px/16px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
    padding-bottom: 22px;
    margin-bottom: 30px
}


    .region-section h2::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -85px;
        width: 170px;
        height: 0;
        border-bottom: solid 1px #e21c24
    }


@media (max-width: 400px) {

    .region-section h2::before {
        display: none
    }
}


.region-section h2::after {
    content: '';
    position: absolute;
    top: 18px;
    right: 20px;
    width: 13px;
    height: 15px;
    background: no-repeat center url(https://www.code3esg.com/dist/img/code3/down-arrow.svg);
    transform: rotate(0deg);
    transition: all 0.3s ease;
}


.showing.region-section h2::after {
    transform: rotate(180deg);
}


@media (min-width: 401px) {

    .region-section h2::after {
        display: none
    }
}


@media (max-width: 400px) {

    .region-section h2 {
        padding: 20px 30px 18px;
        border-bottom: solid 1px #C3C4C6;
        text-align: left;
        margin-bottom: 0
    }
}


@media (max-width: 1000px) {


    .region-section {
        margin-bottom: 6vw
    }
}


@media (max-width: 400px) {


    .region-section {
        margin-bottom: 0
    }
}


.country-list {
    display: flex;
    flex-wrap: wrap;
}


    .country-list a {
        flex-grow: 1;
        margin: 0 22px 30px;
        text-transform: uppercase
    }


        .country-list a.current-country {
            color: #E91C24;
        }


@media (max-width: 400px) {


    .country-list {
        display: none;
        opacity: 0;
        padding-top: 10px;
        background: #C3C4C6;
    }

    .showing .country-list {
        display: block;
        opacity: 1;
        transition: all 0.3s ease;
    }

    .country-list a {
        display: block;
        margin: 0;
        padding: 14px 14px 14px 50px;
        text-align: left;
    }
}


/******************************************************
 DISTRIBUTOR LIST
 ******************************************************/


.change-country {
    display: inline-block;
    text-transform: uppercase;
    text-decoration: underline;
}


#search-distributors {
    max-width: 400px;
    margin: 20px auto 0;
    position: relative
}


    #search-distributors::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 60px;
        background: no-repeat center/17.62px 17.56px url(https://www.code3esg.com/dist/img/code3/search.svg);
    }


@media (max-width: 400px) {


    #search-distributors {
        margin: 20px 20px 0
    }
}


#distributor-input {
    background-color: #fff;
    border: solid 1px #005295;
    height: 40px;
}


.distributor-list {
    max-width: 850px;
    margin: 0 auto 60px;
    text-align: left;
}


    .distributor-list table {
        width: 100%;
    }


    .distributor-list tr:nth-child(2n+1) {
        background: #e0e0e0;
    }


    .distributor-list td {
        padding: 12px
    }


@media (max-width: 400px) {

    .distributor-list td {
        display: block;
        text-align: left;
        padding: 2px 25px
    }
}


.distributor-list .dealer-name {
    color: #000;
    font-family: FrutigerLTPro-Bold, Arial, sans-serif
}


@media (max-width: 400px) {

    .distributor-list .dealer-name {
        padding-top: 25px
    }
}


.distributor-list .dealer-phone {
    white-space: nowrap;
}


@media (max-width: 400px) {

    .distributor-list .dealer-website {
        padding-bottom: 25px
    }
}


.distributor-list .dealer-map a, .distributor-list .dealer-phone a, .distributor-list .dealer-website a {
    color: #000
}


    .distributor-list .dealer-map a:hover, .distributor-list .dealer-phone a:hover, .distributor-list .dealer-website a:hover {
        color: #E91C24;
    }


#contact-form.showing {
    height: auto;
}


#contact-form:not(.technical-support) .tech-support-only {
    display: none;
}


#need-a-quote-form, #become-distributor-form {
    position: relative;
    height: 0;
    overflow: hidden
}


    #need-a-quote-form.showing, #become-distributor-form.showing {
        height: auto;
    }


#contact-sizer, #need-a-quote-sizer, #become-distributor-sizer {
    padding: 45px 40px;
}


    #contact-sizer textarea, #need-a-quote-sizer textarea, #become-distributor-sizer textarea {
        height: 164px;
    }


    #contact-sizer button, #need-a-quote-sizer button, #become-distributor-sizer button {
        min-width: 138px;
    }


    #contact-sizer form, #need-a-quote-sizer form, #become-distributor-sizer form {
        overflow: hidden;
        opacity: 1;
        transition: all 0.3s ease;
    }


.thank-you #contact-sizer form, .thank-you #need-a-quote-sizer form, .thank-you #become-distributor-sizer form {
    opacity: 0;
}


@media (max-width: 600px) {


    #contact-sizer, #need-a-quote-sizer, #become-distributor-sizer {
        padding: 40px 20px;
    }

        #contact-sizer .contact-address, #need-a-quote-sizer .contact-address, #become-distributor-sizer .contact-address {
            width: 100%;
            order: 3;
            margin-top: 20px;
        }
}


#contact-sizer {
    padding: 0px;
}


#become-distributor-sizer textarea {
    height: 208px;
}


.expanding-form h4 {
    margin-bottom: 16px;
}


.required-notice {
    margin-bottom: 10px;
}


.close-form {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
    background: no-repeat center/12px 12px url(https://www.code3esg.com/dist/img/code3/close.svg);
    z-index: 10;
    cursor: pointer;
}


.thank-you-message {
    max-height: 0;
    overflow: hidden;
    padding-bottom: 0;
    opacity: 0;
    transition: all 0.3s ease;
}


    .thank-you-message h4 {
        color: #e21c24;
    }


.thank-you .thank-you-message {
    max-height: 80px;
    opacity: 1;
    padding-bottom: 40px;
}


.form-error-message {
    max-height: 0;
    overflow: hidden;
    padding-bottom: 0;
    opacity: 0;
    transition: all 0.3s ease;
}


    .form-error-message h4 {
        color: red;
    }


.form-error .form-error-message {
    max-height: 80px;
    opacity: 1;
    padding-bottom: 40px;
}


.file-upload {
    position: relative;
}


    .file-upload input[type=file] {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        opacity: 0;
        width: 100%;
    }


/*******************************************************************************
  VIDEO BLOCK
  Note that this depends on two things:
  1 - That the element this is applied to has 'display' set to at least 'relative'
  2 - That it can utilize the ::before psuedo element on the element to put in the button
  If the first isn't true, make sure to add display: relative; to it
  If the second isn't true you'll need to add a wrapper element around the element
  you want to have the video block appear on, and ensure it is set to display: relative;
  In the case of is class being applied to a div inside of a hero slide, it will
  automatically stretch itself to take up the whole space.
 ******************************************************************************/


.video-block {
    cursor: pointer
}


    .video-block::before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 58px;
        height: 58px;
        transform: translate(-50%, -50%) scale(1);
        background: url(https://www.code3esg.com/dist/img/code3/play-btn.svg);
        opacity: 0.8;
        transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }


    .video-block:hover::before {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 1;
    }


    .video-block.no-play-icon::before {
        display: none;
    }


#hero .video-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 200;
}


.video-block-icon {
    cursor: pointer
}


    .video-block-icon::before {
        content: '';
        display: block;
        margin: 15px auto;
        width: 58px;
        height: 58px;
        background: url(https://www.code3esg.com/dist/img/code3/play-btn.svg);
        opacity: 0.8;
        transition: opacity 0.3s ease;
    }


    .video-block-icon:hover::before {
        opacity: 1;
    }


/*******************************************************************************
  VIDEO POPUP displayed by javascript
 *******************************************************************************/


#video-shadow {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    background: rgba(0,0,0,0.65);
    z-index: 100000;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
}


.video-showing #video-shadow {
    width: 100%;
    height: 100%;
    opacity: 1;
}


body.video-showing {
    overflow: hidden;
}


#video-popup {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1200px;
    max-width: calc((100vh - 150px) * 1.763);
    background: #fff;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
    padding: 18px 36px;
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}


.video-showing #video-popup {
    opacity: 1;
}


#video-popup .top-band {
    overflow: hidden;
    padding-bottom: 30px;
}


#video-popup .bottom-band {
    overflow: hidden;
    padding-top: 18px;
}


@media (max-width: 1200px) {


    #video-popup {
        width: 100vw
    }
}


#video {
    position: relative;
    max-height: calc(100vh - 150px);
    background-color: #C3C4C6;
}


    #video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }


    #video::before {
        content: '';
        display: block;
        position: relative;
        padding-top: 56.656%;
    }


    #video .share-icons {
        float: right;
    }


        #video .share-icons a {
            margin: 0 0 0 5px;
        }


/************************************************
  This seeks to have styles that are specific to
  a given situation that aren't reused across
  the site.
 ************************************************/


#show-categories {
    cursor: pointer;
    transition: background-color 0.3s ease
}


    #show-categories:hover {
        background-color: #eee;
    }


body.promo-show {
    overflow: hidden;
}


#promo-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    background: linear-gradient(to top left, rgba(255,255,255,0.8) 0%,rgba(170,171,173,0.8) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}


.promo-show #promo-popup {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 10001;
}


#promo-popup-box {
    position: relative;
    margin-bottom: 75px;
    max-height: calc(100vh - 75px);
    transform: translateY(-40px);
    opacity: 0;
    transition: all 0.5s ease 0.2s;
}


.promo-show #promo-popup-box {
    transform: translateX(0);
    opacity: 1;
}


#promo-popup-box img {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 75px);
}


#promo-popup-box .no-thanks {
    position: absolute;
    top: 100%;
    width: 100%;
    height: 75px;
    cursor: pointer;
    font: 12px/75px FrutigerLTPro-Bold, Arial, sans-serif;
    text-align: center;
    text-transform: uppercase;
    color: #F7941D;
    transition: all 0.2s ease;
}


#promo-popup-box .close {
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    cursor: pointer;
    font: 20px/35px FrutigerLTPro-Bold, Arial, sans-serif;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 1px #777, -1px -1px 1px #777, 1px -1px 1px #777, -1px 1px 1px #777
}


    #promo-popup-box .close::before {
        content: 'x';
    }


@media (max-width: 375px) {


    #promo-popup-box {
        max-height: calc(100vh - 65px);
    }

        #promo-popup-box img {
            max-height: calc(100vh - 65px);
        }

        #promo-popup-box .no-thanks {
            height: 65px;
            line-height: 65px;
        }
}


#sitemap {
    text-align: left;
    -moz-column-count: 2;
    column-count: 2
}


@media (max-width: 750px) {


    #sitemap {
        -moz-column-count: auto;
        column-count: auto
    }
}


#base-group {
    list-style: none;
}


    #base-group .top-level {
        font-family: EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        text-transform: uppercase;
        font-size: 16px;
        margin-bottom: 20px;
        page-break-inside: avoid;
        -moz-column-break-inside: avoid;
        page-break-inside: avoid;
        break-inside: avoid;
    }


        #base-group .top-level ul {
            margin: 10px 0 10px 25px;
            font: 14px FrutigerLTPro-Roman, Arial, sans-serif;
        }


.blog-item {
    display: flex
}


@media (max-width: 750px) {


    .blog-item {
        flex-wrap: wrap
    }
}


.post {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 16.667%;
    flex-shrink: 0;
    font: 13px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
}


    .post h2 {
        font-size: 32px;
    }


/************************************************
  Main area
 ************************************************/


#portal-main {
    width: calc(100% - 300px)
}


@media (max-width: 1000px) {


    #portal-main {
        width: 100%
    }
}


#portal-main section {
    padding: 32px 50px;
}


@media (max-width: 750px) {
    #portal-main section {
        padding: 6.67vw;
    }
}


#portal-main .validation-summary-valid {
    display: none;
}


#portal-main .validation-summary-errors {
    color: red;
}


section#portal-title-bar {
    padding-top: 0;
    padding-bottom: 0;
}


    section#portal-title-bar .portal-title {
        display: inline-block;
        margin-right: 10px;
    }


#left-nav-btn {
    display: inline-block;
    text-transform: uppercase;
    color: #e21c24;
    cursor: pointer;
    padding-left: 10px;
    border-left: solid 1px #979797
}


@media (min-width: 1001px) {


    #left-nav-btn {
        display: none
    }
}


/************************************************
  Portal messages
 ************************************************/


#portal-messages {
    position: relative;
}


    #portal-messages .portal-title {
        margin-bottom: 15px;
    }


#portal-messages-container {
    position: relative;
    overflow: hidden;
    transition: height 0.4s ease
}


@media (max-width: 400px) {


    #portal-messages-container {
        margin-top: 15px
    }
}


.portal-message {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    padding: 20px;
    background: #ccc;
    border-radius: 8px;
    opacity: 0
}


    .portal-message.current {
        position: relative;
        top: 0;
        opacity: 1;
        transition: all 0.4s ease;
    }


    .portal-message.prev {
        position: absolute;
        top: -100%;
        opacity: 0;
        transition: all 0.4s ease;
    }


    .portal-message h2 {
        color: #000;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        font-size: 18px;
        margin-bottom: 8px;
    }


        .portal-message h2 span {
            font-family: FrutigerLTPro-Roman, Arial, sans-serif;
            font-size: 14px;
            color: #fff;
            white-space: nowrap;
        }


#portal-messages-nav {
    display: flex;
    position: absolute;
    right: 50px;
    bottom: 100%
}


@media (max-width: 750px) {


    #portal-messages-nav {
        right: 6.67vw
    }
}


@media (max-width: 400px) {


    #portal-messages-nav {
        bottom: calc(100% - 20px)
    }
}


.portal-message-dot {
    width: 14px;
    height: 14px;
    background: #ccc;
    opacity: 0.5;
    border-radius: 50%;
    margin-left: 18px;
    cursor: pointer;
    transition: opacity 0.2s ease
}


    .portal-message-dot:hover {
        opacity: 1;
    }


    .portal-message-dot.current {
        opacity: 1;
        background: #E91C24;
    }


/************************************************
  Promotional boxes
 ************************************************/


#portal-promos {
    border-top: solid 1px #979797;
    border-bottom: solid 1px #979797;
}


    #portal-promos .portal-title {
        margin-bottom: 15px;
    }


#promo-items {
    display: flex;
    flex-wrap: wrap;
}


.promo-item {
    width: calc(50% - 24px)
}


    .promo-item:nth-child(2n + 1) {
        margin-right: 48px;
    }


@media (max-width: 1200px) {


    .promo-item {
        width: calc(50% - 2vw)
    }

        .promo-item:nth-child(2n + 1) {
            margin-right: 4vw;
        }
}


@media (max-width: 600px) {


    .promo-item {
        width: 100%;
        margin-bottom: 20px
    }

        .promo-item:nth-child(2n + 1) {
            margin-right: 0;
        }
}


.promo-item .promo-image {
    border: solid 1px #979797;
    margin-bottom: 15px;
}


.promo-item img {
    display: block;
    width: 100%;
}


.promo-item .promo-subtitle {
    font-family: FrutigerLTPro-Bold, Arial, sans-serif;
    color: #E91C24;
    line-height: 22px;
    text-transform: uppercase;
}


.promo-item .promo-title {
    font: 18px/25px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #000;
}


.promo-item .promo-blurb {
    color: #000;
}


/************************************************
  Table layout
 ************************************************/


.view-all-orders {
    text-transform: uppercase;
    border-left: solid 1px #000;
    padding-left: 10px
}


    .view-all-orders:hover {
        text-decoration: underline;
    }


.table-wrapper {
    overflow-x: auto;
    max-width: 100%;
    background: linear-gradient(to right, white 30%, rgba(255,255,255,0)), linear-gradient(to right, rgba(255,255,255,0), white 70%) 0 100%, radial-gradient(farthest-side at 0%, at 50%, rgba(0,0,0,.2), rgba(0,0,0,0)), radial-gradient(farthest-side at 100%, at 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background: linear-gradient(to right, white 30%, rgba(255,255,255,0)), linear-gradient(to right, rgba(255,255,255,0), white 70%) 0 100%, radial-gradient(farthest-side at 0%, at 50%, rgba(0,0,0,.2), rgba(0,0,0,0)), radial-gradient(farthest-side at 100%, at 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background: linear-gradient(to right, white 30%, rgba(255,255,255,0)), linear-gradient(to right, rgba(255,255,255,0), white 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)), radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-position: 0 0, 100%, 0 0, 100%;
    background-attachment: local, local, scroll, scroll;
    -webkit-overflow-scrolling: touch;
}


    .table-wrapper table {
        min-width: 100%;
    }


    .table-wrapper thead {
        background: linear-gradient(to top, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
    }


    .table-wrapper tr {
        border-bottom: 1px solid;
    }


    .table-wrapper th {
        color: #fff;
        padding: 13px 18px;
        white-space: nowrap;
    }


    .table-wrapper th, .table-wrapper td {
        font-size: 12px;
        text-align: left;
    }


    .table-wrapper td {
        text-transform: uppercase;
        padding: 25px 18px;
        border: solid 1px #979797;
        border-left: none;
        background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 250, 250, 1) 43.88%, rgba(235, 235, 235, 1) 97.13%, rgba(234, 234, 234, 1) 100%);
    }


    .table-wrapper .track {
        cursor: pointer;
    }


    .table-wrapper .order-actions a, .table-wrapper .order-actions span {
        display: inline-block;
        padding-right: 7px;
        border-right: solid 1px #979797;
        margin-right: 7px
    }


        .table-wrapper .order-actions a.pay, .table-wrapper .order-actions span.pay {
            color: #00B91C;
        }


        .table-wrapper .order-actions a:last-child, .table-wrapper .order-actions span:last-child {
            padding-right: 0;
            border-right: none;
            margin-right: 0;
        }


    .table-wrapper .software-downloads a {
        display: inline-block;
        padding-right: 7px;
        border-right: solid 1px #979797;
        margin-right: 7px
    }


        .table-wrapper .software-downloads a:last-child {
            padding-right: 0;
            border-right: none;
            margin-right: 0;
        }


    .table-wrapper a:hover {
        text-decoration: underline;
    }


.detail-table thead {
    background: #353333;
}


.detail-table th {
    color: #fff;
    padding: 5px 18px;
    text-transform: capitalize;
}


.detail-table td {
    padding: 10px;
    background: lightgrey;
    vertical-align: middle;
}


.back-order {
    color: #E91C24;
    position: relative;
}


    .back-order .est-ship {
        position: absolute;
        top: -999em;
        left: 8px;
        background: #fff;
        z-index: 10;
        box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
        padding: 11px 18px;
        color: #000;
        opacity: 0;
        transition: opacity 0.25s ease, transform 0.25s ease;
    }


    .back-order:hover .est-ship {
        top: 0;
        opacity: 1;
        transform: translate3d(0,-14px,0);
    }


/************************************************
  Questions footer
 ************************************************/


.blue-section {
    display: block;
    background: #000;
    padding: 28px;
    box-sizing: border-box;
    clear: both;
}


    .blue-section .btn {
        margin-bottom: 0;
        width: 290px;
    }


@media (max-width: 1000px) {


    .blue-section {
        padding: 2.8vw
    }
}


@media (max-width: 750px) {


    .blue-section {
        padding: 20px
    }
}


/************************************************
  Profile Page
 ************************************************/


.profile-edit-field {
    display: flex;
    align-items: center;
    border: solid 1px #979797;
    padding: 10px 14px 10px 32px;
    margin-bottom: 15px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 250, 250, 1) 43.88%, rgba(235, 235, 235, 1) 97.13%, rgba(234, 234, 234, 1) 100%);
}


    .profile-edit-field label {
        margin-right: 4px;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        white-space: nowrap;
    }


    .profile-edit-field input {
        border: none;
        background: none;
        flex-grow: 1;
        padding: 0;
        margin: 0;
    }


    .profile-edit-field button {
        background: #eaeaea;
        font-family: FrutigerLTPro-Roman, Arial, sans-serif;
        color: #e21c24;
        border: solid 1px #979797;
        margin-bottom: 0;
        flex-shrink: 0;
        text-shadow: none;
    }


    .profile-edit-field.editing {
        background: #ccc;
        border-color: #ccc;
    }


.profile-field {
    display: flex;
    align-items: center;
    /*border: solid 1px #979797;*/
    padding: 10px 14px 10px 32px;
    margin-bottom: 5px;
}


    /*background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 250, 250, 1) 43.88%, rgba(235, 235, 235, 1) 97.13%, rgba(234, 234, 234, 1) 100%);*/


    .profile-field label {
        margin-right: 4px;
        font-family: FrutigerLTPro-Bold, Arial, sans-serif;
        white-space: nowrap;
    }


    .profile-field span {
        border: none;
        background: none;
        flex-grow: 1;
        padding: 0;
        margin: 0;
    }


.portal-pref {
    margin-bottom: 10px
}


    .portal-pref:last-of-type {
        margin-bottom: 20px;
    }


/************************************************
  Orders Page
 ************************************************/


#order-search {
    display: flex;
    max-width: 560px;
}


    #order-search button {
        margin-left: 10px;
    }


    #order-search .date-container {
        padding-left: 10px;
    }


        #order-search .date-container div.date {
            display: flex;
            align-items: center;
        }


            #order-search .date-container div.date div {
                width: 40px;
                padding-right: 5px;
            }


            #order-search .date-container div.date input {
                font: 14px/18px FrutigerLTPro-Roman,Arial,sans-serif;
                width: 120px;
            }


#search-prefs {
    display: flex;
    align-items: center;
    background: #eaeaea;
    border-bottom: solid 1px #979797;
}


    #search-prefs select {
        width: 70px;
        margin: 0 10px;
    }


.async-link-view-all-orders {
    cursor: pointer;
}


    .async-link-view-all-orders.disabled {
        visibility: hidden;
    }


.busy-indicator {
    display: none;
}


#product-compare {
    padding-top: 145px;
    text-align: left;
}


    #product-compare h1 {
        font: 700 40px/144.25% EurostileLTPro-BoldEx2, "Arial Black", sans-serif;
        color: #E91C24
    }


@media (max-width: 400px) {

    #product-compare h1 {
        font-size: 10vw
    }
}


#product-compare h1 > span {
    font-size: 0;
    width: 0;
}


#product-compare .back-link {
    font: 600 14px/22px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
}


.code3 #product-compare .back-link {
    color: #000;
}


#product-compare .back-link::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 11px 5px 0;
    border-color: transparent #e21c24 transparent transparent;
    margin: 0 10px 0 3px;
}


#product-compare .comparitor-tool {
    max-width: 100vw;
    min-height: 650px;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 80px
}


@media(max-width: 1000px) {

    #product-compare .comparitor-tool {
        overflow: auto
    }
}


#product-compare .ct-products {
    display: flex;
    padding: 45px 0 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}


@media (max-width: 600px) {

    #product-compare .ct-products {
        display: grid;
        position: relative;
        padding-top: 120px
    }

        #product-compare .ct-products.count-2 {
            grid-template-columns: repeat(2, 168px);
        }

            #product-compare .ct-products.count-2 .attribute-column {
                width: calc(calc(25% - 32px) * 2);
                min-width: calc(168px * 2);
            }

        #product-compare .ct-products.count-3 {
            grid-template-columns: repeat(3, 168px);
        }

            #product-compare .ct-products.count-3 .attribute-column {
                width: calc(calc(25% - 32px) * 3);
                min-width: calc(168px * 3);
            }

        #product-compare .ct-products.count-4 {
            grid-template-columns: repeat(4, 168px);
        }

            #product-compare .ct-products.count-4 .attribute-column {
                width: calc(calc(25% - 32px) * 4);
                min-width: calc(168px * 4);
            }
}


#product-compare .ct-products.count-1 {
    width: auto;
    width: initial;
}


    #product-compare .ct-products.count-1 .remove-btn {
        display: none;
    }


#product-compare .ct-products.count-4 .add-product-feature {
    display: none;
}


#product-compare .ct-products.count-4 .ct-product-wrap:nth-child(5) {
    border-right: none;
}


#product-compare .ct-products .add-product-feature {
    width: calc(25% - 32px);
    min-width: 168px;
    padding: 0 14px 0 15px;
    text-align: center;
    box-sizing: border-box;
}


    #product-compare .ct-products .add-product-feature .plus-button-wrap {
        position: relative
    }


        #product-compare .ct-products .add-product-feature .plus-button-wrap::before {
            content: "";
            display: block;
            padding-top: 100%;
        }


    #product-compare .ct-products .add-product-feature .plus-btn {
        position: absolute;
        bottom: 30px;
        left: calc(50% - 15px);
        width: 30px;
        height: 30px;
        background-image: linear-gradient(to right, rgba(194, 28, 36, 1) 0%, rgba(209, 28, 36, 1) 21.55%, rgba(222, 28, 36, 1) 48.72%, rgba(226, 28, 36, 1) 75%, rgba(226, 28, 36, 1) 100%);
        border-radius: 50%
    }


@media (max-width: 600px) {

    #product-compare .ct-products .add-product-feature .plus-btn {
        bottom: 0;
        margin-bottom: 15px
    }
}


#product-compare .ct-products .add-product-feature .plus-btn::before, #product-compare .ct-products .add-product-feature .plus-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
}


#product-compare .ct-products .add-product-feature .plus-btn::before {
    width: 3px;
    height: 15px;
}


#product-compare .ct-products .add-product-feature .plus-btn::after {
    width: 15px;
    height: 3px;
}


#product-compare .ct-products .add-product-feature .add-product {
    font: 600 15px/20px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
    text-transform: uppercase;
}


.code3 #product-compare .ct-products .add-product-feature .add-product {
    color: #000;
}


#product-compare .ct-products .add-product-feature .select-and-compare {
    font: 500 14px/28px FrutigerLTPro-Roman, Arial, sans-serif;
    color: #e21c24;
    padding-bottom: 5.5em;
}


.code3 #product-compare .ct-products .add-product-feature .select-and-compare {
    color: #000;
}


#product-compare .attribute-column {
    width: 128px;
    flex-shrink: 0;
    color: #808080;
    font: 500 12px/14px FrutigerLTPro-Roman, Arial, sans-serif;
    padding: 0 0 52px 0;
    box-sizing: border-box
}


@media (max-width: 600px) {

    #product-compare .attribute-column {
        min-height: 35px;
        padding-bottom: 0;
        padding-right: 8px;
        border-bottom: 1px solid #b7b7b7;
        grid-row: 2/3;
        grid-column: 1/5;
        border-right: 1px solid #b7b7b7
    }
}


#product-compare .attribute-column .at-inner-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%
}


@media (max-width: 600px) {

    #product-compare .attribute-column .at-inner-content {
        display: inline-flex;
        flex-direction: row;
        align-items: center;
        width: calc(100% - 30px);
        max-width: calc(100vw - 30px);
        box-sizing: border-box;
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        padding-top: 12px;
        padding-bottom: 12px
    }
}


#product-compare .attribute-column .highlight-wrapper .highlight-scroll, #product-compare .attribute-column .highlight-wrapper .info-tip-scroll {
    display: flex;
    align-items: center;
}


#product-compare .attribute-column .highlight-wrapper .info-tip-scroll {
    cursor: pointer;
    margin-top: 12px;
}


@media (max-width: 600px) {

    #product-compare .attribute-column .highlight-wrapper {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

        #product-compare .attribute-column .highlight-wrapper .highlight-scroll {
            display: inline-flex;
            align-items: center;
            left: 0;
            position: -webkit-sticky;
            position: sticky;
        }

        #product-compare .attribute-column .highlight-wrapper .info-tip-scroll {
            margin-top: 4px;
            left: 0;
            position: -webkit-sticky;
            position: sticky;
        }
}


#product-compare .attribute-column .highlight-switch {
    margin: 10px 0;
    background-color: #000;
    border-radius: 8px;
    width: 32px;
    height: 16px;
    position: relative;
    cursor: pointer;
    flex-shrink: 0;
    margin-right: 12px;
}


.code3 #product-compare .attribute-column .highlight-switch {
    background-color: #808080;
}


@media (max-width: 600px) {

    #product-compare .attribute-column .highlight-switch {
        order: -1
    }
}


#product-compare .attribute-column .highlight-switch::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    border-radius: 50%;
    height: 14px;
    width: 14px;
    background-color: #fff;
    transition: transform 0.2s ease;
}


#product-compare .attribute-column .highlight-switch.on {
    background-color: #E91C24;
}


.code3 #product-compare .attribute-column .highlight-switch.on {
    background-color: #000;
}


#product-compare .attribute-column .highlight-switch.on::before {
    transform: translateX(16px);
}


#product-compare .attribute-column .info-button {
    height: 16px;
    width: 16px;
    border: 1px solid #808080;
    border-radius: 50%;
    position: relative;
    margin-right: 26px;
    flex-shrink: 0
}


    #product-compare .attribute-column .info-button::before, #product-compare .attribute-column .info-button::after {
        content: "";
        position: absolute;
        width: 2px;
        left: calc(50% - 1px);
        background-color: #808080;
    }


    #product-compare .attribute-column .info-button::before {
        height: 2px;
        top: 3px;
    }


    #product-compare .attribute-column .info-button::after {
        height: 7px;
        bottom: 3px;
    }


@media (max-width: 600px) {

    #product-compare .attribute-column .at-text {
        margin: 0 12px
    }
}


#product-compare .attribute-column .dot-links {
    white-space: nowrap;
    display: none
}


@media (min-width: 601px) {

    #product-compare .attribute-column .dot-links {
        display: none
    }
}


#product-compare .attribute-column .dot-links .dot-link {
    width: 12px;
    height: 12px;
    padding: 6px;
    display: inline-block;
    cursor: pointer
}


    #product-compare .attribute-column .dot-links .dot-link::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background-color: #b2b2b2;
        transition: background-color 0.2s linear;
    }


    #product-compare .attribute-column .dot-links .dot-link.visible::before {
        background-color: #808080;
    }


@media (max-width: 1228px) {

    #product-compare h1, #product-compare .back-link, #product-compare .highlight-scroll, #product-compare .info-tip-scroll, #product-compare .spec-name > span, #product-compare .dff-disclaimer {
        padding-left: calc(614px - 50vw)
    }
}


@media (max-width: 1200px) {

    #product-compare h1, #product-compare .back-link, #product-compare .highlight-scroll, #product-compare .info-tip-scroll, #product-compare .spec-name > span, #product-compare .dff-disclaimer {
        padding-left: 14px
    }
}


#product-compare .ct-product-wrap {
    width: calc(25% - 32px);
    min-width: 168px;
    position: relative;
    padding: 0 14px 32px;
    border-right: 1px solid #b7b7b7;
    box-sizing: border-box;
    flex-shrink: 0;
    display: flex;
    flex-direction: column
}


@media (max-width: 600px) {

    #product-compare .ct-product-wrap {
        padding-bottom: 20px;
        grid-row: 1/2
    }

        #product-compare .ct-product-wrap.pr-({1}) {
            grid-column: 1 / span 1;
        }

        #product-compare .ct-product-wrap.pr-({2}) {
            grid-column: 2 / span 1;
        }

        #product-compare .ct-product-wrap.pr-({3}) {
            grid-column: 3 / span 1;
        }

        #product-compare .ct-product-wrap.pr-({4}) {
            grid-column: 4 / span 1;
        }
}


#product-compare .ct-product-wrap .product-images .main-image {
    position: relative;
}


    #product-compare .ct-product-wrap .product-images .main-image img {
        width: 100%;
        display: block;
        transition: opacity 0.3s linear
    }


        #product-compare .ct-product-wrap .product-images .main-image img:not(.showing) {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
        }


#product-compare .ct-product-wrap .remove-btn, #product-compare .ct-product-wrap .exit-btn {
    position: absolute;
    top: 0;
    right: 12px;
    background-color: #979797;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    transition: background-color 0.2s linear, opacity 0.2s linear;
    cursor: pointer;
    opacity: 0.5;
    z-index: 12
}


    #product-compare .ct-product-wrap .remove-btn::before, #product-compare .ct-product-wrap .remove-btn::after, #product-compare .ct-product-wrap .exit-btn::before, #product-compare .ct-product-wrap .exit-btn::after {
        position: absolute;
        top: calc(50% - 6px);
        left: calc(50% - 1px);
        content: "";
        background-color: #fff;
        width: 2px;
        height: 12px;
    }


    #product-compare .ct-product-wrap .remove-btn::before, #product-compare .ct-product-wrap .exit-btn::before {
        transform: rotate(-45deg);
    }


    #product-compare .ct-product-wrap .remove-btn::after, #product-compare .ct-product-wrap .exit-btn::after {
        transform: rotate(45deg);
    }


    #product-compare .ct-product-wrap .remove-btn:hover, #product-compare .ct-product-wrap .exit-btn:hover {
        background-color: #E91C24;
        opacity: 1;
    }


#product-compare .ct-product-wrap .product-info {
    color: #e21c24;
    margin-top: 35px;
    flex-grow: 1;
}


.code3 #product-compare .ct-product-wrap .product-info {
    color: #000;
}


#product-compare .ct-product-wrap .product-info h2 {
    font: 700 15px/20px FrutigerLTPro-Bold, Arial, sans-serif;
}


#product-compare .ct-product-wrap .product-info h3 {
    font: 14px/130% FrutigerLTPro-Roman, Arial, sans-serif;
    text-transform: none;
    text-transform: initial;
    padding-top: 3px;
    padding-bottom: 4px;
}


#product-compare .filter-controls {
    box-shadow: 0 0 0 0 rgba(0,0,0,0);
    position: relative;
}


    #product-compare .filter-controls .product-sku {
        background-color: rgba(221,221,221,1);
        color: #e21c24;
        font: 500 14px/200% FrutigerLTPro-Roman, Arial, sans-serif;
        position: relative;
        padding-left: 8px;
        padding-right: 21px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }


.code3 #product-compare .filter-controls .product-sku {
    color: #000;
}


#product-compare .filter-controls .product-sku::before {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 19;
    cursor: default;
}


#product-compare .filter-controls .product-sku::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 8px;
    right: 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11px 6px 0 6px;
    border-color: #e21c24 transparent transparent transparent;
    margin: 0 0 -1px 25px;
    transition: transform 0.3s ease;
}


#product-compare .filter-controls .filter-controls-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 0;
    overflow: hidden;
    background-image: linear-gradient(to bottom, rgba(221,221,221,1) 0%,rgba(255,255,255,1) 100%);
    box-shadow: 0 0 0 0 rgba(0,0,0,0);
}


#product-compare .filter-controls .filter-controls-content {
    padding: 10px 12px 80px;
    box-sizing: border-box;
    position: relative;
    min-height: 100%
}


@media (max-width: 600px) {

    #product-compare .filter-controls .filter-controls-content {
        background-color: #fff;
        width: calc(100% - 28px);
        margin: 24px 0;
        min-height: 0;
        min-height: initial
    }
}


#product-compare .filter-controls .filter-controls-content .exit-btn {
    top: 16px
}


@media (min-width: 601px) {

    #product-compare .filter-controls .filter-controls-content .exit-btn {
        display: none
    }
}


#product-compare .filter-controls.expanded {
    box-shadow: 0 7px 11px 0 rgba(0,0,0,0.4);
    margin-left: -14px;
    margin-right: -14px;
}


    #product-compare .filter-controls.expanded .product-sku {
        z-index: 200;
        /*animation: sku-slide 0.2s ease 0.08s forwards;*/
        /*padding-left: 20px;*/
        padding-right: 49px
    }


        #product-compare .filter-controls.expanded .product-sku::before {
            content: "";
        }


        #product-compare .filter-controls.expanded .product-sku::after {
            transform: rotateX(180deg);
        }


    #product-compare .filter-controls.expanded .filter-controls-wrapper {
        height: auto;
        z-index: 201;
        box-shadow: 0 9px 8px 0 rgba(0,0,0,0.4);
        overflow: auto;
        min-height: 300px
    }


@media (max-width: 600px) {

    #product-compare .filter-controls.expanded .filter-controls-wrapper {
        position: fixed;
        top: 0;
        bottom: 0;
        overflow: auto;
        background: rgba(0,0,0,0.33333);
        z-index: 300;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

        #product-compare .filter-controls.expanded .filter-controls-wrapper .apply-filters {
            padding-bottom: 14px;
        }
}


#product-compare .filter-controls .product-filter-label, #product-compare .filter-controls .audio-label {
    font: 700 14px/22px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
    margin-bottom: 2px;
}


.code3 #product-compare .filter-controls .product-filter-label, .code3 #product-compare .filter-controls .audio-label {
    color: #000;
}


#product-compare .filter-controls .filter-option {
    border: 1px solid #E91C24;
    font: 400 14px/22px FrutigerLTPro-Roman, Arial, sans-serif;
    color: #E91C24;
    min-width: 80px;
    box-sizing: border-box;
    padding: 6px 10px;
    transition: background-color 0.2s linear, color 0.2s linear;
    text-align: center;
    display: inline-block;
    margin-bottom: 10px
}


    #product-compare .filter-controls .filter-option:not(.disabled) {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        cursor: pointer;
    }


    #product-compare .filter-controls .filter-option.current {
        background-color: #E91C24;
        color: rgba(221,221,221,1);
    }


.code3 #product-compare .filter-controls .filter-option.current {
    color: #fff;
}


#product-compare .filter-controls .filter-option.disabled {
    border-color: #bcbcbc;
    color: #bcbcbc;
}


#product-compare .filter-controls .product-filter {
    padding: 8px 0
}


    #product-compare .filter-controls .product-filter:not(:first-child) {
        border-top: 1px solid #b7b7b7;
    }


    #product-compare .filter-controls .product-filter:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
    }


    #product-compare .filter-controls .product-filter .color-group {
        flex-wrap: wrap;
        height: auto;
    }


    #product-compare .filter-controls .product-filter .color-box {
        height: 30px;
        margin-bottom: 11px
    }


        #product-compare .filter-controls .product-filter .color-box::after {
            bottom: -4px;
        }


#product-compare .filter-controls .color-filter {
    margin-bottom: 16px;
}


#product-compare .filter-controls .apply-filters {
    position: absolute;
    bottom: 0;
    left: 12px;
    right: 12px;
    padding: 14px 0;
    border-top: 1px solid #b7b7b7;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}


    #product-compare .filter-controls .apply-filters .btn {
        min-width: 80px;
        box-sizing: border-box;
        margin-bottom: 8px;
    }


#product-compare .audio {
    padding: 8px 0;
}


    #product-compare .audio .audio-tone-category-title {
        margin-bottom: 4px;
        color: #005295;
    }


    #product-compare .audio .audio-tone {
        display: inline-block;
        padding: 6px 12px;
        line-height: 14px;
        border: solid 1px #005295;
        color: #005295;
        background-color: rgba(255,255,255,0);
        margin: 0 6px 8px 0;
        transition: all 0.2s ease;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        position: relative;
        padding-right: 40px
    }


        #product-compare .audio .audio-tone:hover {
            background-color: #fff;
        }


        #product-compare .audio .audio-tone::after {
            content: '';
            position: absolute;
            right: 6px;
            width: 20px;
            height: 20px;
            top: calc(50% - 10px);
            background: no-repeat center/contain url(https://www.code3esg.com/dist/img/audio-play-btn.svg);
        }


#product-compare .product-specs-wrapper {
    display: grid;
    grid-template-columns: 128px repeat(4, minmax(168px, calc(25% - 32px)))
}


@media (max-width: 600px) {

    #product-compare .product-specs-wrapper {
        grid-template-columns: repeat(4, 168px)
    }
}


#product-compare .product-specs-wrapper .spec-name, #product-compare .product-specs-wrapper .spec-value {
    border-bottom: 1px solid #b7b7b7;
}


#product-compare .product-specs-wrapper .spec-name {
    grid-column: 1/2;
    font: 700 14px/28px FrutigerLTPro-Bold, Arial, sans-serif;
    color: #e21c24;
    position: relative
}


@media (max-width: 600px) {

    #product-compare .product-specs-wrapper .spec-name {
        box-sizing: border-box;
        grid-column: 1/5;
        width: 100%;
        text-transform: uppercase;
        border-right: 1px solid #b7b7b7
    }
}


#product-compare .product-specs-wrapper .spec-name.row-1 {
    grid-row: 1 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-1 {
        grid-row: calc(1 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-2 {
    grid-row: 2 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-2 {
        grid-row: calc(2 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-3 {
    grid-row: 3 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-3 {
        grid-row: calc(3 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-4 {
    grid-row: 4 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-4 {
        grid-row: calc(4 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-5 {
    grid-row: 5 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-5 {
        grid-row: calc(5 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-6 {
    grid-row: 6 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-6 {
        grid-row: calc(6 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-7 {
    grid-row: 7 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-7 {
        grid-row: calc(7 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-8 {
    grid-row: 8 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-8 {
        grid-row: calc(8 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-9 {
    grid-row: 9 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-9 {
        grid-row: calc(9 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-10 {
    grid-row: 10 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-10 {
        grid-row: calc(10 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-11 {
    grid-row: 11 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-11 {
        grid-row: calc(11 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-12 {
    grid-row: 12 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-12 {
        grid-row: calc(12 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-13 {
    grid-row: 13 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-13 {
        grid-row: calc(13 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-14 {
    grid-row: 14 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-14 {
        grid-row: calc(14 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-15 {
    grid-row: 15 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-15 {
        grid-row: calc(15 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-16 {
    grid-row: 16 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-16 {
        grid-row: calc(16 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-17 {
    grid-row: 17 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-17 {
        grid-row: calc(17 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-18 {
    grid-row: 18 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-18 {
        grid-row: calc(18 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-19 {
    grid-row: 19 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-19 {
        grid-row: calc(19 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-20 {
    grid-row: 20 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-20 {
        grid-row: calc(20 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-21 {
    grid-row: 21 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-21 {
        grid-row: calc(21 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-22 {
    grid-row: 22 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-22 {
        grid-row: calc(22 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-23 {
    grid-row: 23 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-23 {
        grid-row: calc(23 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-24 {
    grid-row: 24 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-24 {
        grid-row: calc(24 * 2) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-name.row-25 {
    grid-row: 25 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-name.row-25 {
        grid-row: calc(25 * 2) / span 1
    }
}


@media (max-width: 600px) {

    #product-compare .product-specs-wrapper .spec-name > span {
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        display: inline-block;
        padding-left: 14px
    }
}


#product-compare .product-specs-wrapper.count-4 .spec-value.column-4 {
    border-right: none;
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper.count-1 .spec-name {
        grid-column: 1/2;
    }

    #product-compare .product-specs-wrapper.count-2 .spec-name {
        grid-column: 1/3;
    }

    #product-compare .product-specs-wrapper.count-3 .spec-name {
        grid-column: 1/4;
    }

    #product-compare .product-specs-wrapper.count-4 .spec-name {
        grid-column: 1/5;
    }
}


#product-compare .product-specs-wrapper .spec-value {
    border-right: 1px solid #b7b7b7;
    padding: 0 14px;
    font: 400 14px/28px FrutigerLTPro-Roman, Arial, sans-serif;
    color: #005295;
}


.code3 #product-compare .product-specs-wrapper .spec-value {
    color: #000;
}


#product-compare .product-specs-wrapper .spec-value.column-1 {
    grid-column: calc(1 + 1) / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.column-1 {
        grid-column: 1 / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.column-2 {
    grid-column: calc(2 + 1) / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.column-2 {
        grid-column: 2 / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.column-3 {
    grid-column: calc(3 + 1) / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.column-3 {
        grid-column: 3 / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.column-4 {
    grid-column: calc(4 + 1) / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.column-4 {
        grid-column: 4 / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.column-5 {
    grid-column: calc(5 + 1) / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.column-5 {
        grid-column: 5 / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.column-6 {
    grid-column: calc(6 + 1) / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.column-6 {
        grid-column: 6 / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-1 {
    grid-row: 1 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-1 {
        grid-row: calc(1 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-2 {
    grid-row: 2 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-2 {
        grid-row: calc(2 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-3 {
    grid-row: 3 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-3 {
        grid-row: calc(3 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-4 {
    grid-row: 4 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-4 {
        grid-row: calc(4 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-5 {
    grid-row: 5 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-5 {
        grid-row: calc(5 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-6 {
    grid-row: 6 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-6 {
        grid-row: calc(6 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-7 {
    grid-row: 7 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-7 {
        grid-row: calc(7 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-8 {
    grid-row: 8 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-8 {
        grid-row: calc(8 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-9 {
    grid-row: 9 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-9 {
        grid-row: calc(9 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-10 {
    grid-row: 10 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-10 {
        grid-row: calc(10 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-11 {
    grid-row: 11 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-11 {
        grid-row: calc(11 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-12 {
    grid-row: 12 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-12 {
        grid-row: calc(12 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-13 {
    grid-row: 13 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-13 {
        grid-row: calc(13 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-14 {
    grid-row: 14 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-14 {
        grid-row: calc(14 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-15 {
    grid-row: 15 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-15 {
        grid-row: calc(15 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-16 {
    grid-row: 16 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-16 {
        grid-row: calc(16 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-17 {
    grid-row: 17 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-17 {
        grid-row: calc(17 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-18 {
    grid-row: 18 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-18 {
        grid-row: calc(18 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-19 {
    grid-row: 19 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-19 {
        grid-row: calc(19 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-20 {
    grid-row: 20 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-20 {
        grid-row: calc(20 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-21 {
    grid-row: 21 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-21 {
        grid-row: calc(21 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-22 {
    grid-row: 22 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-22 {
        grid-row: calc(22 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-23 {
    grid-row: 23 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-23 {
        grid-row: calc(23 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-24 {
    grid-row: 24 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-24 {
        grid-row: calc(24 * 2 + 1) / span 1
    }
}


#product-compare .product-specs-wrapper .spec-value.row-25 {
    grid-row: 25 / span 1
}


@media (max-width: 600px) {
    #product-compare .product-specs-wrapper .spec-value.row-25 {
        grid-row: calc(25 * 2 + 1) / span 1
    }
}


#product-compare .dff-disclaimer {
    padding-top: 18px;
    padding-bottom: 26px;
    font: 400 14px/20px FrutigerLTPro-Roman, Arial, sans-serif;
    color: #808080;
    display: none;
}


@-webkit-keyframes sku-slide {
    from {
        padding-left: 20px;
    }

    to {
        padding-left: 8px;
    }
}


@keyframes sku-slide {
    from {
        padding-left: 20px;
    }

    to {
        padding-left: 8px;
    }
}
