:root {
    --white: #fff;
    --black: #000;
    --grey: #5C686D;
    --grey-light: #E6E6E6;
    --grey-light-alt: #939496;
    --grey-light-alt2: #f2f2f2;
    --grey-dark: #8B8F90;
    --grey-very-dark: #333;
    --green: #94BC30;
    --green-dark: #45887B;
    --green-dark-alt: #343E3F;
    --blue: #12447A;
    --blue-dark: #004379;
    --blue-very-dark: #051E34;
    --blue-light: #269AE1;
    --blue-light-alt: #47A5E2;
    --brown: #BB7B24;
    --anchor-color: #3E92CC;
    --font-color: #5C686D;
    --heading-color: #fff;
    --input-font-color: #5C686D;
    --bottom-border-color: #464955;
    --accent-color: #2A628F;
    --accent-font-color: var(--blue-tufts);
    --accent-hover-color: var(--blue-tufts);
    --footer-heading-color: var(--white);
    --footer-top-background-color: var(--blue);
    --footer-btm-background-color: var(--blue-very-dark);
    --footer-font-colour: var(--blue-light);
    --header-height: 40px;
    --header-background-color: var(--grey-light);
    --button-background-color: var(--blue-light);
    --button-background-hover-green: #94BC30;
    --news-header-font-color: var(--green);
    --menu-background-color: var(--white);
    --menu-anchor-color: var(--blue-dark);
    --menu-anchor-hover-color: var(--blue-light);
    --menu-li-hover-color: #3E92CC;
    --menu-close-btn-color: #BB7B24;
    --banner-very-large-right-content-position: 15rem;
    --banner-large-right-content-position: 7rem;
    --banner-small-right-content-position: 5rem;
    --banner-very-small-right-content-position: 3rem;
    --screen-very-large-content-width: calc(100% - 30rem);
    --screen-very-large-header-width: calc(100% - 15rem);
    --screen-large-header-width: calc(100% - 20rem);
    --screen-large-content-width: calc(100% - 15rem);
    --screen-medium-content-width: calc(100% - 10rem);
    --screen-small-content-width: calc(100% - 5rem);
}

@font-face {
    font-family: "Anton_Regular";
    src: local("?");
    src: url(/clean-assets/fonts/Anton-Regular.ttf) format("truetype");
}

@font-face {
    font-family: "Fira_Sans_Regular";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-Regular.ttf) format("truetype");
}

@font-face {
    font-family: "Fira_Sans_Light";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-Light.ttf) format("truetype");
}


@font-face {
    font-family: "Fira_Sans_Extra_Light";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-ExtraLight.ttf) format("truetype");
}

@font-face {
    font-family: "Fira_Sans_Medium";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-Medium.ttf) format("truetype");
}

@font-face {
    font-family: "Fira_Sans_Semi_Bold";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-SemiBold.ttf) format("truetype");
}

@font-face {
    font-family: "Fira_Sans_Bold";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-Bold.ttf) format("truetype");
}

@font-face {
    font-family: "Fira_Sans_Extra_Bold";
    src: local("?");
    src: url(/clean-assets/fonts/FiraSans-ExtraBold.ttf) format("truetype");
}

@font-face {
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: 400;
    src: url(/clean-assets/fonts/fa-solid-900.eot);
    src: url(/clean-assets/fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"), url(/clean-assets/fonts/fa-solid-900.woff2) format("woff2"), url(/clean-assets/fonts/fa-solid-900.woff) format("woff"), url(/clean-assets/fonts/fa-solid-900.ttf) format("truetype"), url(/clean-assets/fonts/fa-solid-900.svg#fontawesome) format("svg");
}

/*//////////// FOUNDATION OVERRIDES /////////////*/
[class*=block-grid-] {
    margin: 0;
    padding-left: 0.46875em;
    padding-right: 0.46875em;
}

/*////////////////////// TOP LEVEL //////////////////////*/
html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 12px;
}

body {
    height: 100%;
    width: 100%;
    margin: 0;
    font-family: "Fira_Sans_Regular", Arial, Helvetica, sans-serif;
    line-height: 1.2rem;
    font-size: 1.2rem;
    color: var(--font-color);
}

h2, h3, h4, h5, h6 {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
}

h1 {
    font-family: "Anton_Regular", Arial, Helvetica, sans-serif;
    font-size: 6.5vw;
    line-height: 6.5vw;
    text-transform: uppercase;
    color: var(--white);
}

h2 {
    font-size: 2.5rem;
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}

h2 span.first-word {
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
    color: var(--grey-light-alt);
}


h3 {
    font-size: 2rem;
    color: var(--blue-dark);
}

h3.green {
    color: var(--green-dark);
}

h3.green a {
    color: var(--green-dark)!important;
}

h4 {
    font-size: 1.25rem;
    color: var(--blue-dark);
}

h4 i {
    margin-right: 0.75rem;
    color: var(--accent-font-color);
}

h5 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: var(--blue-dark);
}

h6 {
    font-size: 0.8rem;
    margin-bottom: 3rem;
    color: var(--blue-dark);
}

strong {
    font-family: "Fira_Sans_bold", Arial, Helvetica, sans-serif;
    /*color: #222;*/
}

a {
    color: var(--anchor-color);
    text-decoration: none;
    transition: color 200ms ease-out 0s;
}

a:hover {
    color: #fff;
}

a.bad, a.bad:focus, a.bad:hover {
    color: #C13E4D !important;
}

p {
    margin-bottom: 1.2rem;
    line-height: 2.2rem;
    font-family: "Fira_Sans_Regular", Arial, Helvetica, sans-serif;
}

p:last-child {
    margin-bottom: 0;
}

span.fira-bold-sans p {
    font-family: "Fira_Sans_Bold" !important;
}

span.bad {
    color: #C13E4D !important;
}

span.good {
    color: #55B778 !important;
}

span.dark {
    color: #000 !important;
}

span.normal {
    color: #555 !important;
}

span.light {
    color: #959595;
}

span.dark-blue {
    color: var(--blue-dark);
}

span.grey {
    color: var(--grey);
}

span.grey-light {
    color: var(--grey-light);
}

span.grey-light-alt {
    color: var(--grey-light-alt);
}

span.subTitle {
    color: var(--font-color);
    font-family: "Fira_Sans_Extra_Light" !important;
}

span.publishedDate {
    color: var(--font-color);
    /*font-weight: 900;*/
    font-size: 1.1rem;
}


hr {
    border-color: var(--bottom-border-color);
}

ol {
    list-style: decimal;
    padding-left: 18px;
}

ol li {
    padding-left: 5px;
}

ul li ul, ul li ol {
    margin-left: 0;
}

h2 a, h3 a, h4 a {
    color: #fff;
}

h2 a:hover, h3 a:hover, h4 a:hover {
    color: #FF0607;
    text-decoration: underline;
}

.strong {
    font-weight: 900;
}

ul.bullet-list {
    list-style-type: disc;
    list-style-position: outside;
    padding-left: 1rem;
}

ul.bullet-list li {
    margin-bottom: 1.3rem;
    padding-left: 1rem;
}

/*////////////////////// INPUTS //////////////////////*/
form {
    float: left;
    width: 100%;
}

label, textarea, select, input[type=text], input[type=password], input[type=submit], button {
    float: left;
    width: 100%;
    margin: 0;
    font-size: 1rem;
    font-family: "Fira_Sans_Regular", Arial, Helvetica, sans-serif;
    box-shadow: none;
    color: var(--input-font-color);
}

label {
    width: auto;
    float: left;
    font-weight: normal;
    line-height: 19px;
    padding: 8px 0;
    cursor: default;
    color: var(--input-font-color);
}

input[type=text], input[type=password], input[type=date] {
    float: left;
    height: 45px;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 0rem 1.5rem;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    box-shadow: none;
    line-height: 1.1em;
    font-size: 1.1rem;
    font-family: "Fira_Sans_Regular", Arial, Helvetica, sans-serif;
    margin: 0;
}

textarea {
    float: left;
    height: 150px;
    padding: 1.5rem;
    background-color: #fff;
    border: 1px solid #ddd;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    line-height: 1.1em;
    font-size: 1.1rem;
    font-family: "Fira_Sans_Regular", Arial, Helvetica, sans-serif;
    resize: none;
}

select {
    float: left;
    cursor: pointer;
    height: 45px;
    padding: 0rem 1.5rem;
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1) inset;
    text-indent: 0.25rem;
    border: 1px solid #ddd;
    background-color: #fff;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    background-position: right 10px center;
}

select:hover {
    background-position: right 10px center;
}

option {
    padding: 0.5rem;
}

input[type=text].date {
    width: calc(100% - 24px);
}

input[type=checkbox] {
    float: left;
    width: 10px;
    height: 10px;
    margin: 0.95rem 1rem 0 0;
    background-color: white;
    border-radius: 50%;
    vertical-align: middle;
    border: 1px solid #999;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    cursor: pointer;
}

input[type=checkbox]:checked {
    background-color: var(--green);
}

input[type=radio] {
    float: left;
    width: 10px;
    height: 10px;
    margin: 0.95rem 1rem 0 0;
    background-color: white;
    border-radius: 50%;
    vertical-align: middle;
    border: 1px solid #999;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    cursor: pointer;
}
input[type=radio]:checked {
    background-color: var(--green);
}

ul.data li.title input[type=checkbox] {
    float: left;
    margin: 0 1rem 0 0;
}

input[type=submit], input[type=button], button, .btn_link {
    float: left;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border: none;
    transition: background-color 200ms ease-out 0s;
    background-color: var(--blue-light);
    font-family: "Fira_Sans_Regular", Arial, Helvetica, sans-serif;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: 1.1rem;
    line-height: 35px;
    padding: 0 20px;
    text-align: center;
    text-decoration: none;
    width: auto;
}

input[type=submit]:hover,
input[type=button]:hover,
button:hover,
.btn_link:hover {
    background-color: var(--green);
    color: #fff;
}

a.blue_radius_btn {
    float: left;
    height: 35px;
    font-size: 1rem;
    line-height: 12px;
    color: var(--white) !important;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    padding: 1rem 2rem 1rem 3.5rem;
    transition: background 200ms ease-out 0s;
    background-color: var(--button-background-color);
    background-image: url(/clean-assets/images/public/arrow-blue.svg);
    background-position: 10px center;
    background-repeat: no-repeat;
}

a.blue_radius_btn:hover {
    background-color: var(--button-background-hover-green);
    text-decoration: none !important;
}


a.green_arrow {
    background-image: url(/clean-assets/images/public/arrow-green.svg);
    background-position: 10px center;
    background-repeat: no-repeat;
}

/*a.green_arrow:hover {
    background-color: var(--button-background-hover-green);
}*/

/*////////////////////// WRAPERS //////////////////////*/
#header_wrap {
    z-index: 9000;
    width: 100%;
    position: relative;
    min-height: 40px !important;
    /*position:fixed;
    top:0px;
    left:0px;*/
}

#header_holder {
    margin: auto;
    font-size: 1.2rem;
    padding: 2rem 0 2rem 0;
    max-width: var(--screen-large-header-width);
    min-width: var(--screen-large-header-width);
}

#banner_wrap {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 5000;
}

#banner_top_right_shim {
    position: absolute;
    top: 0px;
    right: var(--banner-large-right-content-position);
    width: 130px;
    height: 150px;
    background-image: url(/clean-assets/images/public/header-top-right-bg.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
    z-index: 6000;
}

#banner-shim-car-overlay {
    position: absolute;
    z-index: 9000;
    bottom: -57%;
    right: 5%;
    width: 55%;
    height: 75%;
    background-image: url(/clean-assets/images/public/banner-trans-car-overlay.png);
    background-size: contain;
    background-repeat: no-repeat;
}

#banner-shim-car-overlay.data-control-systems {
    background-image: url(/clean-assets/images/public/banner-trans-car-overlay-data-control.png);
}

#banner-shim-car-overlay.motorsport {
    background-image: url(/clean-assets/images/public/banner-trans-car-overlay-motorsport.png);
}

#title_holder {
    max-width: 50%;
    z-index: 1000;
    position: absolute;
    top: 40%;
    right: 7em;
    text-align: right;
    height: auto;
}

#title_holder.home {
    top: 28%;
}

#content_wrap {
    float: left;
    width: 100%;
    background-color: var(--white);
    position: relative;
}

#content_holder {
    width: 100%;
    margin: 1rem auto 0 auto;
    max-width: var(--screen-large-content-width);
    min-width: var(--screen-large-content-width);
    position: relative;
    z-index: 5000;
}

#content_holder h2 {
    font-size: 3rem;
}

#content_holder a,
#content-top-shim-holder a {
    color: var(--anchor-color);
}

#content_holder a:hover,
#content-top-shim-holder a:hover {
    color: var(--anchor-color);
    text-decoration: underline;
}

#footer_wrap {
    float: left;
    width: 100%;
}

.content_pad_btm {
    padding-bottom: 20rem !important;
}



.rich-text-holder ul,
.rich-text-holder ol,
#legal_wrap ul,
#legal_wrap ol {
    list-style-type: disc;
    list-style-position: outside;
    padding-left: 1rem;
}

.rich-text-holder ul li,
.rich-text-holder ol li,
#legal_wrap ul li,
#legal_wrap ol li {
    margin-bottom: 1.3rem;
    padding-left: 1rem;
}

/*//////////// CONTENT TOP SHIM SECTION (homepage) ////////////////*/
#content-top-shim-wrap {
    position: relative;
    z-index: 1000;
    width: 100%;
    height: auto;
    background-color: var(--white);
    background: linear-gradient(0deg, #fff, #E6E6E6 80%) no-repeat;
}

#content-top-shim-holder {
    position: relative;
    z-index: 2000;
    width: 65%;
    height: 100%;
    padding: 9rem 7rem 1rem 7rem;
    background-color: var(--white);
}

#content-top-shim-radius {
    position: absolute;
    z-index: 1000;
    top: -80%;
    right: 30%;
    width: 66.6%;
    height: 270%;
    background-color: var(--white);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
    max-width: var(--screen-large-content-width);
    min-width: var(--screen-large-content-width);
}

#content-top-shim-holder p {
    font-size: 1.6rem;
    line-height: 2.5rem;
}

#content-top-shim-holder p strong {
    color: var(--blue);
}


/* medium foundation */
@media screen and (max-width: 1024px) {
    #content-top-shim-wrap {
        background: none;
    }

    #content-top-shim-holder {
        width: 100%;
        padding: 7rem 0.2rem 0 0.2rem;
        margin: auto;
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    #content-top-shim-radius {
        display: none;
    }
}
/* small foundation */
@media screen and (max-width: 640px) {
    #content-top-shim-holder {
        padding: 5rem 0 0 0;
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }
}

/*////////////////////// HOMEPAGE //////////////////////*/
#home-article-section .flex-container {
    /*   display: flex;
    width: 100%;
    flex-wrap:nowrap;
    column-gap: 2rem;*/
}

#home-article-section .flex-container a:hover{
    text-decoration:none!important;

}

#home-article-section {
    position: relative;
    min-width: 100%;
}

#home-article-title-shim {
    position: absolute;
    top: -5rem;
    right: -7.5rem;
    min-width: 230px;
    min-height: 470px;
    background-image: url(/clean-assets/images/public/homepage-news-title-shim.png);
    background-repeat: no-repeat;
    background-position: 0px 5px;
    background-size: 100%;
}

/* vary large screens */
@media screen and (min-width: 1500px) {
    #home-article-title-shim {
        right: -27rem;
    }
}

/* large foundation */
@media screen and (max-width: 1024px) {
    #home-article-title-shim {
        display: none;
    }
}
/*////////////////////// CONTENT GENERAL //////////////////////*/
.title-shim {
    float: left;
    width: 15%;
    height: 3px;
    background-color: var(--grey-dark);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    padding: 0 2rem 0 2rem;
}

.title-shim.blue {
    background-color: var(--blue-dark);
}

.title-shim.white {
    background-color: var(--white);
}

.title-shim.green {
    background-color: var(--green);
}

/*////////////////////// PRODUCT //////////////////////*/
#flex-container-product {
    display: flex;
    width: 100%;
}

#product_wrap #blue-sidebar h1 {
    font-family: "Anton_Regular", Arial, Helvetica, sans-serif;
    line-height: 4rem;
    font-size: 3.5rem;
    color: var(--white);
    text-transform: uppercase;
}

i

#product_wrap #blue-sidebar h2 {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    line-height: 2.5rem;
    font-size: 2.5rem;
    color: var(--blue-light);
    text-transform: uppercase;
}

#blue-sidebar {
    padding: 6rem 3rem 3rem 3rem;
    background-color: var(--blue-dark);
    color: var(--white);
}

/*#blue-sidebar ul.bullet-list {
    list-style-type: disc;
    list-style-position: outside;
    padding-left: 1rem;
}*/

#blue-sidebar ul.bullet-list li {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
}

#blue-sidebar ul.bullet-list li::marker {
    color: var(--green);
}

#blue-sidebar-shim {
    float: left;
    height: 5px;
    width: 40%;
    background-color: var(--white);
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
}

#sub-bullet-list {
    color: var(--blue);
    list-style-position: outside;
    padding-left: 1rem;
}

#sub-bullet-list li {
    margin-bottom: 1rem;
    padding-left: 1rem;
}

#product-file-wrap {
    position: relative;
    background-color: var(--grey-light-alt2);
    padding: 4rem 0 20rem 0 !important;
    color: var(--grey-dark);
    min-height: 470px;
}

#product-file-wrap.archive {
    min-height: 600px;
}

#product-file-holder {
    margin: auto;
    max-width: var(--screen-large-content-width);
    min-width: var(--screen-large-content-width);
}

#product-file-holder h4 {
    font-size: 1.5rem;
    color: var(--brown);
    margin-bottom: 0.3rem;
}


#product-sales-holder {
    width: 50%;
    position: absolute;
    top: 13%;
    right: 0;
    background-color: var(--white);
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding: 3rem 2rem 3rem 5.5rem;
}

#product-sales-holder.archive {
    top: 30%;
}

#product-sales-holder h4 {
    font-size: 1.5rem;
    margin-bottom: 0.3rem;
    color: var(--green);
}

#product-sales-holder h5 {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    color: var(--black);
}

#product-sales-holder ul {
    margin-bottom: 0 !important;
}

#product-sales-holder ul li {
    padding-bottom: 0 !important;
    font-size: 1rem;
}

#product-sales-holder ul li a {
    color: var(--grey);
}

/* large foundation */
@media screen and (max-width: 1024px) {
    /*    #product-file-wrap {
        padding: 4rem 0 20rem 0 !important;
    }
*/
    #product-file-wrap {
        background-color: var(--white);
        padding-top: 0 !important;
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
        margin: auto;
        min-height: auto;
        width: 100%;
    }

    #product-file-holder {
        float: left;
        width: 100%;
        max-width: none;
        min-width: none;
    }

    #product-sales-holder {
        position: relative;
        float: left;
        width: 100%;
        border-radius: unset;
        padding: 2rem 2rem 20rem 2rem;
        /*margin-bottom: 30rem;*/
    }
}

/* small foundation */
@media screen and (max-width: 640px) {
    #product-file-wrap {
        max-width: var(--screen-small-content-width) !important;
        min-width: var(--screen-small-content-width) !important;
    }

    #product-sales-holder {
        padding: 2rem 2rem 15rem 2rem;
    }
}


#download-list li {
    padding-left: 3rem;
    /*margin-bottom: 1rem;*/
    padding-bottom: 0rem;
    background-image: url(/clean-assets/images/public/arrow-green-small.svg);
    background-repeat: no-repeat;
    background-position: 0px 5px;
    background-size: 18px;
    width: 100% !important;
    float: left;
}

#download-list li a {
    color: var(--grey);
    text-decoration: underline;
    font-size: 1.1rem;
}


/*////////////////////// ARTICLE //////////////////////*/
#article_wrap h1 {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    line-height: 2.5rem;
    font-size: 2.5rem;
    color: var(--green-dark);
    text-transform: none;
}

#article_wrap h3 {
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
    line-height: 1.5rem;
    font-size: 1.5rem;
    color: var(--grey);
    text-transform: none;
}

/*////////////////////// LEGAL //////////////////////*/
#legal_wrap h1 {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    line-height: 2.5rem;
    font-size: 2.5rem;
    color: var(--blue);
    text-transform: none;
}

#legal_wrap h3 {
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
    line-height: 1.5rem;
    font-size: 1.5rem;
    color: var(--grey);
    text-transform: none;
}

/*////////////////////// BREADCRUMB //////////////////////*/
#breadcrumb_wrap {
    /*float: left;*/
    width: 100%;
    background-color: var(--grey-light);
    position: relative;
}

#breadcrumb_shim {
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #ddd;
    position: absolute;
}

#breadcrumb_holder {
    margin: auto;
    font-size: 1rem;
    padding: 1.5rem 0 1.5rem 0;
    color: var(--grey-dark);
    max-width: var(--screen-large-content-width);
    min-width: var(--screen-large-content-width);
}

#breadcrumb_holder ul {
    float: left;
    width: 100%
}

#breadcrumb_holder ul li {
    width: auto;
    margin-left: 0.5rem;
}

#breadcrumb_holder ul li a {
    color: var(--grey-dark);
}

#breadcrumb_holder ul li a:hover {
    color: var(--grey-very-dark);
}

/*////////////////////// BANNER //////////////////////*/
#banner_wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    line-height: 0;
    display: block;
    padding: 0px !important;
    margin: 0px !important;
}

/*////////////////////// HEADER //////////////////////*/
#logo_wrap {
    float: left;
    min-height: 35px;
    width: 50%;
    min-height: 40px;
    margin: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

#logo_wrap img {
    margin: auto;
    display: block;
    width: 35%;
}

#support_wrap {
    float: left;
    min-height: 35px;
    width: 25%;
}

#support_wrap a {
    float: right;
}

/*///////////// SLIDE MENU /////////////////*/
#menu_btn_wrap {
    float: left;
    width: 25%;
    min-height: 35px;
}

#menu-open-btn {
    cursor: pointer;
    position: relative;
    width: 70px;
    height: 25px;
    background-color: var(--blue-dark);
    transition: background 200ms ease-out 0s;
    margin-top: 10px;
}

#menu-open-btn:hover {
    background-color: var(--blue-light);
}

#menu-open-btn-shim {
    position: absolute;
    bottom: 11px;
    left: 0px;
    width: 60px;
    height: 3px;
    background-color: var(--white);
}

#menu-open-btn-circle-shim {
    position: absolute;
    top: -5px;
    right: -25px;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 70%;
}

#menu-close-btn {
    display: none;
    cursor: pointer;
    position: relative;
    width: 60px;
    height: 25px;
    margin-top: 10px;
    color: var(--menu-close-btn-color);
    transition: color 200ms ease-out 0s;
}

#menu-close-btn:hover {
    color: var(--blue-light);
}

#menu_wrap {
    z-index: 9000;
    position: fixed;
    /*display: none;*/
    top: calc(40px + 4rem); /* 40px min-height of header plus top and bottom padding (2rem x 2 = 4rem) */
    right: 0;
    height: 100%;
    width: 100%;
    background-color: var(--white);
    transition: all 0.75s ease-out;
    transform: translateX(100%);
    webkit-transform: translateX(100%);
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

#menu_wrap.active {
    transform: translateX(0%);
    -webkit-transform: translateX(0%);
}

#menu_holder {
    float: left;
    width: 100%;
    margin: auto;
    padding: 3rem 7rem 2rem 7rem;
}

#menu-list {
    float: left;
    background-color: var(--menu-background-color);
    position: relative; /* to make sub menu 100% */
    padding: 0;
}

#menu-list ul {
    padding: 0;
}

#menu-list li:hover {
    color: var(--blue-dark);
}

#menu-list > li {
    width: auto;
    padding: 0;
    margin-right: 1rem;
}

#menu-list > li:last-child {
    margin-right: 0;
}

#menu-list li a {
    display: block;
    float: left;
    color: var(--blue-dark);
    padding: 10px 5px 10px 10px;
}

/* first level active */
#menu-list > li.active > a,
#menu-list > li.active > i {
    color: var(--green);
}

/* first level anchors */
#menu-list > li > a {
    font-weight: 900;
    font-size: 1.1rem !important;
}

/* second/third level li's */
#menu-list > li > ul > li {
    width: 100%;
}

/* second/third level anchors */
#menu-list > li > ul > li a {
    width: calc(100% - 15px);
}

/* second level anchors */
#menu-list > li > ul > li > div > a {
    color: var(--blue-light);
    font-weight: 900;
    font-size: 1rem;
}

/* second level paras */
#menu-list > li > ul > li > div > p {
    color: var(--grey-very-dark);
    font-size: 1rem;
    line-height: 1.2rem;
    padding: 10px;
}

#menu-list > li > ul > li > div > i.child-expand {
    line-height: 30px;
}

/* second level i's */
#menu-list > li > ul > li > div > i.child-expand {
    color: var(--blue-light);
}

/* third level anchors */
#menu-list > li > ul > li > ul > li > a {
    color: var(--grey-very-dark);
    padding: 1px 10px 3px 10px;
    font-family: "Fira_Sans_Medium", Arial, Helvetica, sans-serif;
    font-size: 0.9rem;
}

/* third level i's */
#menu-list > li > ul > li > ul > li > i.child-expand {
    color: var(--blue-light);
}


#menu-list li ul a {
    font-size: 1rem;
}

#menu-list li i.child-expand {
    width: 15px;
    line-height: 40px;
    cursor: pointer;
    padding: 0 5px 0 5px;
    font-size: 1rem;
}

#menu-list li i.child-expand:hover {
    color: var(--blue);
}





#menu-list li ul {
    display: none;
    background-color: var(--menu-background-color);
}



#search_wrap {
    float: left;
    width: 100%;
    background-color: var(--grey-light);
}

#search_holder {
    position: relative;
    margin: auto;
    max-width: var(--screen-very-large-content-width);
    min-width: var(--screen-very-large-content-width);
    padding: 2rem 0;
}

#search_shim {
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #ddd;
    position: absolute;
}

#search_top_right_shim {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 130px;
    height: 150px;
    background-image: url(/clean-assets/images/public/header-top-right-bg.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
    z-index: 6000;
}


#search_wrap form input[type=text] {
    width: 80%;
    height: 45px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-left: 3rem;
    margin: 0;
    border: none;
}

#search_wrap form input[type=text]:focus {
    box-shadow: none !important;
    border-color: none !important;
    border: none !important;
    background-color: none !important;
}

#search_wrap form button {
    float: left;
    width: 15%;
    height: 45px;
    line-height: 45px;
    background-color: #fff;
    color: var(--input-font-color);
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border: none;
}


/*// full width "mega menu" sub nav ///*/
@media screen and (min-width: 1150px) {
    #menu-list > li > ul {
        position: absolute;
        background-color: #fff;
        width: 100%;
        top: 60px;
        left: 0;
        z-index: 1;
        margin-top: 1rem;
        /* box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);*/
    }

    #menu-list > li > ul > li {
        width: 20%;
        margin-right: 3rem;
    }

    #menu-list > li > ul > li:last-child {
        width: 20%;
        margin-right: 0;
    }
}

/* // medium/small foundation menu // */
@media screen and (max-width: 1150px) {
    #menu-list > li {
        width: 100%;
    }

    #menu-list > li > ul > li {
        width: 100%;
    }

    #menu-list li a {
        width: calc(100% - 15px);
    }

    #menu_holder {
        padding: 3rem 5rem 3rem 5rem;
        margin-bottom: 7rem;
    }

    #search_top_right_shim {
        display: none;
    }

    /* second level ul */
    #menu-list > li > ul {
        padding-left: 2rem;
    }

    /* second level paras */
    #menu-list > li > ul > li > div > p {
        display: none;
    }

    #menu-list > li.show-responded {
        display: block !important;
    }
}

@media screen and (max-width: 1300px) {
    #search_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }
}

@media screen and (max-width: 640px) {
    #search_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }
}

/*@media screen and (min-width: 1100px) {

    #search_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }*/

/*#search_top_right_shim {
        display: none;
    }*/
/*}*/

/*@media screen and (max-width: 1300px) {
    #search_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }
}*/

/*@media screen and (max-width: 1240px) {
    #search_top_right_shim {
        display: none;
    }
}*/

@media screen and (max-width: 640px) {
    #menu-open-btn {
        width: 50px;
    }
}





#filter-data li {
    height: 30px;
    line-height: 30px;
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
}

#filter-data li.filter-item-archive {
    margin-top: 3rem;
    font-size: 1.2rem;
    color: var(--blue-dark);
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
}

#filter-data li input[type=checkbox] {
    margin: 0.8rem 1rem 0 0;
}

#filter-hr {
    border: solid 1px #ccc;
    border-width: 1px 0 0;
    clear: both;
    margin: 1rem 0 1rem;
    height: 0;
    width: 85%;
}

#filter-data li a {
    color: var(--font-color)
}

#filter-data li a:hover,
#filter-data li.active a {
    text-decoration: underline;
}


/*////////////////////// HORIZONTAL MENU //////////////////////*/
/*ul#main-menu {*/
/* float: left;
    width: 100%;*/
/*min-height: 100%;
    text-align: center;
    width: auto;
    float: none;
}

#main-menu li {*/
/* float: left;
        width: auto;*/
/*float: none !important;
    width: auto !important;
    display: inline-block;
    transition: background-color 200ms ease-out 0s;
}

#main-menu li:hover {
    background-color: var(--accent-hover-color);
}

#main-menu li > a,
#main-menu li > ul li > a,
#main-menu li > ul li > ul li > a {
    color: #fff;
    width: 100%;
    height: 100%;*/
/* padding: 0 22px;*/
/*padding: 0 10px;
    color: #fff;
    font-size: 1.2rem;
    line-height: 60px;
    display: inline-block;
}

#main-menu li > i {
    padding-right: 1rem;
}

#main-menu li > ul {
    display: none;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
    max-width: 300px;
    background-color: var(--accent-hover-color);
}

#main-menu li > ul li {
    position: relative;
    float: left;
    width: 100% !important;
    text-align: left;
}

#main-menu li > ul li > ul {
    position: relative;
    top: 0;
    left: 300px;
}

#main-menu li > ul li:hover {
    background-color: #203763;
}

#main-menu li:hover > ul {
    display: block;
    position: absolute;
}

#main-menu li > ul > li:hover > ul {
    display: block;
    position: absolute;
}*/
/*////////////////////// CONTENT //////////////////////*/
#page_title {
    float: left;
    width: 100%;
    border-bottom: 1px solid var(--bottom-border-color);
    margin: 3rem 0 3rem 0;
    color: var(--accent-font-color);
    text-align: center;
}

#page_title ul {
    padding-left: 0.9375rem;
}

#page_title i {
    font-size: 1.2rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

#page_menu {
    width: 16rem;
    float: left;
}

#page_menu li {
    border-bottom: 1px solid var(--bottom-border-color);
}

#page_menu li a {
    padding: 0.70rem 1rem 0.70rem 1rem;
    text-indent: 0;
    display: block;
    color: var(--font-color);
    background-color: var(--accent-color);
    transition: background-color 200ms ease-out 0s;
}

#page_menu li a:hover {
    background-color: var(--accent-hover-color);
}

#page_menu li i {
    margin-right: 0.5rem;
}

#page_content {
    float: left;
    width: calc(100% - 17.875rem);
    min-width: 725px;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem;
    padding: 0 0 1rem 0;
}

#page_content form {
    padding: 1rem 0 0 0;
}


/*/////////////// FLEX WRAPPER //////////////*/
.flex-container {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    column-gap: 2rem;
}

.flex-container ul {
    list-style-type: disc;
    list-style-position: outside;
    padding-left: 1rem;
}

.flex-container li {
    margin-bottom: 1.3rem;
    padding-left: 1rem;
}


/*/////////////////// FULL WIDTH ///////////////////*/
.full-width-block-item {
    float: left;
    width: 100%;
    height: auto;
    margin-bottom: 4rem;
    position: relative;
}

.full-width-block-item h3 {
    font-size: 2.3rem;
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
    color: var(--grey-light-alt);
}

.full-width-block-item h3 span.first-word {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}

.full-width-block-item video {
    width: 100%;
    height: 100%;
}

/*/////////////////// FULL WIDTH SPLIT CONTENT //////////////////*/
.split-content-block-item {
    float: left;
    width: 100%;
    height: auto;
    margin-bottom: 4rem;
    color: var(--white);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    position: relative;
}

.split-content-block-item h3 {
    font-size: 2.3rem;
    font-family: "Fira_Sans_Extra_Light", Arial, Helvetica, sans-serif;
    color: var(--white);
}

.split-content-block-item h3 span.first-word {
    font-family: "Fira_Sans_Extra_Bold", Arial, Helvetica, sans-serif;
}

.split-content-block-item .content-area {
    padding: 3rem;
}

.split-content-block-item .content-area .content-title {
    font-weight: 900;
}

.split-content-block-item .blue {
    background-image: url(/clean-assets/images/public/shard-split-content.png);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-color: var(--blue);
    background-size: contain;
}

.split-content-block-item .blue-very-dark {
    background-color: var(--blue-very-dark);
}

.split-content-block-item .white {
    /* border: solid 1px var(--grey-light);*/
    color: var(--grey);
}

.split-content-block-item .white h3 {
    color: var(--grey-light-alt);
}

.split-content-block-item .white h3 span.first-word {
    color: var(--blue)
}

.split-content-block-item img {
    object-fit: cover;
}

.split-content-block-item .inner-pad {
    /*padding: 5rem 4rem 7rem 4rem;*/
    padding: 7rem 4rem 5rem 4rem;
}

.split-content-block-item h3 {
    color: var(--white);
}

.split-content-block-item .no-background-img {
    background-image: none;
}

/*.split-content-block-item .split-pad-content {
    padding: 3rem;
}*/
/*.split-content-block-item .split-pad-content.white {

}
.split-content-block-item .split-pad-content.blue {
    background-color: var(--blue);
}*/
@media screen and (max-width: 1024px) {
    .split-content-block-item .inner-pad {
        padding: 3rem 4rem 3rem 4rem;
    }
}

@media screen and (max-width: 810px) {
    .split-content-block-item .inner-pad {
        padding: 3rem 4rem 3rem 4rem;
    }
}

/* only flex on large screens */
@media screen and (min-width: 1024px) {
    .split-content-block-item {
        display: flex;
    }

    .split-content-block-item .blue {
        display: flex;
    }

    .split-content-block-item .image {
        display: flex;
    }
}


/*/////////////////// FLEX SHADOW COLUMNS //////////////////*/
.flex-box-shadow-item {
    float: left;
    padding: 0 0 4rem 0;
    margin-bottom: 4rem;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    position: relative;
}

.flex-box-shadow-item h3 {
    font-size: 2.3rem;
    font-family: "Fira_Sans_Extra_Light", Arial, Helvetica, sans-serif;
    color: var(--grey-light-alt);
}

.flex-box-shadow-item h3 span.first-word {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}


.flex-box-shadow-item h3.green {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    line-height: 2.5rem;
    font-size: 2rem;
    color: var(--green-dark);
    text-transform: none;
}

.flex-box-shadow-item.full-inner-pad {
    padding: 3rem !important;
}

.flex-box-shadow-item.col-1 {
    width: calc(100% - 1rem) !important;
}

.flex-box-shadow-item.col-2 {
    width: calc(50% - 1rem) !important;
}

.flex-box-shadow-item.col-2-3 {
    width: calc(66.8% - 1rem) !important;
}

.flex-box-shadow-item.col-3 {
    width: calc(33.45% - 1.5rem) !important;
}

.flex-box-shadow-item.col-3-4 {
    width: calc(75% - 0.5rem) !important;
}

.flex-box-shadow-item.col-4 {
    width: calc(25% - 1.5rem) !important;
}

.flex-box-shadow-item .img-holder {
    position: relative;
}

.flex-box-shadow-item .img-shim {
    position: absolute;
    left: 2rem;
    bottom: -2.5px;
    width: 20%;
    height: 5px;
    background-color: var(--grey);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    padding: 0 2rem 0 2rem;
}

.flex-box-shadow-item.grey {
    background-color: var(--grey-light);
}

.flex-box-shadow-item .img-shim.blue {
    background-color: var(--blue-dark);
}

.flex-box-shadow-item .img-shim.white {
    background-color: var(--white);
}

.flex-box-shadow-item .img-shim.green {
    background-color: var(--green);
}

.flex-box-shadow-item .more-link {
    position: absolute;
    left: 0;
    bottom: 0;
    margin-bottom: 2rem;
}

.flex-box-shadow-item.no-shadow {
    box-shadow: none !important;
}

.flex-box-shadow-item .inner-pad {
    padding: 0rem 2rem 5rem 2rem !important;
}

.flex-box-shadow-item.blue {
    background-image: url(/clean-assets/images/public/shard-quarter-content.png);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-color: var(--blue);
    background-size: contain;
    color: var(--white);
}

.flex-box-shadow-item.blue h3 {
    font-size: 2.3rem;
    font-family: "Fira_Sans_Extra_Light", Arial, Helvetica, sans-serif;
    color: var(--white);
}

.flex-box-shadow-item.blue h3 span.first-word {
    font-family: "Fira_Sans_Extra_Bold", Arial, Helvetica, sans-serif;
    color: var(--white);
}

@media screen and (max-width: 1024px) {
    .flex-box-shadow-item.no-shadow {
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2) !important;
    }

    .flex-box-shadow-item .inner-pad {
        padding: 0rem 2rem 10rem 2rem !important;
    }

    .flex-box-shadow-item.col-2 {
        width: 100% !important;
    }

    /*.flex-box-shadow-item.col-2-3 {
        width: 100% !important;
    }*/

    .flex-box-shadow-item.col-3-4 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-4 {
        width: 100% !important;
    }

    /*.flex-box-shadow-item.col-4 {
        width: calc(50% - 1rem) !important;
    }*/
}

@media screen and (max-width: 810px) {
    .flex-box-shadow-item.no-shadow {
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2) !important;
    }

    .flex-box-shadow-item .inner-pad {
        padding: 0rem 2rem 8rem 2rem !important;
    }

    .flex-box-shadow-item.col-2-3 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-3 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-3-4 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-4 {
        width: 100% !important;
    }
}




/*////////////////////// FOOTER //////////////////////*/
#footer_banner_wrap {
    width: 100%;
    min-height: 275px;
    background-image: url(/clean-assets/images/public/footer-top-bg.png);
    background-repeat: no-repeat;
    /*background-position: bottom left;*/
    background-color: transparent;
    background-size: cover;
    z-index: 9000;
    position: absolute;
    bottom: 0;
    left: 0;
}

#footer_wrap h3, #footer_wrap h4, #footer_wrap h5, #footer_wrap h6 {
    color: var(--footer-heading-color);
}

#footer_top_wrap {
    width: 100%;
    float: left;
    background-color: var(--footer-top-background-color);
    color: var(--white);
}

#footer_top_holder {
    margin: auto;
    padding: 5rem 0 4rem 0;
    max-width: var(--screen-large-content-width);
    min-width: var(--screen-large-content-width);
}

#footer_top_holder p {
    color: var(--white);
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
}

#footer_top_holder a {
    color: var(--white);
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
}

#footer_top_holder a.directions_link {
    color: var(--white);
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
}

#footer_top_holder hr {
    border: solid 1px var(--white);
}

#footer_top_holder img.footer_logo {
    width: 60%;
}

#footer_top_holder h4#faster-futher-smarter {
    margin-top: 1rem;
    margin-bottom: 2rem;
    font-family: "Fira_Sans_Extra_Light", Arial, Helvetica, sans-serif;
    font-size: 2rem;
}

#footer_btm_wrap {
    width: 100%;
    float: left;
    background-color: var(--footer-btm-background-color);
    color: var(--white);
}

#footer_btm_holder {
    margin: auto;
    min-height: 70px;
    line-height: 70px;
    padding: 2rem 0 2rem 0;
    max-width: var(--screen-large-content-width);
    min-width: var(--screen-large-content-width);
}

#footer_btm_holder p {
    color: var(--white);
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
}

#footer_btm_holder a {
    color: var(--white);
    font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;
}

#footer_btm_page_links li {
    margin-right: 0.25rem;
}

#footer_btm_page_links li:last-child {
    margin-right: 0;
}

#social_links li {
    background-color: #fff;
    border-radius: 100%;
    width: 50px;
    height: 50px;
    margin-right: 1rem;
}

#social_links li a {
    display: block;
    color: var(--anchor-color);
}

#social_links li a:hover {
    color: var(--accent-color);
}

#social_links li i {
    width: 50px;
    height: 50px;
    margin-top: 38%;
    text-align: center;
    vertical-align: middle;
}
/*////////////////////// NEWSLETTER SIGNUP //////////////////////*/
#newsletter_signup {
    float: right;
    width: 100%;
}

#newsletter_signup form input[type=text] {
    width: 85%;
    height: 50px;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-left: 2rem;
    margin: 0;
    border: none;
}

#newsletter_signup form button {
    float: left;
    width: 15%;
    height: 50px;
    line-height: 30px;
    background-color: var(--green);
    /*color: var(--input-font-color);*/
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border: none;
}

#newsletter_signup form button i {
    color: var(--white);
}

/*////////////////// CONTENT LISTS //////////////////*/
ul .col-2-box-shadow li {
    padding: 0;
    margin: 0 2rem 0 0;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
}

ul.col-2-box-shadow li:nth-child(2n+2) {
    margin: 0;
}

ul.col-2-box-shadow li h3 {
    color: var(--grey-light-alt);
}

@media screen and (min-width: 1024px) {
    ul.col-2-box-shadow li {
        width: 48.587%;
    }
}
/*////////////////////// PAGER //////////////////////*/
.pager-wrap {
    float: left;
    width: 100%;
    padding: 0.75rem 1rem;
    margin: 0;
    background-color: var(--accent-color);
    color: #fff;
}

ul.pager-list li:first-child {
    margin-right: 1rem;
}

ul.pager-list li {
    float: left;
    width: auto;
    margin-right: 0.25rem;
    line-height: 26px;
}

ul.pager-list li:last-child {
    margin-right: 0;
}

ul.pager-list li a {
    color: #fff;
    width: 26px;
    height: 26px;
    display: block;
    text-align: center;
}

ul.pager-list li a:hover {
    color: #fff;
    background-color: var(--accent-hover-color);
    border-radius: 13px;
}

ul.pager-list li a.active {
    color: #fff;
    background-color: var(--accent-hover-color);
    border-radius: 13px;
}

/*//////////////// FILE UPLOADER ///////////////////*/
ul.upload-list li {
    position: relative;
}

ul.upload-list li .file-wrap {
    z-index: 8000;
}

ul.upload-list li .file-icons {
    width: 40px;
    float: left;
    position: relative;
}

ul.upload-list li .file-name {
    width: calc(100% - 40px);
    float: left;
    padding: 6px 0;
    position: relative;
}

ul li .file-progress {
    z-index: 1;
    width: 0px;
    height: 100%;
    position: absolute;
    background: #dbdbdb;
    opacity: 0.5;
    left: 0px;
    top: 0px;
}


/*///////////// DATA LIST /////////////////*/
ul.data {
    width: 100%;
    padding: 0;
}

ul.data li {
    padding: 0.75rem;
    margin-bottom: 0;
    border-bottom: solid 1px var(--bottom-border-color);
}

ul.data li:last-child {
    border-bottom: none;
}

ul.data > li.title {
    padding-left: 1rem;
    padding-right: 1rem;
    color: #fff;
}

ul.data > li.no_data {
    /* padding-left: 1rem;
    padding-right: 1rem;
    color: #fff;*/
    padding: 0.75rem 1rem;
    margin: 0;
    background-color: var(--accent-color);
}

ul.data > li.active {
    background-color: var(--bottom-border-color);
}

ul.data li.ui-sortable-placeholder {
    width: 100%;
    padding: 1rem;
    margin-bottom: 0;
    border: 1px dashed var(--accent-font-color);
    height: 38px !important;
}

ul.data li img {
    margin: auto !important;
}

ul.data li h2,
ul.data li h3 {
    float: left;
    width: 100%;
    text-align: left;
    margin: 0 0 0.75rem 0;
}
/*////////////////////// FORMS //////////////////////*/
.form-wrap {
    float: left;
    width: 100%;
}

.form-row {
    float: left;
    width: 100%;
    margin-bottom: 1em;
    line-height: 35px;
}


#simple-filter input[type=text] {
    height: 50px;
    width: 84%;
    padding-left: 3rem;
    padding-right: 0;
    background-color: var(--grey-light);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border-right: none;
}

#simple-filter input[type=text]:focus {
    box-shadow: none !important;
    border-color: none !important;
    border: none !important;
}

#simple-filter button {
    float: left;
    width: 11%;
    height: 50px;
    line-height: 30px;
    padding-right: 2.5rem;
    background-color: var(--grey-light);
    color: var(--input-font-color);
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

ul.checkbox-small-list li label {
    padding: 2px 0;
}

ul.checkbox-small-list li input[type=checkbox] {
    margin-top: 0.5rem;
}

/*///////////// MESSAGE AREAS /////////////////*/
.success_holder, .info_holder, .validation-summary-errors {
    float: left;
    width: 100%;
    padding: 2.5rem;
    line-height: 1rem;
    margin: 0;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}

.success_holder {
    /*background: url(/assets/images/icons/success.png) no-repeat scroll 10px 15px #ebf7ef;*/
    background-color: #ebf7ef;
    border: 1px solid #d2ecdc;
    color: #55B778;
}

.info_holder {
    /*background: url(/assets/images/icons/info.png) no-repeat scroll 10px 15px #e0f0f7;*/
    background-color: #e0f0f7;
    border: 1px solid #c4e2f0;
    color: #369CCB;
}

.validation-summary-errors {
    /*background: url(/assets/images/icons/error.png) no-repeat scroll 10px 15px #f5e0e3;*/
    background-color: #f5e0e3;
    border: 1px solid #d2ecdc;
    color: #C13E4D;
}

.validation-summary-errors span {
    float: left;
    width: 100%;
    margin-bottom: 1rem;
}

.validation-summary-errors ul {
    float: left;
    margin: 0px;
}

.validation-summary-errors ul li {
    width: 100%;
    display: list-item;
    min-height: 20px;
    line-height: 20px;
    list-style: disc inside;
}

.field-validation-error {
    float: right;
    color: #B5453C;
}

.field-validation-valid {
    display: none;
}

input[type=text].input-validation-error, input[type=password].input-validation-error, input[type=date].input-validation-error, textarea.input-validation-error, select.input-validation-error {
    background-color: #f5e0e3;
    border: 1px solid #ecc5ca;
}


#newsletter_signup .validation-summary-errors {
    padding: 1rem;
}
/*///////////// VIDEO /////////////////*/
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

@media screen and (max-width: 810px) {
    #main-menu {
        display: none;
    }

    #menu_wrap {
        display: block;
    }
}



button#ihavecookiesBtn {
    margin-left: 0px !important;
}
/* Cookie Dialog */
#gdpr-cookie-message {
    position: fixed;
    right: 30px;
    bottom: 30px;
    max-width: 375px;
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 6px 6px rgba(0,0,0,0.25);
    margin-left: 30px;
    font-family: system-ui;
    z-index: 9000;
}

#gdpr-cookie-message h4 {
    color: var(--blue);
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
}

#gdpr-cookie-message h5 {
    color: var(--blue);
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
}

#gdpr-cookie-message p, #gdpr-cookie-message ul {
    color: #000;
    font-size: 15px;
    line-height: 1.5em;
}

#gdpr-cookie-message p:last-child {
    margin-bottom: 0;
    text-align: right;
}

#gdpr-cookie-message li {
    width: 49%;
    display: inline-block;
}

#gdpr-cookie-message a {
    color: var(--blue);
    text-decoration: none;
    font-size: 15px;
    padding-bottom: 2px;
    border-bottom: 1px dotted rgba(255,255,255,0.75);
    transition: all 0.3s ease-in;
}

#gdpr-cookie-message a:hover {
    color: #fff;
    color: var(--blue);
    transition: all 0.1s ease-in;
}

#gdpr-cookie-message button,
button#ihavecookiesBtn {
    border: none;
    color: var(--blue);
    color: #fff;
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    font-size: 15px;
    padding: 7px;
    border-radius: 3px;
    margin-left: 15px;
    cursor: pointer;
    transition: all 0.1s ease-in;
}

#gdpr-cookie-message button:hover {
    background: var(--green);
    color: var(--white);
    transition: all 0.1s ease-in;
}

button#gdpr-cookie-advanced {
    background: #fff;
    color: var(--blue);
}

#gdpr-cookie-message button:disabled {
    opacity: 0.3;
}

#gdpr-cookie-message input[type="checkbox"] {
    float: none;
    margin-top: 0;
    margin-right: 5px;
}



/*////////////////////// OVERRIDES //////////////////////*/
.noscroll {
    overflow: hidden;
}

.block {
    display: block !important;
}

.hide {
    display: none !important;
}

.inline {
    display: inline;
}

.full_width {
    width: 100%;
}

.site_auto {
    margin: auto;
    max-width: 1600px;
    min-width: 950px;
}

.auto, ul.auto li {
    width: auto;
}

.right {
    float: right !important;
}

.txt-right {
    text-align: right !important;
}

.left {
    float: left !important;
}

.txt-left {
    text-align: left !important;
}

.no-border {
    border: none !important;
}

.no-margin {
    margin: 0 !important;
}

.no-pad {
    padding: 0 !important;
}

.no-pad-btm {
    padding-bottom: 0 !important;
}

.no-pad-left {
    padding-left: 0 !important;
}

.no-pad-right {
    padding-right: 0 !important;
}

.margin-auto {
    margin: auto;
}

.margin-top-1 {
    margin-top: 1rem !important;
}

.margin-top-2 {
    margin-top: 2rem !important;
}

.margin-top-3 {
    margin-top: 3rem !important;
}

.margin-top-4 {
    margin-top: 4rem !important;
}

.margin-top-5 {
    margin-top: 5rem !important;
}

.margin-btm-1 {
    margin-bottom: 1rem !important;
}

.margin-btm-2 {
    margin-bottom: 2rem !important;
}

.margin-btm-3 {
    margin-bottom: 3rem !important;
}

.margin-btm-4 {
    margin-bottom: 4rem !important;
}

.margin-btm-5 {
    margin-bottom: 5rem !important;
}

.margin-btm-6 {
    margin-bottom: 6rem !important;
}

.margin-btm-7 {
    margin-bottom: 7rem !important;
}


.margin-right-1 {
    margin-right: 1rem !important;
}

.margin-right-2 {
    margin-right: 2rem !important;
}

.margin-right-3 {
    margin-right: 3rem !important;
}

.margin-left-1 {
    margin-left: 1rem !important;
}

.pad-top-1 {
    padding-top: 1rem !important;
}

.pad-top-2 {
    padding-top: 2rem !important;
}

.pad-top-3 {
    padding-top: 3rem !important;
}

.pad-top-4 {
    padding-top: 4rem !important;
}

.pad-top-9 {
    padding-top: 9rem !important;
}

.pad-btm-1 {
    padding-bottom: 1rem !important;
}

.pad-btm-2 {
    padding-bottom: 2rem !important;
}

.pad-btm-3 {
    padding-bottom: 3rem !important;
}

.pad-btm-4 {
    padding-bottom: 4rem !important;
}

.pad-btm-5 {
    padding-bottom: 5rem !important;
}

.pad-btm-20 {
    padding-bottom: 20rem !important;
}

.pad-left-1 {
    padding-left: 1rem !important;
}

.pad-left-2 {
    padding-left: 2rem !important;
}

.pad-left-3 {
    padding-left: 3rem !important;
}

.pad-left-4 {
    padding-left: 4rem !important;
}

.pad-right-1 {
    padding-right: 1rem !important;
}

.pad-right-2 {
    padding-right: 2rem !important;
}

.pad-right-3 {
    padding-right: 3rem !important;
}

.pad-right-4 {
    padding-right: 4rem !important;
}

.pad-left-right-1 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.pad-left-right-2 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.pad-left-right-3 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

.pad-left-right-4 {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
}

.w5 {
    width: 5px;
}

.w10 {
    width: 10px;
}

.w15 {
    width: 15px;
}

.w20 {
    width: 20px;
}

.w25 {
    width: 25px;
}

.w30 {
    width: 30px;
}

.w35 {
    width: 35px;
}

.w40 {
    width: 50px;
}

.w45 {
    width: 55px;
}

.w50 {
    width: 50px;
}

/*///////////// VERY LARGE /////////////////*/
@media screen and (min-width: 1500px) {
    #header_holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }

    #breadcrumb_holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }

    #content_holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }

    #footer_top_holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }

    #footer_btm_holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }

    #title_holder {
        max-width: 750px;
        right: var(--banner-very-large-right-content-position);
    }

    #banner_top_right_shim {
        right: var(--banner-very-large-right-content-position);
    }


    #content-top-shim-holder {
        padding: 9rem 7rem 1rem 15rem;
    }


    #product-footer-holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }

    .content_pad_btm {
        padding-bottom: 30rem !important;
    }

    #footer_banner_wrap {
        min-height: 375px;
    }

    #product_wrap #blue-sidebar {
        padding: 6rem 5rem 5rem 5rem;
    }

    #product_wrap #product-file-wrap {
        padding-bottom: 30rem !important;
    }

    #product_wrap #product-file-holder {
        max-width: var(--screen-very-large-content-width);
        min-width: var(--screen-very-large-content-width);
    }
}

/*///////////// FOUNDATION LARGE /////////////////*/
@media screen and (max-width: 1024px) {
    #header_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #breadcrumb_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #content_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #footer_top_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #footer_btm_holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #product_wrap #product-file-holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #product-footer-holder {
        max-width: var(--screen-large-content-width);
        min-width: var(--screen-large-content-width);
    }

    #support_wrap {
        display: none;
    }

    #title_holder {
        max-width: 250px;
    }

    #social_wrap {
        text-align: center;
    }

    #social_links {
        float: none;
        width: auto;
        margin: auto;
        display: inline-block;
        text-align: left;
    }
}

/*///////////// FOUNDATION MEDIUM /////////////////*/
@media screen and (max-width: 1024px) {
    #header_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    /*#search_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }*/

    #breadcrumb_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    #content_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    #footer_top_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    #footer_btm_holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    .medium-pad-1-left-right {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .medium-margin-btm-1 {
        margin-bottom: 1rem;
    }

    .medium-margin-btm-2 {
        margin-bottom: 2rem;
    }

    .medium-float-left {
        float: left !important;
    }

    .medium-no-pad-right {
        padding-right: 0;
    }

    .medium-no-pad-left {
        padding-left: 0;
    }

    .medium-hide {
        display: none !important;
    }

    .medium-show {
        display: block !important;
    }

    ul.medium-list-centre {
        display: block;
        position: relative;
        text-align: center;
        float: none !important;
    }

    ul.medium-list-centre li {
        display: inline;
        width: auto;
        float: none !important;
    }

    #logo_wrap img {
        width: 40%;
    }

    img.footer_logo {
        width: 50%;
    }

    #banner_top_right_shim {
        /*width: 90px;
        height: 100px;*/
        display: none;
    }

    #banner_btm_bg_shim {
        min-height: 250px;
    }

    #footer_banner_wrap {
        min-height: 250px;
    }

    #product_wrap #flex-container-product {
        display: block;
        flex: none !important;
    }

    #product_wrap #blue-sidebar {
        padding: 6rem 5rem 5rem 5rem;
    }

    #product_wrap #blue-sidebar-shim {
        width: 100%;
    }

    #product_wrap #product-file-holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }

    #product_wrap #product-footer-holder {
        max-width: var(--screen-medium-content-width);
        min-width: var(--screen-medium-content-width);
    }
}

/*///////////// FOUNDATION SMALL /////////////////*/
@media screen and (max-width: 640px) {
    #header_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    /*#search_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }*/

    #breadcrumb_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    #content_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    #footer_top_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    #footer_btm_holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    #product_wrap #product-file-holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    #product-footer-holder {
        max-width: var(--screen-small-content-width);
        min-width: var(--screen-small-content-width);
    }

    #banner_top_right_shim {
        display: none;
        /* right: var(--banner-small-right-content-position);
        height: 70px;*/
    }

    #title_holder {
        right: var(--banner-small-right-content-position);
        top: 40%;
    }

    /*    .medium-no-pad-right {
        padding-right: 0;
    }

    .medium-no-pad-left {
        padding-left: 0;
    }*/

    /*#banner_top_right_shim {
        width: 50px;
        height: 70px;
    }

    #banner_btm_bg_shim {
        min-height: 150px;
    }
*/


    #footer_banner_wrap {
        min-height: 150px;
    }

    #logo_wrap img {
        width: 80%;
    }

    img.footer_logo {
        width: 70%;
    }
}

/*///////////// VERY SMALL SCREEN /////////////////*/
@media screen and (max-width: 400px) {
    #banner_top_right_shim {
        right: var(--banner-very-small-right-content-position);
        height: 50px;
    }

    #simple-filter input[type=text] {
        width: 77%;
    }

    #title_holder {
        width: 100px;
        right: var(--banner-very-small-right-content-position);
    }

    #social_links li {
        margin-right: 0.3rem;
    }
}



.cssload-msg {
    position: fixed;
    top: 50%;
    left: 52%;
    transform: translate(-52%, -50%);
    color: #fff;
    width: 500px !important;
    font-size: 1.2rem;
    text-align: center;
    margin: auto;
}

.cssload-spin-box {
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -o-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -ms-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -webkit-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -moz-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    animation: cssload-spin ease infinite 4.6s;
    -o-animation: cssload-spin ease infinite 4.6s;
    -ms-animation: cssload-spin ease infinite 4.6s;
    -webkit-animation: cssload-spin ease infinite 4.6s;
    -moz-animation: cssload-spin ease infinite 4.6s;
}

@keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-o-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-ms-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-webkit-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-moz-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}
