@charset "utf-8";

/*
Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
/* Basics
	========================================================================== */
html {
    box-sizing: border-box;
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-y: scroll;
    /*image-rendering: -webkit-optimize-contrast;*/
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

body {
    background: #fff;
    margin: 0;
}


/* Try to remove 300ms delay on mobile devices */
/* Hopefully help with GSC Core Web Vitals */
button,
a,
[role="button"],
input[type="button"],
input[type="submit"],
input[type="reset"],
.quick-click-mobile {
    touch-action: manipulation;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline;
}

    audio:not([controls]) {
        display: none;
        height: 0;
    }

[hidden],
template {
    display: none;
}

/* Links
	========================================================================== */
a {
    background-color: transparent;
}

    a:active, a.nice-select.open,
    a:hover {
        outline: 0;
    }

/* Text-level semantics
	========================================================================== */
abbr[title] {
    border-bottom: 1px dotted;
}

b,
strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1, .h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h2, .h2 {
    font-size: 1.5em;
    margin: 0.67em 0;
}


mark {
    background: #ff0;
    color: #000;
}

small,
.small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.5em;
}


/* Embedded content
	========================================================================== */
img {
    border: 0;
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
}

svg:not(:root) {
    overflow: hidden;
}

/* Grouping content
	========================================================================== */
figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
	========================================================================== */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

/* try to match height and width of nice select to stop FOUC */
/* FIX FOR UGLY SELECT */
SELECT {
    background-color: #fff;
    border: 1px solid #888;
    border-radius: 3px;
    box-shadow: none;
    padding: 0 0.6em;
    line-height: 38px;
    height: 38px;
}

    SELECT.wide {
        width: 100%;
    }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

    button[disabled],
    html input[disabled] {
        /*cursor: default;*/
        cursor: not-allowed;
        opacity: .5;
    }

    button::-moz-focus-inner,
    input::-moz-focus-inner {
        border: 0;
        padding: 0;
    }

input {
    line-height: normal;
}

    input[type="checkbox"],
    input[type="radio"] {
        box-sizing: border-box;
        padding: 0;
    }

    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        height: auto;
    }

    input[type="search"] {
        box-sizing: border-box;
    }

        input[type="search"]::-webkit-search-cancel-button {
            cursor: pointer;
        }


        /*input[type="search"]::-webkit-search-cancel-button,*/
        input[type="search"]::-webkit-search-decoration {
            -webkit-appearance: none;
            -moz-appearance: textfield;
        }

    INPUT::-webkit-input-placeholder {
        color: #ccc;
        transition: color .3s;
    }

    INPUT::-moz-placeholder {
        color: #ccc;
        opacity: 1;
        transition: color .3s;
    }
    /* firefox 19+ */
    INPUT:-ms-input-placeholder {
        color: #ccc !important;
        transition: color .3s;
    }
    /* ie */
    INPUT:-moz-placeholder {
        color: #ccc;
        transition: color .3s;
    }

    INPUT::placeholder {
        color: #ccc;
        transition: color .3s;
    }

    INPUT:focus::-webkit-input-placeholder {
        color: #eee;
    }

    INPUT:focus::-moz-placeholder {
        color: #eee;
    }
    /* firefox 19+ */
    /*INPUT:focus:-ms-input-placeholder    { color:#eee !important; }  ie [doesn't work] */
    INPUT:focus:-moz-placeholder {
        color: #eee;
    }

    INPUT:focus::placeholder {
        color: #eee;
    }

TEXTAREA::-webkit-input-placeholder {
    color: #ccc;
}

TEXTAREA::-moz-placeholder {
    color: #ccc;
    opacity: 1;
}
/* firefox 19+ */
TEXTAREA:-ms-input-placeholder {
    color: #ccc !important;
}
/* ie */
TEXTAREA:-moz-placeholder {
    color: #ccc;
}

TEXTAREA::placeholder {
    color: #ccc;
}

TEXTAREA:focus::-webkit-input-placeholder {
    color: #eee;
}

TEXTAREA:focus::-moz-placeholder {
    color: #eee;
}
/* firefox 19+ */
/*TEXTAREA:focus:-ms-input-placeholder      { color:#eee !important; }  ie [doesn't work] */
TEXTAREA:focus:-moz-placeholder {
    color: #eee;
}

TEXTAREA:focus::placeholder {
    color: #eee;
}


fieldset {
    border: none;
    margin: 0;
    padding: 0;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

kbd {
    position: relative;
    top: -1px;
    display: inline-block;
    color: #363636;
    text-decoration: none;
    text-align: center;
    background: #fff;
    padding: 3px 7px;
    margin: 0 3px;
    border: 1px solid #c3c3c3;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-box-shadow: 0 1px 0 #c3c3c3, 0 2px 0 #c9c9c9;
    -moz-box-shadow: 0 1px 0 #c3c3c3, 0 2px 0 #c9c9c9;
    box-shadow: 0 1px 0 #c3c3c3, 0 2px 0 #c9c9c9;
    text-shadow: 0 1px 0 #f6f6f6;
    line-height: 1;
}

.nobr {
    white-space: nowrap;
}

/*
 * Bootstrap Grid v4.1.2 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@-ms-viewport {
    width: device-width;
}

html {
    box-sizing: border-box;
    -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 1200px) {
    .container {
        max-width: 1240px;
    }
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

    .no-gutters > .col,
    .no-gutters > [class*="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.col-1 {
    flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
}

.col-2 {
    flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
}

.col-5 {
    flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
}

.col-8 {
    flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
}

.col-11 {
    flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    order: -1;
}

.order-last {
    order: 13;
}

.order-0 {
    order: 0;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.order-4 {
    order: 4;
}

.order-5 {
    order: 5;
}

.order-6 {
    order: 6;
}

.order-7 {
    order: 7;
}

.order-8 {
    order: 8;
}

.order-9 {
    order: 9;
}

.order-10 {
    order: 10;
}

.order-11 {
    order: 11;
}

.order-12 {
    order: 12;
}

.offset-1 {
    margin-left: 8.3333333333%;
}

.offset-2 {
    margin-left: 16.6666666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.3333333333%;
}

.offset-5 {
    margin-left: 41.6666666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.3333333333%;
}

.offset-8 {
    margin-left: 66.6666666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.3333333333%;
}

.offset-11 {
    margin-left: 91.6666666667%;
}

@media (min-width: 576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-sm-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-sm-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-sm-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-sm-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-sm-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-sm-first {
        order: -1;
    }

    .order-sm-last {
        order: 13;
    }

    .order-sm-0 {
        order: 0;
    }

    .order-sm-1 {
        order: 1;
    }

    .order-sm-2 {
        order: 2;
    }

    .order-sm-3 {
        order: 3;
    }

    .order-sm-4 {
        order: 4;
    }

    .order-sm-5 {
        order: 5;
    }

    .order-sm-6 {
        order: 6;
    }

    .order-sm-7 {
        order: 7;
    }

    .order-sm-8 {
        order: 8;
    }

    .order-sm-9 {
        order: 9;
    }

    .order-sm-10 {
        order: 10;
    }

    .order-sm-11 {
        order: 11;
    }

    .order-sm-12 {
        order: 12;
    }

    .offset-sm-0 {
        margin-left: 0;
    }

    .offset-sm-1 {
        margin-left: 8.3333333333%;
    }

    .offset-sm-2 {
        margin-left: 16.6666666667%;
    }

    .offset-sm-3 {
        margin-left: 25%;
    }

    .offset-sm-4 {
        margin-left: 33.3333333333%;
    }

    .offset-sm-5 {
        margin-left: 41.6666666667%;
    }

    .offset-sm-6 {
        margin-left: 50%;
    }

    .offset-sm-7 {
        margin-left: 58.3333333333%;
    }

    .offset-sm-8 {
        margin-left: 66.6666666667%;
    }

    .offset-sm-9 {
        margin-left: 75%;
    }

    .offset-sm-10 {
        margin-left: 83.3333333333%;
    }

    .offset-sm-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-md-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-md-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-md-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-md-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-md-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-md-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-md-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-md-first {
        order: -1;
    }

    .order-md-last {
        order: 13;
    }

    .order-md-0 {
        order: 0;
    }

    .order-md-1 {
        order: 1;
    }

    .order-md-2 {
        order: 2;
    }

    .order-md-3 {
        order: 3;
    }

    .order-md-4 {
        order: 4;
    }

    .order-md-5 {
        order: 5;
    }

    .order-md-6 {
        order: 6;
    }

    .order-md-7 {
        order: 7;
    }

    .order-md-8 {
        order: 8;
    }

    .order-md-9 {
        order: 9;
    }

    .order-md-10 {
        order: 10;
    }

    .order-md-11 {
        order: 11;
    }

    .order-md-12 {
        order: 12;
    }

    .offset-md-0 {
        margin-left: 0;
    }

    .offset-md-1 {
        margin-left: 8.3333333333%;
    }

    .offset-md-2 {
        margin-left: 16.6666666667%;
    }

    .offset-md-3 {
        margin-left: 25%;
    }

    .offset-md-4 {
        margin-left: 33.3333333333%;
    }

    .offset-md-5 {
        margin-left: 41.6666666667%;
    }

    .offset-md-6 {
        margin-left: 50%;
    }

    .offset-md-7 {
        margin-left: 58.3333333333%;
    }

    .offset-md-8 {
        margin-left: 66.6666666667%;
    }

    .offset-md-9 {
        margin-left: 75%;
    }

    .offset-md-10 {
        margin-left: 83.3333333333%;
    }

    .offset-md-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-lg-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-lg-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-lg-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-lg-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-lg-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-lg-first {
        order: -1;
    }

    .order-lg-last {
        order: 13;
    }

    .order-lg-0 {
        order: 0;
    }

    .order-lg-1 {
        order: 1;
    }

    .order-lg-2 {
        order: 2;
    }

    .order-lg-3 {
        order: 3;
    }

    .order-lg-4 {
        order: 4;
    }

    .order-lg-5 {
        order: 5;
    }

    .order-lg-6 {
        order: 6;
    }

    .order-lg-7 {
        order: 7;
    }

    .order-lg-8 {
        order: 8;
    }

    .order-lg-9 {
        order: 9;
    }

    .order-lg-10 {
        order: 10;
    }

    .order-lg-11 {
        order: 11;
    }

    .order-lg-12 {
        order: 12;
    }


    .offset-lg-0 {
        margin-left: 0;
    }

    .offset-lg-1 {
        margin-left: 8.3333333333%;
    }

    .offset-lg-2 {
        margin-left: 16.6666666667%;
    }

    .offset-lg-3 {
        margin-left: 25%;
    }

    .offset-lg-4 {
        margin-left: 33.3333333333%;
    }

    .offset-lg-5 {
        margin-left: 41.6666666667%;
    }

    .offset-lg-6 {
        margin-left: 50%;
    }

    .offset-lg-7 {
        margin-left: 58.3333333333%;
    }

    .offset-lg-8 {
        margin-left: 66.6666666667%;
    }

    .offset-lg-9 {
        margin-left: 75%;
    }

    .offset-lg-10 {
        margin-left: 83.3333333333%;
    }

    .offset-lg-11 {
        margin-left: 91.6666666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-xl-1 {
        flex: 0 0 8.3333333333%;
        max-width: 8.3333333333%;
    }

    .col-xl-2 {
        flex: 0 0 16.6666666667%;
        max-width: 16.6666666667%;
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 33.3333333333%;
        max-width: 33.3333333333%;
    }

    .col-xl-5 {
        flex: 0 0 41.6666666667%;
        max-width: 41.6666666667%;
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 58.3333333333%;
        max-width: 58.3333333333%;
    }

    .col-xl-8 {
        flex: 0 0 66.6666666667%;
        max-width: 66.6666666667%;
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 83.3333333333%;
        max-width: 83.3333333333%;
    }

    .col-xl-11 {
        flex: 0 0 91.6666666667%;
        max-width: 91.6666666667%;
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-xl-first {
        order: -1;
    }

    .order-xl-last {
        order: 13;
    }

    .order-xl-0 {
        order: 0;
    }

    .order-xl-1 {
        order: 1;
    }

    .order-xl-2 {
        order: 2;
    }

    .order-xl-3 {
        order: 3;
    }

    .order-xl-4 {
        order: 4;
    }

    .order-xl-5 {
        order: 5;
    }

    .order-xl-6 {
        order: 6;
    }

    .order-xl-7 {
        order: 7;
    }

    .order-xl-8 {
        order: 8;
    }

    .order-xl-9 {
        order: 9;
    }

    .order-xl-10 {
        order: 10;
    }

    .order-xl-11 {
        order: 11;
    }

    .order-xl-12 {
        order: 12;
    }

    .offset-xl-0 {
        margin-left: 0;
    }

    .offset-xl-1 {
        margin-left: 8.3333333333%;
    }

    .offset-xl-2 {
        margin-left: 16.6666666667%;
    }

    .offset-xl-3 {
        margin-left: 25%;
    }

    .offset-xl-4 {
        margin-left: 33.3333333333%;
    }

    .offset-xl-5 {
        margin-left: 41.6666666667%;
    }

    .offset-xl-6 {
        margin-left: 50%;
    }

    .offset-xl-7 {
        margin-left: 58.3333333333%;
    }

    .offset-xl-8 {
        margin-left: 66.6666666667%;
    }

    .offset-xl-9 {
        margin-left: 75%;
    }

    .offset-xl-10 {
        margin-left: 83.3333333333%;
    }

    .offset-xl-11 {
        margin-left: 91.6666666667%;
    }
}

.d-none {
    visibility: hidden !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 576px) {
    .d-sm-none {
        display: none !important;
    }

    .d-sm-inline {
        display: inline !important;
    }

    .d-sm-inline-block {
        display: inline-block !important;
    }

    .d-sm-block {
        display: block !important;
    }

    .d-sm-table {
        display: table !important;
    }

    .d-sm-table-row {
        display: table-row !important;
    }

    .d-sm-table-cell {
        display: table-cell !important;
    }

    .d-sm-flex {
        display: flex !important;
    }

    .d-sm-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }

    .d-md-inline {
        display: inline !important;
    }

    .d-md-inline-block {
        display: inline-block !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-table {
        display: table !important;
    }

    .d-md-table-row {
        display: table-row !important;
    }

    .d-md-table-cell {
        display: table-cell !important;
    }

    .d-md-flex {
        display: flex !important;
    }

    .d-md-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }

    .d-lg-inline {
        display: inline !important;
    }

    .d-lg-inline-block {
        display: inline-block !important;
    }

    .d-lg-block {
        display: block !important;
    }

    .d-lg-table {
        display: table !important;
    }

    .d-lg-table-row {
        display: table-row !important;
    }

    .d-lg-table-cell {
        display: table-cell !important;
    }

    .d-lg-flex {
        display: flex !important;
    }

    .d-lg-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }

    .d-xl-inline {
        display: inline !important;
    }

    .d-xl-inline-block {
        display: inline-block !important;
    }

    .d-xl-block {
        display: block !important;
    }

    .d-xl-table {
        display: table !important;
    }

    .d-xl-table-row {
        display: table-row !important;
    }

    .d-xl-table-cell {
        display: table-cell !important;
    }

    .d-xl-flex {
        display: flex !important;
    }

    .d-xl-inline-flex {
        display: inline-flex !important;
    }
}

@media print {
    .d-print-none {
        display: none !important;
    }

    .d-print-inline {
        display: inline !important;
    }

    .d-print-inline-block {
        display: inline-block !important;
    }

    .d-print-block {
        display: block !important;
    }

    .d-print-table {
        display: table !important;
    }

    .d-print-table-row {
        display: table-row !important;
    }

    .d-print-table-cell {
        display: table-cell !important;
    }

    .d-print-flex {
        display: flex !important;
    }

    .d-print-inline-flex {
        display: inline-flex !important;
    }
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    flex-grow: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    flex-shrink: 1 !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.align-self-auto {
    align-self: auto !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        flex-direction: row !important;
    }

    .flex-sm-column {
        flex-direction: column !important;
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important;
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-sm-fill {
        flex: 1 1 auto !important;
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-sm-start {
        justify-content: flex-start !important;
    }

    .justify-content-sm-end {
        justify-content: flex-end !important;
    }

    .justify-content-sm-center {
        justify-content: center !important;
    }

    .justify-content-sm-between {
        justify-content: space-between !important;
    }

    .justify-content-sm-around {
        justify-content: space-around !important;
    }

    .align-items-sm-start {
        align-items: flex-start !important;
    }

    .align-items-sm-end {
        align-items: flex-end !important;
    }

    .align-items-sm-center {
        align-items: center !important;
    }

    .align-items-sm-baseline {
        align-items: baseline !important;
    }

    .align-items-sm-stretch {
        align-items: stretch !important;
    }

    .align-content-sm-start {
        align-content: flex-start !important;
    }

    .align-content-sm-end {
        align-content: flex-end !important;
    }

    .align-content-sm-center {
        align-content: center !important;
    }

    .align-content-sm-between {
        align-content: space-between !important;
    }

    .align-content-sm-around {
        align-content: space-around !important;
    }

    .align-content-sm-stretch {
        align-content: stretch !important;
    }

    .align-self-sm-auto {
        align-self: auto !important;
    }

    .align-self-sm-start {
        align-self: flex-start !important;
    }

    .align-self-sm-end {
        align-self: flex-end !important;
    }

    .align-self-sm-center {
        align-self: center !important;
    }

    .align-self-sm-baseline {
        align-self: baseline !important;
    }

    .align-self-sm-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        flex-direction: row !important;
    }

    .flex-md-column {
        flex-direction: column !important;
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-md-wrap {
        flex-wrap: wrap !important;
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-md-fill {
        flex: 1 1 auto !important;
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-md-start {
        justify-content: flex-start !important;
    }

    .justify-content-md-end {
        justify-content: flex-end !important;
    }

    .justify-content-md-center {
        justify-content: center !important;
    }

    .justify-content-md-between {
        justify-content: space-between !important;
    }

    .justify-content-md-around {
        justify-content: space-around !important;
    }

    .align-items-md-start {
        align-items: flex-start !important;
    }

    .align-items-md-end {
        align-items: flex-end !important;
    }

    .align-items-md-center {
        align-items: center !important;
    }

    .align-items-md-baseline {
        align-items: baseline !important;
    }

    .align-items-md-stretch {
        align-items: stretch !important;
    }

    .align-content-md-start {
        align-content: flex-start !important;
    }

    .align-content-md-end {
        align-content: flex-end !important;
    }

    .align-content-md-center {
        align-content: center !important;
    }

    .align-content-md-between {
        align-content: space-between !important;
    }

    .align-content-md-around {
        align-content: space-around !important;
    }

    .align-content-md-stretch {
        align-content: stretch !important;
    }

    .align-self-md-auto {
        align-self: auto !important;
    }

    .align-self-md-start {
        align-self: flex-start !important;
    }

    .align-self-md-end {
        align-self: flex-end !important;
    }

    .align-self-md-center {
        align-self: center !important;
    }

    .align-self-md-baseline {
        align-self: baseline !important;
    }

    .align-self-md-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        flex-direction: row !important;
    }

    .flex-lg-column {
        flex-direction: column !important;
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important;
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-lg-fill {
        flex: 1 1 auto !important;
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-lg-start {
        justify-content: flex-start !important;
    }

    .justify-content-lg-end {
        justify-content: flex-end !important;
    }

    .justify-content-lg-center {
        justify-content: center !important;
    }

    .justify-content-lg-between {
        justify-content: space-between !important;
    }

    .justify-content-lg-around {
        justify-content: space-around !important;
    }

    .align-items-lg-start {
        align-items: flex-start !important;
    }

    .align-items-lg-end {
        align-items: flex-end !important;
    }

    .align-items-lg-center {
        align-items: center !important;
    }

    .align-items-lg-baseline {
        align-items: baseline !important;
    }

    .align-items-lg-stretch {
        align-items: stretch !important;
    }

    .align-content-lg-start {
        align-content: flex-start !important;
    }

    .align-content-lg-end {
        align-content: flex-end !important;
    }

    .align-content-lg-center {
        align-content: center !important;
    }

    .align-content-lg-between {
        align-content: space-between !important;
    }

    .align-content-lg-around {
        align-content: space-around !important;
    }

    .align-content-lg-stretch {
        align-content: stretch !important;
    }

    .align-self-lg-auto {
        align-self: auto !important;
    }

    .align-self-lg-start {
        align-self: flex-start !important;
    }

    .align-self-lg-end {
        align-self: flex-end !important;
    }

    .align-self-lg-center {
        align-self: center !important;
    }

    .align-self-lg-baseline {
        align-self: baseline !important;
    }

    .align-self-lg-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        flex-direction: row !important;
    }

    .flex-xl-column {
        flex-direction: column !important;
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important;
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-xl-fill {
        flex: 1 1 auto !important;
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-xl-start {
        justify-content: flex-start !important;
    }

    .justify-content-xl-end {
        justify-content: flex-end !important;
    }

    .justify-content-xl-center {
        justify-content: center !important;
    }

    .justify-content-xl-between {
        justify-content: space-between !important;
    }

    .justify-content-xl-around {
        justify-content: space-around !important;
    }

    .align-items-xl-start {
        align-items: flex-start !important;
    }

    .align-items-xl-end {
        align-items: flex-end !important;
    }

    .align-items-xl-center {
        align-items: center !important;
    }

    .align-items-xl-baseline {
        align-items: baseline !important;
    }

    .align-items-xl-stretch {
        align-items: stretch !important;
    }

    .align-content-xl-start {
        align-content: flex-start !important;
    }

    .align-content-xl-end {
        align-content: flex-end !important;
    }

    .align-content-xl-center {
        align-content: center !important;
    }

    .align-content-xl-between {
        align-content: space-between !important;
    }

    .align-content-xl-around {
        align-content: space-around !important;
    }

    .align-content-xl-stretch {
        align-content: stretch !important;
    }

    .align-self-xl-auto {
        align-self: auto !important;
    }

    .align-self-xl-start {
        align-self: flex-start !important;
    }

    .align-self-xl-end {
        align-self: flex-end !important;
    }

    .align-self-xl-center {
        align-self: center !important;
    }

    .align-self-xl-baseline {
        align-self: baseline !important;
    }

    .align-self-xl-stretch {
        align-self: stretch !important;
    }
}


/* START OPGI custom flexbox fun */
.container-auto-sm-col-2, .container-auto-sm-col-3, .container-auto-sm-col-4, .container-auto-sm-col-5, .container-auto-sm-col-6, .container-auto-sm-col-7, .container-auto-sm-col-8, .container-auto-sm-col-9, .container-auto-sm-col-10 {
    margin: 0 -5px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

    .container-auto-sm-col-2 > *, .container-auto-sm-col-3 > *, .container-auto-sm-col-4 > *, .container-auto-sm-col-5 > *, .container-auto-sm-col-6 > *, .container-auto-sm-col-7 > *, .container-auto-sm-col-8 > *, .container-auto-sm-col-9 > *, .container-auto-sm-col-10 > * {
        position: relative;
        width: 100%;
        min-height: 1px;
        padding: 5px;
    }


@media (min-width: 576px) {

    .container-auto-sm-col-2 > * {
        width: 50%;
    }

    .container-auto-sm-col-3 > * {
        width: 33.33%;
    }

    .container-auto-sm-col-4 > * {
        max-width: 25%;
    }

    .container-auto-sm-col-5 > * {
        max-width: 20%;
    }

    .container-auto-sm-col-6 > * {
        max-width: 16.6666666667%;
    }

    .container-auto-sm-col-7 > * {
        max-width: 14.28571428571429%;
    }

    .container-auto-sm-col-8 > * {
        max-width: 12.5%;
    }

    .container-auto-sm-col-9 > * {
        max-width: 11.11111111111111%;
    }

    .container-auto-sm-col-10 > * {
        max-width: 10%;
    }

    .container-auto-sm-col-11 > * {
        max-width: 9.090909090909091%;
    }

    .container-auto-sm-col-12 > * {
        max-width: 8.333333333333333%;
    }
}




.container-auto-50px, .container-auto-100px, .container-auto-150px, .container-auto-200px, .container-auto-250px, .container-auto-300px {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
}

    .container-auto-50px > *, .container-auto-100px > *, .container-auto-150px > *, .container-auto-200px > *, .container-auto-250px > *, .container-auto-300px > * {
        position: relative;
        min-height: 1px;
    }

    .container-auto-50px > * {
        width: 50px;
    }

    .container-auto-100px > * {
        width: 100px;
    }

    .container-auto-150px > * {
        width: 150px;
    }

    .container-auto-200px > * {
        width: 200px;
    }

    .container-auto-250px > * {
        width: 250px;
    }

    .container-auto-300px > * {
        width: 300px;
    }





/* END OPGI custom flexbox fun */




.w-25 {
    width: 25% !important;
}

.w-50 {
    width: 50% !important;
}

.w-75 {
    width: 75% !important;
}

.w-100 {
    width: 100% !important;
}

.w-auto {
    width: auto !important;
}

.h-25 {
    height: 25% !important;
}

.h-50 {
    height: 50% !important;
}

.h-75 {
    height: 75% !important;
}

.h-100 {
    height: 100% !important;
}

.h-auto {
    height: auto !important;
}

.mw-100 {
    max-width: 100% !important;
}

.mh-100 {
    max-height: 100% !important;
}

.m-0 {
    margin: 0 !important;
}

.mt-0,
.my-0 {
    margin-top: 0 !important;
}

.mr-0,
.mx-0 {
    margin-right: 0 !important;
}

.mb-0,
.my-0 {
    margin-bottom: 0 !important;
}

.ml-0,
.mx-0 {
    margin-left: 0 !important;
}

.m-1 {
    margin: 0.25rem !important;
}

.mt-1,
.my-1 {
    margin-top: 0.25rem !important;
}

.mr-1,
.mx-1 {
    margin-right: 0.25rem !important;
}

.mb-1,
.my-1 {
    margin-bottom: 0.25rem !important;
}

.ml-1,
.mx-1 {
    margin-left: 0.25rem !important;
}

.m-2 {
    margin: 0.5rem !important;
}

.mt-2,
.my-2 {
    margin-top: 0.5rem !important;
}

.mr-2,
.mx-2 {
    margin-right: 0.5rem !important;
}

.mb-2,
.my-2 {
    margin-bottom: 0.5rem !important;
}

.ml-2,
.mx-2 {
    margin-left: 0.5rem !important;
}

.m-3 {
    margin: 1rem !important;
}

.mt-3,
.my-3 {
    margin-top: 1rem !important;
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important;
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important;
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important;
}

.m-4 {
    margin: 1.5rem !important;
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important;
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important;
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important;
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important;
}

.m-5 {
    margin: 3rem !important;
}

.mt-5,
.my-5 {
    margin-top: 3rem !important;
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important;
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important;
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important;
}

.m-6 {
    margin: 6rem !important;
}

.mt-6,
.my-6 {
    margin-top: 6rem !important;
}

.mr-6,
.mx-6 {
    margin-right: 6rem !important;
}

.mb-6,
.my-6 {
    margin-bottom: 6rem !important;
}

.ml-6,
.mx-6 {
    margin-left: 6rem !important;
}

.p-0 {
    padding: 0 !important;
}

.pt-0,
.py-0 {
    padding-top: 0 !important;
}

.pr-0,
.px-0 {
    padding-right: 0 !important;
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important;
}

.pl-0,
.px-0 {
    padding-left: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.pt-1,
.py-1 {
    padding-top: 0.25rem !important;
}

.pr-1,
.px-1 {
    padding-right: 0.25rem !important;
}

.pb-1,
.py-1 {
    padding-bottom: 0.25rem !important;
}

.pl-1,
.px-1 {
    padding-left: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.pt-2,
.py-2 {
    padding-top: 0.5rem !important;
}

.pr-2,
.px-2 {
    padding-right: 0.5rem !important;
}

.pb-2,
.py-2 {
    padding-bottom: 0.5rem !important;
}

.pl-2,
.px-2 {
    padding-left: 0.5rem !important;
}

.p-3 {
    padding: 1rem !important;
}

.pt-3,
.py-3 {
    padding-top: 1rem !important;
}

.pr-3,
.px-3 {
    padding-right: 1rem !important;
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important;
}

.pl-3,
.px-3 {
    padding-left: 1rem !important;
}

.p-4 {
    padding: 1.5rem !important;
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important;
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important;
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important;
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important;
}

.p-5 {
    padding: 3rem !important;
}

.pt-5,
.py-5 {
    padding-top: 3rem !important;
}

.pr-5,
.px-5 {
    padding-right: 3rem !important;
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important;
}

.pl-5,
.px-5 {
    padding-left: 3rem !important;
}

.p-6 {
    padding: 6rem !important;
}

.pt-6,
.py-6 {
    padding-top: 6rem !important;
}

.pr-6,
.px-6 {
    padding-right: 6rem !important;
}

.pb-6,
.py-6 {
    padding-bottom: 6rem !important;
}

.pl-6,
.px-6 {
    padding-left: 6rem !important;
}

.m-auto {
    margin: auto !important;
}

.mt-auto,
.my-auto {
    margin-top: auto !important;
}

.mr-auto,
.mx-auto {
    margin-right: auto !important;
}

.mb-auto,
.my-auto {
    margin-bottom: auto !important;
}

.ml-auto,
.mx-auto {
    margin-left: auto !important;
}

@media (min-width: 576px) {
    .m-sm-0 {
        margin: 0 !important;
    }

    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0 !important;
    }

    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0 !important;
    }

    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0 !important;
    }

    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0 !important;
    }

    .m-sm-1 {
        margin: 0.25rem !important;
    }

    .mt-sm-1,
    .my-sm-1 {
        margin-top: 0.25rem !important;
    }

    .mr-sm-1,
    .mx-sm-1 {
        margin-right: 0.25rem !important;
    }

    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-sm-1,
    .mx-sm-1 {
        margin-left: 0.25rem !important;
    }

    .m-sm-2 {
        margin: 0.5rem !important;
    }

    .mt-sm-2,
    .my-sm-2 {
        margin-top: 0.5rem !important;
    }

    .mr-sm-2,
    .mx-sm-2 {
        margin-right: 0.5rem !important;
    }

    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-sm-2,
    .mx-sm-2 {
        margin-left: 0.5rem !important;
    }

    .m-sm-3 {
        margin: 1rem !important;
    }

    .mt-sm-3,
    .my-sm-3 {
        margin-top: 1rem !important;
    }

    .mr-sm-3,
    .mx-sm-3 {
        margin-right: 1rem !important;
    }

    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: 1rem !important;
    }

    .ml-sm-3,
    .mx-sm-3 {
        margin-left: 1rem !important;
    }

    .m-sm-4 {
        margin: 1.5rem !important;
    }

    .mt-sm-4,
    .my-sm-4 {
        margin-top: 1.5rem !important;
    }

    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 1.5rem !important;
    }

    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 1.5rem !important;
    }

    .m-sm-5 {
        margin: 3rem !important;
    }

    .mt-sm-5,
    .my-sm-5 {
        margin-top: 3rem !important;
    }

    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 3rem !important;
    }

    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 3rem !important;
    }

    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 3rem !important;
    }

    .m-sm-6 {
        margin: 6rem !important;
    }

    .mt-sm-6,
    .my-sm-6 {
        margin-top: 6rem !important;
    }

    .mr-sm-6,
    .mx-sm-6 {
        margin-right: 6rem !important;
    }

    .mb-sm-6,
    .my-sm-6 {
        margin-bottom: 6rem !important;
    }

    .ml-sm-6,
    .mx-sm-6 {
        margin-left: 6rem !important;
    }

    .p-sm-0 {
        padding: 0 !important;
    }

    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0 !important;
    }

    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0 !important;
    }

    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0 !important;
    }

    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0 !important;
    }

    .p-sm-1 {
        padding: 0.25rem !important;
    }

    .pt-sm-1,
    .py-sm-1 {
        padding-top: 0.25rem !important;
    }

    .pr-sm-1,
    .px-sm-1 {
        padding-right: 0.25rem !important;
    }

    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-sm-1,
    .px-sm-1 {
        padding-left: 0.25rem !important;
    }

    .p-sm-2 {
        padding: 0.5rem !important;
    }

    .pt-sm-2,
    .py-sm-2 {
        padding-top: 0.5rem !important;
    }

    .pr-sm-2,
    .px-sm-2 {
        padding-right: 0.5rem !important;
    }

    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-sm-2,
    .px-sm-2 {
        padding-left: 0.5rem !important;
    }

    .p-sm-3 {
        padding: 1rem !important;
    }

    .pt-sm-3,
    .py-sm-3 {
        padding-top: 1rem !important;
    }

    .pr-sm-3,
    .px-sm-3 {
        padding-right: 1rem !important;
    }

    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: 1rem !important;
    }

    .pl-sm-3,
    .px-sm-3 {
        padding-left: 1rem !important;
    }

    .p-sm-4 {
        padding: 1.5rem !important;
    }

    .pt-sm-4,
    .py-sm-4 {
        padding-top: 1.5rem !important;
    }

    .pr-sm-4,
    .px-sm-4 {
        padding-right: 1.5rem !important;
    }

    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-sm-4,
    .px-sm-4 {
        padding-left: 1.5rem !important;
    }

    .p-sm-5 {
        padding: 3rem !important;
    }

    .pt-sm-5,
    .py-sm-5 {
        padding-top: 3rem !important;
    }

    .pr-sm-5,
    .px-sm-5 {
        padding-right: 3rem !important;
    }

    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 3rem !important;
    }

    .pl-sm-5,
    .px-sm-5 {
        padding-left: 3rem !important;
    }

    .p-sm-6 {
        padding: 6rem !important;
    }

    .pt-sm-6,
    .py-sm-6 {
        padding-top: 6rem !important;
    }

    .pr-sm-6,
    .px-sm-6 {
        padding-right: 6rem !important;
    }

    .pb-sm-6,
    .py-sm-6 {
        padding-bottom: 6rem !important;
    }

    .pl-sm-6,
    .px-sm-6 {
        padding-left: 6rem !important;
    }

    .m-sm-auto {
        margin: auto !important;
    }

    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important;
    }

    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important;
    }

    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important;
    }

    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 768px) {
    .m-md-0 {
        margin: 0 !important;
    }

    .mt-md-0,
    .my-md-0 {
        margin-top: 0 !important;
    }

    .mr-md-0,
    .mx-md-0 {
        margin-right: 0 !important;
    }

    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0 !important;
    }

    .ml-md-0,
    .mx-md-0 {
        margin-left: 0 !important;
    }

    .m-md-1 {
        margin: 0.25rem !important;
    }

    .mt-md-1,
    .my-md-1 {
        margin-top: 0.25rem !important;
    }

    .mr-md-1,
    .mx-md-1 {
        margin-right: 0.25rem !important;
    }

    .mb-md-1,
    .my-md-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-md-1,
    .mx-md-1 {
        margin-left: 0.25rem !important;
    }

    .m-md-2 {
        margin: 0.5rem !important;
    }

    .mt-md-2,
    .my-md-2 {
        margin-top: 0.5rem !important;
    }

    .mr-md-2,
    .mx-md-2 {
        margin-right: 0.5rem !important;
    }

    .mb-md-2,
    .my-md-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-md-2,
    .mx-md-2 {
        margin-left: 0.5rem !important;
    }

    .m-md-3 {
        margin: 1rem !important;
    }

    .mt-md-3,
    .my-md-3 {
        margin-top: 1rem !important;
    }

    .mr-md-3,
    .mx-md-3 {
        margin-right: 1rem !important;
    }

    .mb-md-3,
    .my-md-3 {
        margin-bottom: 1rem !important;
    }

    .ml-md-3,
    .mx-md-3 {
        margin-left: 1rem !important;
    }

    .m-md-4 {
        margin: 1.5rem !important;
    }

    .mt-md-4,
    .my-md-4 {
        margin-top: 1.5rem !important;
    }

    .mr-md-4,
    .mx-md-4 {
        margin-right: 1.5rem !important;
    }

    .mb-md-4,
    .my-md-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-md-4,
    .mx-md-4 {
        margin-left: 1.5rem !important;
    }

    .m-md-5 {
        margin: 3rem !important;
    }

    .mt-md-5,
    .my-md-5 {
        margin-top: 3rem !important;
    }

    .mr-md-5,
    .mx-md-5 {
        margin-right: 3rem !important;
    }

    .mb-md-5,
    .my-md-5 {
        margin-bottom: 3rem !important;
    }

    .ml-md-5,
    .mx-md-5 {
        margin-left: 3rem !important;
    }

    .m-md-6 {
        margin: 6rem !important;
    }

    .mt-md-6,
    .my-md-6 {
        margin-top: 6rem !important;
    }

    .mr-md-6,
    .mx-md-6 {
        margin-right: 6rem !important;
    }

    .mb-md-6,
    .my-md-6 {
        margin-bottom: 6rem !important;
    }

    .ml-md-6,
    .mx-md-6 {
        margin-left: 6rem !important;
    }

    .p-md-0 {
        padding: 0 !important;
    }

    .pt-md-0,
    .py-md-0 {
        padding-top: 0 !important;
    }

    .pr-md-0,
    .px-md-0 {
        padding-right: 0 !important;
    }

    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0 !important;
    }

    .pl-md-0,
    .px-md-0 {
        padding-left: 0 !important;
    }

    .p-md-1 {
        padding: 0.25rem !important;
    }

    .pt-md-1,
    .py-md-1 {
        padding-top: 0.25rem !important;
    }

    .pr-md-1,
    .px-md-1 {
        padding-right: 0.25rem !important;
    }

    .pb-md-1,
    .py-md-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-md-1,
    .px-md-1 {
        padding-left: 0.25rem !important;
    }

    .p-md-2 {
        padding: 0.5rem !important;
    }

    .pt-md-2,
    .py-md-2 {
        padding-top: 0.5rem !important;
    }

    .pr-md-2,
    .px-md-2 {
        padding-right: 0.5rem !important;
    }

    .pb-md-2,
    .py-md-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-md-2,
    .px-md-2 {
        padding-left: 0.5rem !important;
    }

    .p-md-3 {
        padding: 1rem !important;
    }

    .pt-md-3,
    .py-md-3 {
        padding-top: 1rem !important;
    }

    .pr-md-3,
    .px-md-3 {
        padding-right: 1rem !important;
    }

    .pb-md-3,
    .py-md-3 {
        padding-bottom: 1rem !important;
    }

    .pl-md-3,
    .px-md-3 {
        padding-left: 1rem !important;
    }

    .p-md-4 {
        padding: 1.5rem !important;
    }

    .pt-md-4,
    .py-md-4 {
        padding-top: 1.5rem !important;
    }

    .pr-md-4,
    .px-md-4 {
        padding-right: 1.5rem !important;
    }

    .pb-md-4,
    .py-md-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-md-4,
    .px-md-4 {
        padding-left: 1.5rem !important;
    }

    .p-md-5 {
        padding: 3rem !important;
    }

    .pt-md-5,
    .py-md-5 {
        padding-top: 3rem !important;
    }

    .pr-md-5,
    .px-md-5 {
        padding-right: 3rem !important;
    }

    .pb-md-5,
    .py-md-5 {
        padding-bottom: 3rem !important;
    }

    .pl-md-5,
    .px-md-5 {
        padding-left: 3rem !important;
    }

    .p-md-6 {
        padding: 6rem !important;
    }

    .pt-md-6,
    .py-md-6 {
        padding-top: 6rem !important;
    }

    .pr-md-6,
    .px-md-6 {
        padding-right: 6rem !important;
    }

    .pb-md-6,
    .py-md-6 {
        padding-bottom: 6rem !important;
    }

    .pl-md-6,
    .px-md-6 {
        padding-left: 6rem !important;
    }

    .m-md-auto {
        margin: auto !important;
    }

    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important;
    }

    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important;
    }

    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important;
    }

    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 992px) {
    .m-lg-0 {
        margin: 0 !important;
    }

    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0 !important;
    }

    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0 !important;
    }

    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0 !important;
    }

    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0 !important;
    }

    .m-lg-1 {
        margin: 0.25rem !important;
    }

    .mt-lg-1,
    .my-lg-1 {
        margin-top: 0.25rem !important;
    }

    .mr-lg-1,
    .mx-lg-1 {
        margin-right: 0.25rem !important;
    }

    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-lg-1,
    .mx-lg-1 {
        margin-left: 0.25rem !important;
    }

    .m-lg-2 {
        margin: 0.5rem !important;
    }

    .mt-lg-2,
    .my-lg-2 {
        margin-top: 0.5rem !important;
    }

    .mr-lg-2,
    .mx-lg-2 {
        margin-right: 0.5rem !important;
    }

    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-lg-2,
    .mx-lg-2 {
        margin-left: 0.5rem !important;
    }

    .m-lg-3 {
        margin: 1rem !important;
    }

    .mt-lg-3,
    .my-lg-3 {
        margin-top: 1rem !important;
    }

    .mr-lg-3,
    .mx-lg-3 {
        margin-right: 1rem !important;
    }

    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: 1rem !important;
    }

    .ml-lg-3,
    .mx-lg-3 {
        margin-left: 1rem !important;
    }

    .m-lg-4 {
        margin: 1.5rem !important;
    }

    .mt-lg-4,
    .my-lg-4 {
        margin-top: 1.5rem !important;
    }

    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 1.5rem !important;
    }

    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 1.5rem !important;
    }

    .m-lg-5 {
        margin: 3rem !important;
    }

    .mt-lg-5,
    .my-lg-5 {
        margin-top: 3rem !important;
    }

    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 3rem !important;
    }

    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 3rem !important;
    }

    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 3rem !important;
    }

    .m-lg-6 {
        margin: 6rem !important;
    }

    .mt-lg-6,
    .my-lg-6 {
        margin-top: 6rem !important;
    }

    .mr-lg-6,
    .mx-lg-6 {
        margin-right: 6rem !important;
    }

    .mb-lg-6,
    .my-lg-6 {
        margin-bottom: 6rem !important;
    }

    .ml-lg-6,
    .mx-lg-6 {
        margin-left: 6rem !important;
    }

    .p-lg-0 {
        padding: 0 !important;
    }

    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0 !important;
    }

    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0 !important;
    }

    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0 !important;
    }

    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0 !important;
    }

    .p-lg-1 {
        padding: 0.25rem !important;
    }

    .pt-lg-1,
    .py-lg-1 {
        padding-top: 0.25rem !important;
    }

    .pr-lg-1,
    .px-lg-1 {
        padding-right: 0.25rem !important;
    }

    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-lg-1,
    .px-lg-1 {
        padding-left: 0.25rem !important;
    }

    .p-lg-2 {
        padding: 0.5rem !important;
    }

    .pt-lg-2,
    .py-lg-2 {
        padding-top: 0.5rem !important;
    }

    .pr-lg-2,
    .px-lg-2 {
        padding-right: 0.5rem !important;
    }

    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-lg-2,
    .px-lg-2 {
        padding-left: 0.5rem !important;
    }

    .p-lg-3 {
        padding: 1rem !important;
    }

    .pt-lg-3,
    .py-lg-3 {
        padding-top: 1rem !important;
    }

    .pr-lg-3,
    .px-lg-3 {
        padding-right: 1rem !important;
    }

    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: 1rem !important;
    }

    .pl-lg-3,
    .px-lg-3 {
        padding-left: 1rem !important;
    }

    .p-lg-4 {
        padding: 1.5rem !important;
    }

    .pt-lg-4,
    .py-lg-4 {
        padding-top: 1.5rem !important;
    }

    .pr-lg-4,
    .px-lg-4 {
        padding-right: 1.5rem !important;
    }

    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-lg-4,
    .px-lg-4 {
        padding-left: 1.5rem !important;
    }

    .p-lg-5 {
        padding: 3rem !important;
    }

    .pt-lg-5,
    .py-lg-5 {
        padding-top: 3rem !important;
    }

    .pr-lg-5,
    .px-lg-5 {
        padding-right: 3rem !important;
    }

    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 3rem !important;
    }

    .pl-lg-5,
    .px-lg-5 {
        padding-left: 3rem !important;
    }

    .p-lg-6 {
        padding: 6rem !important;
    }

    .pt-lg-6,
    .py-lg-6 {
        padding-top: 6rem !important;
    }

    .pr-lg-6,
    .px-lg-6 {
        padding-right: 6rem !important;
    }

    .pb-lg-6,
    .py-lg-6 {
        padding-bottom: 6rem !important;
    }

    .pl-lg-6,
    .px-lg-6 {
        padding-left: 6rem !important;
    }

    .m-lg-auto {
        margin: auto !important;
    }

    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important;
    }

    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important;
    }

    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important;
    }

    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-0 {
        margin: 0 !important;
    }

    .mt-xl-0,
    .my-xl-0 {
        margin-top: 0 !important;
    }

    .mr-xl-0,
    .mx-xl-0 {
        margin-right: 0 !important;
    }

    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: 0 !important;
    }

    .ml-xl-0,
    .mx-xl-0 {
        margin-left: 0 !important;
    }

    .m-xl-1 {
        margin: 0.25rem !important;
    }

    .mt-xl-1,
    .my-xl-1 {
        margin-top: 0.25rem !important;
    }

    .mr-xl-1,
    .mx-xl-1 {
        margin-right: 0.25rem !important;
    }

    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: 0.25rem !important;
    }

    .ml-xl-1,
    .mx-xl-1 {
        margin-left: 0.25rem !important;
    }

    .m-xl-2 {
        margin: 0.5rem !important;
    }

    .mt-xl-2,
    .my-xl-2 {
        margin-top: 0.5rem !important;
    }

    .mr-xl-2,
    .mx-xl-2 {
        margin-right: 0.5rem !important;
    }

    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: 0.5rem !important;
    }

    .ml-xl-2,
    .mx-xl-2 {
        margin-left: 0.5rem !important;
    }

    .m-xl-3 {
        margin: 1rem !important;
    }

    .mt-xl-3,
    .my-xl-3 {
        margin-top: 1rem !important;
    }

    .mr-xl-3,
    .mx-xl-3 {
        margin-right: 1rem !important;
    }

    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: 1rem !important;
    }

    .ml-xl-3,
    .mx-xl-3 {
        margin-left: 1rem !important;
    }

    .m-xl-4 {
        margin: 1.5rem !important;
    }

    .mt-xl-4,
    .my-xl-4 {
        margin-top: 1.5rem !important;
    }

    .mr-xl-4,
    .mx-xl-4 {
        margin-right: 1.5rem !important;
    }

    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: 1.5rem !important;
    }

    .ml-xl-4,
    .mx-xl-4 {
        margin-left: 1.5rem !important;
    }

    .m-xl-5 {
        margin: 3rem !important;
    }

    .mt-xl-5,
    .my-xl-5 {
        margin-top: 3rem !important;
    }

    .mr-xl-5,
    .mx-xl-5 {
        margin-right: 3rem !important;
    }

    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: 3rem !important;
    }

    .ml-xl-5,
    .mx-xl-5 {
        margin-left: 3rem !important;
    }

    .m-xl-6 {
        margin: 6rem !important;
    }

    .mt-xl-6,
    .my-xl-6 {
        margin-top: 6rem !important;
    }

    .mr-xl-6,
    .mx-xl-6 {
        margin-right: 6rem !important;
    }

    .mb-xl-6,
    .my-xl-6 {
        margin-bottom: 6rem !important;
    }

    .ml-xl-6,
    .mx-xl-6 {
        margin-left: 6rem !important;
    }

    .p-xl-0 {
        padding: 0 !important;
    }

    .pt-xl-0,
    .py-xl-0 {
        padding-top: 0 !important;
    }

    .pr-xl-0,
    .px-xl-0 {
        padding-right: 0 !important;
    }

    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: 0 !important;
    }

    .pl-xl-0,
    .px-xl-0 {
        padding-left: 0 !important;
    }

    .p-xl-1 {
        padding: 0.25rem !important;
    }

    .pt-xl-1,
    .py-xl-1 {
        padding-top: 0.25rem !important;
    }

    .pr-xl-1,
    .px-xl-1 {
        padding-right: 0.25rem !important;
    }

    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: 0.25rem !important;
    }

    .pl-xl-1,
    .px-xl-1 {
        padding-left: 0.25rem !important;
    }

    .p-xl-2 {
        padding: 0.5rem !important;
    }

    .pt-xl-2,
    .py-xl-2 {
        padding-top: 0.5rem !important;
    }

    .pr-xl-2,
    .px-xl-2 {
        padding-right: 0.5rem !important;
    }

    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: 0.5rem !important;
    }

    .pl-xl-2,
    .px-xl-2 {
        padding-left: 0.5rem !important;
    }

    .p-xl-3 {
        padding: 1rem !important;
    }

    .pt-xl-3,
    .py-xl-3 {
        padding-top: 1rem !important;
    }

    .pr-xl-3,
    .px-xl-3 {
        padding-right: 1rem !important;
    }

    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: 1rem !important;
    }

    .pl-xl-3,
    .px-xl-3 {
        padding-left: 1rem !important;
    }

    .p-xl-4 {
        padding: 1.5rem !important;
    }

    .pt-xl-4,
    .py-xl-4 {
        padding-top: 1.5rem !important;
    }

    .pr-xl-4,
    .px-xl-4 {
        padding-right: 1.5rem !important;
    }

    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: 1.5rem !important;
    }

    .pl-xl-4,
    .px-xl-4 {
        padding-left: 1.5rem !important;
    }

    .p-xl-5 {
        padding: 3rem !important;
    }

    .pt-xl-5,
    .py-xl-5 {
        padding-top: 3rem !important;
    }

    .pr-xl-5,
    .px-xl-5 {
        padding-right: 3rem !important;
    }

    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: 3rem !important;
    }

    .pl-xl-5,
    .px-xl-5 {
        padding-left: 3rem !important;
    }

    .p-xl-6 {
        padding: 6rem !important;
    }

    .pt-xl-6,
    .py-xl-6 {
        padding-top: 6rem !important;
    }

    .pr-xl-6,
    .px-xl-6 {
        padding-right: 6rem !important;
    }

    .pb-xl-6,
    .py-xl-6 {
        padding-bottom: 6rem !important;
    }

    .pl-xl-6,
    .px-xl-6 {
        padding-left: 6rem !important;
    }

    .m-xl-auto {
        margin: auto !important;
    }

    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important;
    }

    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important;
    }

    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important;
    }

    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important;
    }
}

.visible {
    visibility: visible !important;
}

.invisible {
    visibility: hidden !important;
}

.white-bg {
    background: #FFF;
}

.light-gray-bg {
    background-color: #f3f3f3;
}

.blue-bg {
    background: #035da3;
    color: #FFF;
}

.align-baseline {
    vertical-align: baseline !important;
}

.align-top {
    vertical-align: top !important;
}

.align-middle {
    vertical-align: middle !important;
}

.align-bottom {
    vertical-align: bottom !important;
}

.align-text-bottom {
    vertical-align: text-bottom !important;
}

.align-text-top {
    vertical-align: text-top !important;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

body,
button {
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    font-family: "Roboto", sans-serif;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, h6, .h5 {
    padding: 0;
    color: #2d2d2d;
    font-family: "Roboto", sans-serif;
    line-height: 1.1;
    font-weight: 700;
}

.text-feature-color {
    color: #035DA3 !important;
}

/* Copy
	========================================================================== */
p {
    margin: 0 0 1.5em 0;
}

dfn, cite, em, i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    font-style: normal;
    margin: 0;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code, kbd, tt, var {
    font-family: Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr, acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark, ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

blockquote {
    quotes: "" "";
}

    blockquote:before, blockquote:after {
        content: "";
    }

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin: 3em 0;
}

/* Links
	========================================================================== */
a {
    /*text-decoration: none;*/ /*most links should look like links (rjb 2019/05/16)*/
    text-decoration: underline;
    color: #035da3;
    -webkit-transition: all .3s;
    transition: all .3s;
}

    a:hover, a:active, a.nice-select.open {
        outline: 0;
        color: #0586ea;
    }

.clear-fix {
    height: 0;
    clear: both;
}
/* for stubborn browsers */

/* Buttons
	========================================================================== */
.button,
.Button {
    border: none;
    display: inline-block;
    outline: none;
    border-radius: 6px;
    color: #fff;
    line-height: 1;
    padding: 1em 1.5em 1em 1.5em;
    appearance: none;
    cursor: pointer;
    text-align: center;
    background-color: #035da3;
    color: #FFF;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    align-items: center;
    border: 1px solid #035da3;
    vertical-align: middle;
    background-size: auto 0%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    transition: all .5s;
    overflow: hidden;
}


    .button .icon {
        transition: all .1s;
    }

    .button:hover,
    .Button:hover {
        background-color: #0071ca;
        border-color: #0071ca;
        color: #FFF;
    }

    .button.outlined {
        border: 1px solid #888;
        background-color: #FFF;
        color: #888;
    }

        .button.outlined:hover {
            background-color: rgba(3, 93, 163, .05);
            color: rgb(3, 93, 163);
            border-color: rgb(3, 93, 163);
        }



        .button.outlined .icon {
            color: #999;
            margin-right: 5px;
            transition: all .1s;
        }


        .button.outlined:hover .icon {
            color: #035da3;
        }

    .button.light-blue {
        background-color: #187ac3;
        border-color: #187ac3;
    }

        .button.light-blue:hover {
            background-color: #156cac;
            border-color: #156cac;
        }

    .button.bright-blue {
        background-color: #007cdd;
        border-color: #007cdd;
    }

        .button.bright-blue:hover {
            background-color: #008fff;
            border-color: #008fff;
        }

    .button.gray {
        background-color: #4f4f4f;
        border-color: #4f4f4f;
    }

        .button.gray:hover {
            background-color: #424242;
            border-color: #424242;
        }

    .button.light-gray {
        background-color: #808080;
        border-color: #808080;
    }

        .button.light-gray:hover {
            background-color: #999;
            border-color: #999;
        }

    .button.red {
        background-color: #da2917;
        border-color: #da2917;
    }

        .button.red:hover {
            background-color: #ff1800;
            border-color: #ff1800;
        }

    .button.gold {
        background-color: #e5b010;
        border-color: #e5b010;
    }

        .button.gold:hover {
            background-color: #ffbf00;
        }

    .button.orange {
        background-color: #f1592a;
        border-color: #f1592a;
    }

        .button.orange:hover {
            background-color: #f47c57;
        }

    .button.yellow-orange {
        background-color: #fca626;
        border-color: #fca626;
    }

        .button.yellow-orange:hover {
            background-color: #ec8f04;
        }


    .button.outlined.outlined-blue {
        border: 1px solid #035da3;
        color: #035da3;
    }

        .button.outlined.outlined-blue:hover {
            border: 1px solid #0071ca;
            color: #0071ca;
        }

    .button.outlined.outlined-light-blue {
        border: 1px solid rgb(24, 122, 195);
        color: rgb(24, 122, 195);
    }

        .button.outlined.outlined-light-blue:hover {
            background-color: rgba(0, 120, 209, .05);
            border: 1px solid rgb(0, 120, 209);
            color: rgb(0, 120, 209);
        }

    .button.outlined.outlined-white {
        background-color: rgba(255, 255, 255, .3);
        border-color: #fff;
        color: #fff;
    }

        .button.outlined.outlined-white:hover {
            background-color: rgba(255, 255, 255, .5);
            border-color: #fff;
        }

    .button.outlined.outlined-black {
        background-color: rgba(0, 0, 0, .3);
        border-color: #fff;
        color: #fff;
    }

        .button.outlined.outlined-black:hover {
            background-color: rgba(0, 0, 0, .5);
            border-color: #fff;
        }

    .button.outlined.outlined-red {
        background-color: #fff;
        border-color: #da2917;
        color: #da2917;
    }

        .button.outlined.outlined-red:hover {
            background-color: rgba(255, 24, 0, .07);
            border-color: rgba(255, 24, 0, 1);
            color: rgba(255, 24, 0, 1);
        }



    .button.close {
        background-color: #999;
        border-color: #999;
    }

        .button.close:hover {
            background-color: #aaa;
        }


    .button.xsm {
        padding: .4em .6em !important;
        font-size: 10px !important;
    }

    .button.sm {
        padding: .5em .75em !important;
        font-size: 11px !important;
    }

    .button.md {
        padding: .75em 1em !important;
        font-size: 12px !important;
    }

    .button.lg {
        font-size: 16px;
    }

    .button.xl {
        font-size: 19px;
    }

    .button.xxl {
        font-size: 21px;
    }

    .button.xxxl {
        font-size: 24px;
    }


    .button.wide {
        width: 100%;
        max-width: 100%;
        /*display: block;*/
    }

    .button.strong {
        font-weight: bolder;
    }

.button-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 -5px 0;
    padding: 0;
}

    .button-list li {
        padding: 0 5px 0;
        flex: 1;
    }

        .button-list li .button {
            white-space: nowrap;
            width: 100%;
        }


h1 .button,
.h1 .button,
h2 .button,
.h2 .button {
    vertical-align: middle;
}


input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not(#yotpo-app input),
textarea {
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 3px;
    font-size: 16px; /*ios zooms in when font is less than 16 [rjb]*/
    height: 2.5em;
    padding: 8px 10px;
    outline: none;
    transition: all .2s;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),
input.nice-select.open:not([type=checkbox]):not([type=radio]):not([type=button]) {
    border-color: #ccc;
    /*box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);*/
}


    input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):focus,
    textarea:active,
    textarea.nice-select.open,
    textarea:focus {
        border-color: #035da3 !important;
        /*box-shadow: inset 0 0 3px rgb(1, 93, 163);*/
    }

input[type=password] {
    font-family: monospace;
}


input[type='number'] {
    -moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

input.sm:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]),
textarea.sm {
    padding: 5px 7px;
    font-size: 12px;
    border-radius: 4px;
}



textarea {
    width: 100%;
    height: 75px;
}

    textarea.lg {
        height: 150px;
    }

    textarea.xl {
        height: 300px;
    }




/*RJB why was this here? is causes issues with usability */
/*select.niceSelect {
  display: none !important; 
}*/

.nice-select {
    font-size: 16px;
    line-height: 40px; /* RJB should match text input height */
    height: 40px; /* RJB should match text input height */
    /*line-height: 30px;*/
    /*color: #2d2d2d;*/ /* RJB should match other input text color */
    border: none;
    border-radius: 3px;
}

    .nice-select.disabled:before {
        color: #999;
        border-right: 1px solid #DDD;
    }

    .nice-select .list {
        margin-left: 0;
        padding: 0;
        border-radius: 3px;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    }

    .nice-select .option {
        height: 30px;
        line-height: 30px;
        min-height: 30px;
    }

        .nice-select .option:hover {
            color: #0071ca;
            background-color: #0071ca26 !important;
        }

        .nice-select .option.selected {
            color: #0071ca;
        }

/*.nice-select .option.selected:hover {
  color: #FFF;
  background-color: #0071ca;
}
*/
.form-group .nice-select {
    float: none;
    /*background-color: #fafafa;
  background: linear-gradient(0deg, rgba(204,204,204,1) 0%, rgba(221,221,221,1) 15%, rgba(255,255,255,1) 100%);*/
}

.checkbox-label {
    display: block;
    position: relative;
    margin: auto;
    cursor: pointer;
    clear: both;
    padding-left: 28px;
    line-height: 1.4;
    font-size: 14px;
}

    .checkbox-label:hover {
        color: #2d2d2d;
    }

    .checkbox-label input {
        position: absolute;
        opacity: 0 !important;
        cursor: pointer;
    }

    .checkbox-label .checkbox-custom,
    .checkbox-label .radio-custom {
        position: absolute;
        top: 0px;
        left: 0px;
        height: 20px;
        width: 20px;
        /*background-color: transparent;*/
        background-color: #fff;
        border-radius: 3px;
        transition: all .2s ease-out;
        border: 1px solid #d7d7d7;
    }

    .checkbox-label .checkbox-custom {
        top: 50%;
        margin-top: -10px;
    }

    .checkbox-label .radio-custom {
        border-radius: 100%;
    }

    .checkbox-label input:checked ~ .checkbox-custom,
    .checkbox-label input:checked ~ .radio-custom {
        background-color: #2687c8;
        transform: rotate(0deg) scale(1);
        opacity: 1;
        border: 1px solid #2687c8;
    }

    .checkbox-label .checkbox-custom::after,
    .checkbox-label .radio-custom::after {
        position: absolute;
        content: "";
        left: 10px;
        top: 10px;
        height: 0px;
        width: 0px;
        border-radius: 3px;
        border: solid #FFF;
        border-width: 0 3px 3px 0;
        transform: rotate(0deg) scale(0);
        opacity: 1;
        transition: all .2s ease-out;
        z-index: 12;
    }

    .checkbox-label input:checked ~ .checkbox-custom::after,
    .checkbox-label input:checked ~ .radio-custom::after,
    .checkbox-label .aspNetDisabled + .checkbox-custom::after,
    .checkbox-label .aspNetDisabled + .radio-custom::after {
        transform: rotate(45deg) scale(1);
        opacity: 1;
        left: 7px;
        top: 3px;
        width: 5px;
        height: 10px;
        border: solid #FFF;
        border-width: 0 2px 2px 0;
        background-color: transparent;
        border-radius: 0;
        z-index: 12;
    }

    .checkbox-label input:checked ~ .radio-custom::after,
    .checkbox-label .aspNetDisabled + .radio-custom::after {
        opacity: .9;
        left: 4px;
        top: 4px;
        width: 10px;
        height: 10px;
        background-color: #fff;
        border-radius: 20px;
    }

/* Tables
	========================================================================== */
table {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0 0 1.5em 0;
    width: 100%;
}

td,
th {
    padding: 0;
}

ul, ol {
    margin: 0 0 1.5em 1.5em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li > ul,
li > ol {
    margin-bottom: 0;
    margin-left: 1em;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 1.5em 1.5em;
}


ul.plain,
ol.plain {
    list-style: none;
    margin-left: 0;
    padding-left: 1em;
}


@font-face {
    font-family: "opgi-icons";
    src: url("/OPGISources/fonts/opgi-icons/opgi-icons.eot");
    src: url("/OPGISources/fonts/opgi-icons/opgi-icons.eot?#iefix") format("embedded-opentype"), url("/OPGISources/fonts/opgi-icons/opgi-icons.woff") format("woff"), url("/OPGISources/fonts/opgi-icons/opgi-icons.ttf") format("truetype"), url("/OPGISources/fonts/opgi-icons/opgi-icons.svg#opgi-icons") format("svg");
    font-weight: normal;
    font-style: normal;
}

[data-icon]:before {
    font-family: "opgi-icons" !important;
    content: attr(data-icon);
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
    font-family: "opgi-icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-angle-right:before {
    content: "\61";
}

.icon-points:before {
    content: "\62";
}

.icon-price-match:before {
    content: "\66";
}

.icon-garage:before {
    content: "\64";
}

.icon-free-shipping:before {
    content: "\65";
}

.icon-clearance:before {
    content: "\63";
}

.icon-chatbubble:before {
    content: "\67";
}

.icon-twitter:before {
    content: "\68";
}


.icon-youtube-play:before {
    content: "\69";
}

.icon-youtube:before {
    content: "\6a";
}

.icon-rss:before {
    content: "\6b";
}

.icon-pinterest-p:before {
    content: "\6c";
}

.icon-instagram:before {
    content: "\6d";
}

.icon-facebook:before {
    content: "\6e";
}

.icon-star:before {
    content: "\6f";
}

.icon-envelope-o:before {
    content: "\70";
}

.icon-cart:before {
    content: "\72";
}

.icon-phone:before {
    content: "\73";
}

.icon-search:before {
    content: "t";
}

.icon-searchnav:before {
    content: "\74";
}

.icon-check:before {
    content: "\75";
}

.icon-thumbsup:before {
    content: "\76";
}

.icon-thumbsdown:before {
    content: "\77";
}

.icon-angle-left:before {
    content: "\78";
}

.icon-affirm:before {
    content: "\79";
}

.icon-down-open-mini:before {
    content: "\7a";
}

.icon-up-open-mini:before {
    content: "\41";
}

.icon-heart-o:before {
    content: "\42";
}

.icon-heart:before {
    content: "\43";
}

.icon-write:before {
    content: "\44";
}

.icon-question:before {
    content: "\45";
}

/* we need to refresh the opgi-font */
.icon-price-match-line:before {
    content: url(/Images/icons/price-match-outline.svg);
    filter: invert(12%) sepia(79%) saturate(5456%) hue-rotate(195deg) brightness(100%) contrast(98%);
}

.icon-x-twitter:before {
    content: url(/Images/icons/twitter-x-outline.svg);
}

@supports (-moz-appearance:none) {
    .social .icon-x-twitter {
        margin-right: 15px;
    }
}

.icon-guarantee-line:before {
    content: "\47";
}

.icon-fitcheck:before {
    content: "\48";
}

.icon-expert-line:before {
    content: "\49";
}

.icon-box-outline:before {
    content: "\4a";
}

.icon-alert-lg:before {
    content: "\4b";
}

.icon-alert:before {
    content: "\4c";
}

.icon-answer:before {
    content: "\4d";
}

.icon-question-1:before {
    content: "\4e";
}

.icon-sliders:before {
    content: "\4f";
}

.icon-creditcard:before {
    content: "\50";
}

.icon-customer:before {
    content: "\51";
}

.icon-lock:before {
    content: "\52";
}

.icon-points-1:before {
    content: "\53";
}

.icon-question-2:before {
    content: "\54";
}

.icon-shippingbox:before {
    content: "\55";
}

.icon-history:before {
    content: "\58";
}

.icon-trash-o:before {
    content: "\56";
}

.icon-half-star:before {
    content: "\57";
}


/*removes thead anchor underline*/
a > i.icon::before {
    display: inline-block;
}

.alert {
    display: flex;
    flex-wrap: nowrap;
    min-height: 40px;
    margin-bottom: 10px;
    align-content: center;
    border: 1px solid #187ac3;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 400;
    background-color: #eaf2f8;
    color: #035da3;
}

    .alert.sm {
        font-size: 11px;
    }

    .alert.lg {
        font-size: 15px;
    }

    .alert.xl {
        font-size: 18px;
    }

    .alert:last-child {
        margin-bottom: 0;
    }

    .alert .text {
        padding: 10px 15px;
        align-items: center;
        justify-content: center;
    }

    .alert .icon-holder {
        /*width: 40px;*/
        flex-shrink: 0;
        padding: 0 10px;
        background-color: #187ac3;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .alert .icon-holder .icon {
            color: #FFF;
            font-size: 20px;
            line-height: .7;
        }

    .alert.sm .icon-holder .icon {
        font-size: 15px;
    }

    .alert.lg .icon-holder .icon {
        font-size: 30px;
    }

    .alert.xl .icon-holder .icon {
        font-size: 45px;
    }

    .alert .text .header {
        font-size: 1.5em;
        font-weight: bold;
    }

    .alert .text .subheader {
        font-weight: bold;
    }

    .alert.warning .button {
        background-color: #eaa600;
        border-color: #bf8800;
    }

    .alert.warning select {
        border-color: #bf8800;
    }

    .alert.success {
        background-color: #e7f5ed;
        border-color: #28a745;
        color: #28a745;
    }

        .alert.success a {
            color: #28a745;
        }

        .alert.success .icon-holder {
            background-color: #28a745;
        }

    .alert.error {
        background-color: #ffe4e0;
        border-color: #da2917;
        color: #da2917;
    }

        .alert.error a {
            color: #da2917;
        }

        .alert.error .icon-holder {
            background-color: #da2917;
        }

    .alert.warning {
        background-color: #fdf6e9;
        border-color: #eaa600;
        color: #bf8800;
    }

        .alert.warning .icon-holder {
            background-color: #eaa600;
        }

        .alert.warning a {
            color: #bf8800;
        }

    .alert.info {
        background-color: #fafafa;
        border-color: #888;
        color: #444;
    }

        .alert.info .icon-holder {
            background-color: #888;
        }

    .alert ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .alert li {
        margin-bottom: .5em;
    }

        .alert li:last-child {
            margin-bottom: 0;
        }



.emissions {
    color: #333;
    border: none;
    overflow: hidden;
}

.voluntary-product-labeling-program .emissions {
    font-size: 18px;
}


.emissions .icon-holder {
    padding: 10px;
}

    .emissions .icon-holder b {
        display: inline-block;
        border-radius: 99px;
        text-align: center;
        line-height: 1.5em;
        width: 1.5em;
        height: 1.5em;
        background-color: #fff;
        font-size: 2em;
    }

.emissions .text a {
    font-size: 75%;
    color: #888;
}

.emissions.epa-1 {
    background-color: rgba(136,204,0,.1);
    border-color: rgb(136,204,0);
}

    .emissions.epa-1 .icon-holder {
        background-color: rgb(136,204,0);
        color: rgb(136,204,0);
    }

.emissions.epa-2 {
    background-color: rgba(0,134,179,.1);
    border-color: rgb(0,134,179);
}

    .emissions.epa-2 .icon-holder {
        background-color: rgb(0,134,179);
        color: rgb(0,134,179);
    }

.emissions.epa-3 {
    background-color: rgba(242,182,0,.1);
    border-color: rgb(242,182,0);
}

    .emissions.epa-3 .icon-holder {
        background-color: rgb(242,182,0);
        color: rgb(242,182,0);
    }

.emissions.epa-4 {
    background-color: rgba(103,60,0,.1);
    border-color: rgb(103,60,0);
}

    .emissions.epa-4 .icon-holder {
        background-color: rgb(103,60,0);
        color: rgb(103,60,0);
    }

.voluntary-product-labeling-program.fancybox-content {
    width: 80%;
    margin-top: 40px;
}


body.iframe #breadcrumb {
    display: none;
}

#breadcrumb {
    width: 100%;
    background-color: #f3f3f3;
    font-size: 12px;
    white-space: nowrap;
    overflow-x: auto;
}

    #breadcrumb.white-bg {
        background-color: #fff;
    }

    #breadcrumb div.container > div {
        padding: 10px 0;
    }


    #breadcrumb a {
        position: relative;
        margin-right: 10px;
        padding: 0 5px;
        color: #777;
        display: inline-block;
        text-decoration: none;
        border-radius: 6px;
    }

        #breadcrumb a:first-child {
            margin-left: -5px;
        }


        #breadcrumb a:after {
            position: absolute;
            content: 'a';
            display: inline-block;
            font-family: opgi-icons;
            width: 20px;
            font-size: 10px;
            text-align: center;
            color: #777;
        }

        #breadcrumb a:hover {
            color: #035da3;
            background-color: rgba(3, 93, 163, 0.1);
        }

    #breadcrumb .current {
        margin-left: 5px;
        color: #999;
        white-space: nowrap;
    }

.site {
    overflow: hidden;
    transition: all .3s;
    position: relative;
    z-index: 10;
}

.search-open .site {
    padding-top: 50px;
}

.nav-open .site {
    margin: 0 250px 0 -250px !important;
}

@media screen and (min-width: 860px) {
    .nav-open .site {
        margin: 0 !important;
    }

    .search-open .site {
        padding-top: 0 !important;
    }
}

.container {
    position: relative;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1240px;
    padding-right: 15px;
    padding-left: 15px;
}

/* removed because it ruins flexbox justify-content: space-between (RJB 2024/07/15)*/
/*.container:after {
  content: "";
  display: table;
  clear: both;
}*/

@media screen and (min-width: 440px) {
    .container {
        padding-right: 30px;
        padding-left: 30px;
    }
}


.header-promo-banner {
    display: flex;
    justify-content: center;
    background: #035da3;
    transition: opacity .3s;
    pointer-events: none;
    overflow: hidden;
}

    .header-promo-banner:hover {
        opacity: .75;
    }

a.header-promo-banner-link {
    display: inline-block;
    padding: 12px 12px 8px;
    text-align: center;
    font-size: 13px;
    color: #fff;
    text-decoration: none;
    transition: opacity .3s;
    pointer-events: auto;
}

    a.header-promo-banner-link > span {
        display: block;
        transition: .3s all;
    }

    a.header-promo-banner-link .promo-title {
        font-size: 20px;
        font-weight: 700;
        line-height: 1;
        margin-bottom: .25em;
    }

    a.header-promo-banner-link .promo-desc {
        line-height: 1;
        white-space: nowrap;
    }


@media screen and (min-width: 600px) {
    a.header-promo-banner-link br {
        display: none;
    }
}

@media screen and (min-width: 860px) {
    a.header-promo-banner-link > span {
        display: inline-block;
    }

    a.header-promo-banner-link .promo-title {
        margin-right: 0.333em;
    }
}


a.header-promo-banner-link img {
    height: 24px;
    margin-top: -0.25em;
    margin-right: 0.25em;
    vertical-align: middle;
}

a.header-promo-banner-link.loader {
    background-position: center;
    background-repeat: no-repeat;
}

    a.header-promo-banner-link.loader.loading {
        background-image: url(/Images/loaders/oval-FFFFFF.svg);
    }

        a.header-promo-banner-link.loader.loading span {
            opacity: 0.5;
        }



#ctl00_header {
    background: #FFF;
    position: relative;
}

.header-top {
    background: #1f1f1f;
    color: #dbdbdb;
    font-size: 12px;
    height: 40px;
    line-height: 40px;
    position: relative;
    display: none;
}

@media screen and (min-width: 440px) {
    .header-top {
        display: block;
    }
}


.header-top-nav {
    float: right;
    margin-right: 40px;
    display: none;
    position: relative;
    z-index: 140;
}

@media screen and (min-width: 860px) {
    .header-top-nav {
        display: block;
    }
}

.header-top-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    float: right;
}

    .header-top-nav ul li {
        display: block;
        margin: 0;
        padding: 0;
        float: left;
        position: relative;
        transition-duration: 0.5s;
    }

        .header-top-nav ul li a {
            display: block;
            color: #ADA7A7;
            text-decoration: none;
            margin: 0;
            padding: 0 15px;
            font-weight: 400;
        }

            .header-top-nav ul li a:hover {
                color: #FFF;
            }

            .header-top-nav ul li a.new-hours {
                color: #fec600;
            }

                .header-top-nav ul li a.new-hours:hover {
                    color: #fe8d00;
                }


        .header-top-nav ul li ul {
            background: #f3f3f3;
            visibility: hidden;
            opacity: 0;
            min-width: 5rem;
            position: absolute;
            margin-top: 1rem;
            left: 0;
            display: none;
            margin: 0;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
            line-height: 1.5;
            padding: 5px 0;
        }

            .header-top-nav ul li ul:before {
                content: '';
                height: 0;
                width: 0;
                border-bottom: 6px solid #f3f3f3;
                border-left: 6px solid transparent;
                border-right: 6px solid transparent;
                position: absolute;
                top: -6px;
                left: 15px;
            }

            .header-top-nav ul li ul a {
                color: #2d2d2d;
                padding: 5px 15px;
                white-space: pre;
            }

                .header-top-nav ul li ul a:hover {
                    color: #035da3;
                    background-color: rgba(0,0,0,.05);
                }

            .header-top-nav ul li:hover > ul,
            .header-top-nav ul li ul:hover {
                visibility: visible;
                opacity: 1;
                display: block;
            }

            .header-top-nav ul li ul li {
                clear: both;
                width: 100%;
            }

.header-phone {
    color: #FFF;
    font-size: 16px;
    float: right;
    position: relative;
    height: 40px;
    line-height: 40px;
}

    /*.header-phone:after {
  content: '';
  display: block;
  height: 40px;
  width: 1000px;
  background: #035da3;
  position: absolute;
  left: 0px;
  top: 0;
  z-index: 1;
}*/

    .header-phone a {
        color: #FFF;
        position: relative;
        z-index: 2;
        font-weight: bold;
        text-decoration: none;
    }

        .header-phone a .icon-phone {
            position: relative;
            top: 2px;
            transform: rotate(90deg);
            margin-right: 5px;
        }

/*.header-phone .angle {
  height: 40px;
  width: 40px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: -40px;
  width: 40px;
}*/

/*.header-phone .angle:before {
  content: '';
  display: block;
  height: 100px;
  width: 100px;
  background: #035da3;
  position: absolute;
  left: 0;
  bottom: -2px;
  z-index: 2;
  transform: rotate(30deg);
  transform-origin: bottom left;
  border: 2px solid #035da3;
  outline: 1px solid #1f1f1f;
  outline-offset: -3px;
}*/

.header-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    column-gap: 20px;
    padding-top: 8px;
    padding-bottom: 15px;
}

@media screen and (min-width: 860px) {
    .header-main {
        flex-wrap: nowrap;
        height: 88px;
    }
}

.header-logo {
    display: inline-block;
    flex-shrink: 0;
    width: 91.42857142857143px; /* haha!!! */
    height: 51.42857142857143px; /* haha!!! */
    border-radius: 50%;
    overflow: hidden;
}

@media screen and (min-width: 440px) {
    .header-logo {
        width: 160px;
        height: 90px;
        margin-top: -40px;
    }
}

@media screen and (min-width: 860px) {
    .header-logo {
        /*margin-top: -30px;*/
    }
}

.as-seen-on {
    display: none;
}

@media screen and (min-width: 1100px) {
    .as-seen-on {
        display: block;
        width: 150px;
    }
}

.as-seen-on p {
    display: block;
    margin: 0;
    font-size: 10px;
    color: #757575;
    text-align: center;
}

.as-seen-on ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 20px;
    list-style-image: none;
    list-style-type: none;
}

    .as-seen-on ul li {
        line-height: 1;
        margin: 0;
        padding: 0;
    }

        .as-seen-on ul li a {
            display: block;
            opacity: .3;
            transition: opacity .2s;
        }

            .as-seen-on ul li a img {
                max-height: 34px;
                max-width: 70px;
            }

            .as-seen-on ul li a:hover {
                opacity: 1;
            }



#header-search {
    position: relative;
    display: flex;
    margin-top: 8px;
    width: 100%;
    order: 3;
    z-index: 130;
    transition: .3s transform;
}

@media screen and (min-width: 860px) {
    #header-search {
        max-width: 550px;
        order: unset;
        margin-top: 0;
    }
}

#header-search.fancybox-content {
    background: transparent;
    margin: 0;
    top: 60px;
    position: absolute;
    left: 0;
    padding: 10px;
    box-shadow: none;
}

    #header-search.fancybox-content .fancybox-close-small {
        color: #FFF;
        position: fixed;
        height: 60px;
        width: 60px;
    }

#header-search .search-form {
    display: flex;
    flex-grow: 1;
}

@media screen and (min-width: 860px) {
    #header-search .search-form {
        position: relative;
    }
}

#header-search .search-form input#tbAjaxSearch {
    flex-grow: 1;
    width: calc(100% - 60px);
    border-width: 1px 0 1px 1px;
    border-radius: 0;
    height: 40px;
    line-height: 40px;
}

    #header-search .search-form input#tbAjaxSearch:focus {
        border-color: #035da3;
    }

#header-search .search-form a.search-button {
    width: 60px;
    height: 40px;
    line-height: 40px;
    padding: 0;
    font-size: 30px;
    margin: 0;
    text-align: center;
    border-radius: 0 6px 6px 0;
    font-family: opgi-icons;
}

    #header-search .search-form a.search-button:hover .icon-search {
        display: inline-block;
        transform: rotate(0);
    }

    #header-search .search-form a.search-button:hover .icon-search {
        transform: rotate(-10deg);
    }

#header-search.filter-highlight {
    box-shadow: 0 0 20px rgba(0, 0, 0, .5);
    border-radius: 6px;
    z-index: 160;
    /*transform: scale(1.05);*/
}

    #header-search.filter-highlight .search-form input {
        border-color: #fff;
    }


#header-garage {
    position: relative;
}



#header-garage-button {
    display: flex;
    flex: 0 0 200px;
    align-items: center;
    position: relative;
    padding: 0 0 0 10px;
    min-width: 175px;
    height: 40px;
    background-color: #e5e5e5;
    border: 1px solid #cccccc;
    border-right-width: 0;
    border-radius: 6px 0 0 6px;
    font-size: 13px;
    text-align: center;
    line-height: 1.1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    -webkit-tap-highlight-color: transparent; /* remove highlight */
}

#header-garage-initial-loader {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease-out, visibility 0s linear 0.2s;
}

#header-garage-initial-loader img {
    display: block;
    width: 20px;
    height: 20px;
}

#header-garage-button.garage-initial-loading #header-garage-initial-loader {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

#header-garage-button.garage-initial-loading .icon-holder,
#header-garage-button.garage-initial-loading #header-garage-button-title {
    opacity: 0;
    visibility: hidden;
}


#header-garage-button-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    margin: 0 2px 0 0;
    transition: width 0.3s ease-out, opacity 0.2s;
}

    #header-garage-button-title span {
        display: block;
    }

#header-garage-button .icon-holder {
    display: none;
    flex: 0 0 90px;
    width: 90px;
    height: 40px;
    overflow: hidden;
    position: relative;
    line-height: 40px;
    transition: opacity 0.2s;
}

@media screen and (min-width: 330px) {
    #header-garage-button .icon-holder {
        display: initial;
    }
}

@media (prefers-reduced-motion: reduce) {
    #header-garage-initial-loader,
    #header-garage-button .icon-holder,
    #header-garage-button-title {
        transition: none;
    }
}



#header-garage-car-icon {
    padding-right: 8px;
    width: 90px;
    vertical-align: middle;
    opacity: 0.75;
    transition: opacity 0.3s, filter 0.3s;
}

#header-garage-add-car {
    width: 24px;
    height: 24px;
    line-height: 24px;
    right: 4px;
    top: 50%;
    margin-top: -12px;
    font-size: 22px;
    background-color: #035da3;
    border-radius: 100%;
    color: #fff;
    text-align: center;
    position: absolute;
    z-index: 2;
    font-weight: bold;
}

#header-garage-button.garage-count-zero #header-garage-button-title {
    margin-right: 8px;
}

#header-garage-button .icon-up-open-mini::before,
#header-garage-button .icon-down-open-mini::before {
    display: inline-block;
    font-size: 24px;
    line-height: 40px;
}

#header-garage-button.active {
    background-color: #035da3;
    border-color: #035da3;
    color: #fff;
    border-bottom-left-radius: 0;
}

    #header-garage-button.active #header-garage-add-car {
        color: #035da3;
        background-color: #fff;
    }

    #header-garage-button.active #header-garage-car-icon {
        opacity: 0.75;
        filter: invert();
    }

.header-garage-vehicle-saved-notification {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    width: 100%;
    background-color: #ffe158;
    background-color: rgba(255, 225, 88, 1);
    border-radius: 3px;
    color: #1f1f1f;
    text-align: center;
    font-weight: bold;
    font-size: 13px;
    line-height: 30px;
    z-index: -1;
    opacity: 0;
}

.header-garage-vehicle-saved-notification.show {
    animation: slideUpDown 5s ease-in-out forwards;
}

    .header-garage-vehicle-saved-notification:after {
        content: '';
        height: 0;
        width: 0;
        border-top: 6px solid #ffe158;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        position: absolute;
        bottom: -6px;
        left: calc(50% - 3px);
    }

    .header-garage-vehicle-saved-notification.garage-synced:before {
        content: '';
        display: inline-block;
        width: 20px;
        height: 16px;
        margin-right: 5px;
        background: center / contain no-repeat url('/Images/icons/cloud.svg');
        vertical-align: -3px;
    }

@keyframes slideUpDown {
    0% {
        transform: translateY(0%);
        opacity: 0;
    }

    10%, 90% {
        transform: translateY(calc(-100% - 6px));
        opacity: 1;
    }

    100% {
        transform: translateY(0%);
        opacity: 0;
    }
}



@media screen and (max-width: 440px) {
    #header-garage-button.search-input-focus #header-garage-car-icon {
        padding-right: 0;
        width: 0;
        opacity: 0;
    }
}

#garage-popup {
    display: none;
    position: absolute;
    background: #FFF;
    border-top: 2px solid #035da3;
    z-index: 110;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    top: 100%;
    left: 0;
    right: 0;
    width: calc(100vw - 30px);
}


@media screen and (min-width: 600px) {
    #garage-popup {
        width: 450px;
        right: auto;
    }
}

#garage-popup.show {
    display: block;
}


#garage-popup .top {
    display: flex;
    justify-content: space-between;
    padding: 20px 20px;
    font-size: 12px;
    color: #A5A5A5;
    display: flex;
    align-items: center;
    line-height: 1.4;
}

    #garage-popup .top a {
        border-color: #d3d3d3;
        font-weight: normal;
    }


    #garage-popup .top.history {
        border-top: 1px solid #eaebea;
    }

        #garage-popup .top.history .icon {
            top: 3px;
        }

    #garage-popup .top .icon {
        color: #2d2d2d;
        font-size: 30px;
        position: relative;
        margin-right: 15px;
        line-height: 1;
        top: 5px;
    }

    #garage-popup .top .text a {
        position: relative;
        display: inline-block;
        margin: 0 -10px;
        padding: 0px 10px;
        font-size: 16px;
        font-weight: bold;
        color: #2d2d2d;
        text-decoration: none;
        border-radius: 6px;
    }

        #garage-popup .top .text a:hover {
            color: #035da3;
            background-color: rgba(3, 93, 163, 0.1);
        }


#vehicles-loading {
    padding: 10px 30px;
    display: flex;
    column-gap: 10px;
    align-items: center;
}

#vehicles-loading img {
    height: 20px;
    width:  20px;
}




#garage-popup .vehicles {
    margin: 0;
    padding: 0;
    display: block;
    height: auto;
    overflow-y: auto;
    max-height: calc(100vh - 400px);
}

    #garage-popup .vehicles li {
        width: 100%;
        position: relative;
        list-style: none;
    }


        #garage-popup .vehicles li .name {
            display: block;
            padding-left: 30px;
            color: #2d2d2d;
            height: 44px;
            line-height: 44px;
            font-size: 13px;
            text-decoration: none;
        }

@media screen and (min-width: 440px) {
    #garage-popup .vehicles li .name {
        border-bottom: 1px solid #eee;
    }
}

#garage-popup .vehicles li:last-child .name {
    border-bottom: none;
}

#garage-popup .vehicles li .name span {
    display: none;
}

@media screen and (min-width: 440px) {
    #garage-popup .vehicles li .name span {
        display: inline;
    }
}

#garage-popup .vehicles li .name:hover {
    background-color: #e5eef6;
}


#garage-popup .vehicles li.vselected .name {
    font-weight: bold;
    color: #035da3;
}

#garage-popup .vehicles li.vselected:before {
    position: absolute;
    content: '';
    display: block;
    height: 7px;
    width: 7px;
    border-radius: 100%;
    background: #035da3;
    left: 14px;
    top: 50%;
    margin-top: -3.5px;
}


#garage-popup .vehicles li div.actions {
    position: absolute;
    display: flex;
    column-gap: 10px;
    right: 30px;
    top: 7px;
}

#garage-popup .vehicles li .button {
    padding: 0 8px;
    height: 30px;
    line-height: 30px;
    font-weight: normal;
    font-size: 13px;
    border: 1px solid #035da3;
    background-color: #FFF;
    color: #035da3;
    opacity: 1
}

    #garage-popup .vehicles li .button.garage-shop-now {
        color: #035da3;
        border-color: #035da3;
    }

/*#garage-popup .vehicles li.vselected .button {
    color: #2d2d2d;
}*/

#garage-popup .vehicles li .name:hover + div .button,
#garage-popup .vehicles li div:hover .button {
    opacity: 1;
}

#garage-popup .vehicles li .name:hover + div .garage-shop-now,
#garage-popup .vehicles li .garage-shop-now:hover {
    background-color: #035da3;
    border-color: #035da3;
    color: #fff;
}

#garage-popup .vehicles li .garage-filter-search:hover {
    background-color: #0384a3;
    border-color: #0384a3;
    color: #fff;
}


@media screen and (min-width: 440px) {
    #garage-popup .vehicles li div {
        top: 8px;
    }

    #garage-popup .vehicles li .button {
        height: 26px;
        line-height: 26px;
        font-size: 11px;
        opacity: 0.33;
    }
}


#garage-popup .vehicles li .remove {
    font-size: 24px;
    color: #DDD;
    cursor: pointer;
    flex-shrink: 0;
}

    #garage-popup .vehicles li .remove:hover {
        color: #da2917;
    }

#garage-popup .vehicles.history .button {
    margin-right: 0;
}

    #garage-popup .vehicles.history .button.save {
        margin-right: 5px;
        background: #f3f3f3;
    }

#garage-popup .vehicles.history .button {
    margin-right: 0;
}

    #garage-popup .vehicles.history .button.save {
        margin-right: 5px;
        background: #f3f3f3;
    }

#garage-popup .bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 20px;
    font-size: 14px;
}

    #garage-popup .bottom .empty {
        display: block;
        margin-right: auto;
        font-style: italic;
    }

    #garage-popup .bottom .clear {
        margin-right: auto;
    }

        #garage-popup .bottom .clear .icon {
            position: relative;
            top: 2px;
        }

        #garage-popup .bottom .clear:hover {
            color: #035da3;
        }

    #garage-popup .bottom .button {
        width: 48%;
    }




.search-highlight-overlay {
    background-color: #000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: -1;
    cursor: pointer;
}



#search-popup {
    display: none;
    position: absolute;
    background-color: #fff;
    top: 100%;
    left: 0;
    z-index: 1000;
    width: 100%;
    max-height: 800px;
    overflow-y: auto;
    margin-top: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    box-sizing: border-box;
}

@media screen and (min-width: 860px) {
    #search-popup {
        width: calc(100% - 60px);
    }
}

#search-popup-loading {
    display: none;
    position: absolute;
    right: 90px;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
}

#search-popup a {
    display: block;
    padding: 0 10px;
    color: #2d2d2d;
    text-decoration: none;
    transition: background-color .3s;
}

    #search-popup a:hover {
        background-color: rgba(5, 134, 234, .15)
    }



.suggestion-column {
    /*width: 100%; 
    box-sizing: border-box;
    padding: 5px;*/
}

.suggestion-item {
    padding: 1px 5px 1px 5px;
    display: flex;
    align-items: center;
    font-size: 11px;
}

.suggestion-item-keyword {
    /* margin: 0 -10px; */
    padding: 0 10px;
}

.suggestion-item-category {
    padding: 1px 5px 1px 5px;
    display: flex;
    align-items: center;
    font-size: 11px;
}

.suggestion-items-brands {
    display: flex;
    margin: 0 5px;
}

.suggestion-item-brand {
    margin-right: 10px;
    width: calc(25% - 10px);
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    border-radius: 6px;
}


    .suggestion-item-brand img {
        max-height: 55px;
        max-width: 60px;
        padding: 5px 0;
    }

    .suggestion-item-brand span {
        display: none
    }

.suggestion-item-brand-anchor:hover {
    color: #035DA3;
    text-decoration: underline;
}

.suggestion-brand-text {
    display: inline;
    font-size: 10px;
    font-weight: 700;
    line-height: 0.6 !important;
}

.suggestion-item img {
    width: 80px;
    height: 80px;
    margin-right: 5px;
}

.suggestion-header {
    font-weight: 700;
    padding-left: 10px;
}

.suggestion-section {
    width: 100%;
    padding: 10px 0px;
    border-bottom: 1px solid #f3f3f3;
}

.suggestion-items-categories {
    /* display: flex; */
    flex-wrap: wrap;
    /* margin-right: -10px; */
    /* margin-left: -6px; */
}

a.suggestion-item-category {
    /* width: calc(50% - 10px); */
    /* margin-right: 10px; */
    /* margin-bottom: 2px; */
    padding: 5px 0px 5px 10px !important;
    /* border-radius: 6px; */
    background-color: #FFF;
    font-size: 12px;
    line-height: 1.1;
}


a.suggestion-item-product {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    padding: 5px 10px !important;
    /* margin: 0 -10px; */
}

.suggestion-section-view-all-results {
    padding: 0;
    border-bottom: none;
}

.suggestion-item-view-all-results {
    display: flex !important;
    padding: 10px !important;
    align-items: center;
}

    .suggestion-item-view-all-results span {
        margin: 0 0.2em;
    }

    .suggestion-item-view-all-results i.icon.icon-search {
        font-size: 17px;
        top: 2px;
        position: relative;
    }

/*.suggestion-item-view-all-results kbd {
    display: none;
}

@media screen and (min-width: 440px) {
    .suggestion-item-view-all-results kbd {
        display: inline-block;
    }
}*/

#search-popup kbd {
    font-size: 10px;
}


.product-image-container {
    width: 50px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

    .product-image-container img {
        max-width: 100%;
        max-height: 50px;
        display: block;
        height: auto;
        mix-blend-mode: multiply;
    }

.product-text-container {
    /* display: flex; */
    flex: 1;
    line-height: 1;
    font-size: 12px;
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    overflow: hidden;
}

.product-name,
.product-price {
    line-height: 1.1;
}


.product-price {
    font-weight: bold;
}

/*
@media only screen and (max-width: 860px) {
  #header-search {
    position: fixed;
    top: 0;
    left: 10px;
    right: 10px;
    width: calc(100% - 20px); 
    max-width: calc(100% - 20px);
    box-sizing: border-box; 
  }
  
  #search-popup {
      width: calc(100% - 10px);
      max-width: 860px; 
  }
}*/








.header-features {
    float: right;
}

    .header-features ul {
        display: flex;
        align-items: center;
        list-style: none;
        margin: 0;
        padding: 0;
    }

        .header-features ul:after {
            content: "";
            display: table;
            clear: both;
        }

@media screen and (min-width: 440px) {
    .header-features ul {
        height: 44px;
    }
}

@media screen and (min-width: 860px) {
    .header-features ul {
        height: auto;
    }
}

.header-features ul li {
    margin: 0 0 0 18px;
    padding: 0;
    position: relative;
    line-height: 24px;
}

    .header-features ul li:first-child {
        margin: 0;
    }


    .header-features ul li.search a {
        text-decoration: none;
        color: #2d2d2d;
        outline: none;
    }

    /*@media screen and (min-width: 860px) {
  .header-features ul li {
    margin: 0 0 0 30px;
  }
}*/

    .header-features ul li a.link {
        display: flex;
        color: #2d2d2d;
        text-decoration: none;
        font-weight: 400;
        white-space: nowrap;
    }

        .header-features ul li a.link .icon-holder {
            display: flex;
            float: left;
            /*width: 28px;
    height: 28px;*/
            margin-right: 2px;
            position: relative;
        }

            .header-features ul li a.link .icon-holder img {
                opacity: 0.8;
                max-height: 24px;
                max-width: none;
            }

            .header-features ul li a.link .icon-holder .icon {
                display: block;
            }

        .header-features ul li a.link:hover {
            color: #035da3;
        }

            .header-features ul li a.link:hover .count {
                background: #035da3;
            }

        .header-features ul li a.link > span,
        .header-features ul li a.link div > span {
            position: relative;
            display: none;
        }


@media screen and (min-width: 860px) {
    .header-features ul li a.link > span {
        display: inline-block;
    }

    .header-features ul li a.link div > span {
        display: block;
    }
}

@media screen and (min-width: 860px) {
    .header-features .phone-handset,
    .header-features .account-bust {
        display: none;
    }
}

@media screen and (min-width: 860px) {
    .header-features ul .search,
    .header-features ul .nav {
        display: none;
    }
}

.header-features .free-catalogs {
    display: none;
}

@media screen and (min-width: 370px) {
    .header-features .free-catalogs {
        display: block;
    }
}



@media screen and (min-width: 860px) {
    .header-features .free-catalogs .icon-holder {
        padding: 2px;
    }
}


.header-features .icon-searchnav {
    font-size: 26px;
    position: relative;
    top: 2px;
}

.header-features .icon-cart {
    font-size: 24px;
    line-height: 1;
    position: relative;
    top: 1px;
}

.header-features .count,
.badge-count {
    background: #da2917;
    border-radius: 100%;
    color: #FFF;
    font-size: 12px;
    height: 18px;
    line-height: 18px;
    width: 18px;
    text-align: center;
    position: absolute;
    z-index: 2;
    top: -10px;
    right: -4px;
    font-weight: bold;
    opacity: 1;
    transition: 1s opacity;
}

    .header-features .count.hide {
        opacity: 0;
    }


.nav-toggle {
    height: 32px;
    width: 32px;
    right: 30px;
    border-radius: 50%;
    cursor: pointer;
}

.nav-open .nav-toggle {
    background: #fff;
    position: relative;
    top: 0;
    right: 0;
    z-index: 1000;
}

    .nav-open .nav-toggle i, .nav-open .nav-toggle::before, .nav-open .nav-toggle::after {
        background: #2d2d2d !important;
    }

.nav-toggle:hover i, .nav-toggle:hover::before, .nav-toggle:hover::after {
    background: #2d2d2d;
}

.nav-toggle i, .nav-toggle::before, .nav-toggle::after {
    position: absolute;
    height: 3px;
    width: 24px;
    background: #2d2d2d;
    left: 4px;
    transition: all .2s ease-in-out .1s, background .1s;
    border-radius: 6px;
}

.nav-toggle::before, .nav-toggle::after {
    content: '';
    transition: all .2s ease-in-out .3s, transform .2s ease-in-out .1s, background .1s;
}

.nav-toggle i {
    top: calc(50% - 1px);
}

.nav-open .nav-toggle i {
    opacity: 0;
    transition: all .2s ease-in-out .1s, background .1s;
}

.nav-toggle::before {
    top: 8px;
}

.nav-open .nav-toggle::before {
    transform: rotate(45deg);
    transition: all .2s ease-in-out .1s, transform .2s ease-in-out .3s, background .1s;
    top: 15px;
}

.nav-toggle::after {
    top: 22px;
}

.nav-open .nav-toggle::after {
    transform: rotate(-45deg);
    transition: all .2s ease-in-out .1s, transform .2s ease-in-out .3s, background .1s;
    top: 15px;
}





#garage-account .vehicles {
    padding: 0;
    margin: 0;
}

    #garage-account .vehicles li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 16px 0;
        padding: 0;
        width: 100%;
        position: relative;
    }


        #garage-account .vehicles li .name {
            flex-grow: 1;
            color: #2d2d2d;
            line-height: 1.2;
            text-align: left;
            margin-right: 10px;
        }

        #garage-account .vehicles li.vselected {
            font-weight: bold;
        }

            #garage-account .vehicles li.vselected:before {
                background: #035da3;
            }


        #garage-account .vehicles li .button {
            margin-right: 10px;
            font-size: 12px;
            flex-shrink: 0;
        }

        #garage-account .vehicles li .remove {
            cursor: pointer;
            font-size: 30px;
            color: #dbdcdb;
            text-align: center;
            border: none;
            background: none;
            outline: none;
        }

            #garage-account .vehicles li .remove:hover {
                color: #da2917;
            }


#ctl00_hlCart {
    position: relative;
}

    #ctl00_hlCart.active {
        z-index: 200;
    }

#cart-popup {
    display: none;
    background: #FFF;
    border-top: 2px solid #035da3;
    z-index: 200;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    top: 0;
    top: 100%;
    left: auto;
    width: calc(100vw - 30px);
    right: -50px;
    position: absolute;
    margin-top: 10px;
}

@media screen and (min-width: 440px) {
    #cart-popup {
        width: calc(100vw - 60px);
    }
}

@media screen and (min-width: 600px) {
    #cart-popup {
        width: 380px;
        position: absolute;
        right: -58px;
        left: auto;
        top: 100%;
        margin-top: 6px;
    }
}

@media screen and (min-width: 860px) {
    #cart-popup {
        right: -15px;
        margin-top: 12px;
    }
}

#cart-popup.show {
    display: block;
}

#cart-popup:before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    border-bottom: 6px solid #035da3;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    position: absolute;
    top: -8px;
    right: 57px;
}

@media screen and (min-width: 600px) {
    #cart-popup:before {
        right: 65px;
    }
}

@media screen and (min-width: 860px) {
    #cart-popup:before {
        right: 50px;
    }
}

#cart-popup .top {
    padding: 10px 20px;
    color: #A5A5A5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eaebea;
    font-size: 13px;
}

    #cart-popup .top .item-count {
        color: #999;
    }

    #cart-popup .top .clear {
        color: #2d2d2d;
        cursor: pointer;
    }

        #cart-popup .top .clear:hover {
            color: #035da3;
        }

#cart-popup .cart-items {
    padding: 0;
    display: block;
    margin: 0;
    overflow-y: auto;
}

#cart-popup .cart-items,
#vehicleSavedAjaxID {
    max-height: 100px;
}

@media screen and (min-height: 500px) {
    #cart-popup .cart-items,
    #vehicleSavedAjaxID {
        max-height: 300px;
    }
}


@media screen and (min-height: 600px) {
    #cart-popup .cart-items,
    #vehicleSavedAjaxID {
        max-height: 400px;
    }
}

@media screen and (min-height: 700px) {
    #cart-popup .cart-items,
    #vehicleSavedAjaxID {
        max-height: 500px;
    }
}

@media screen and (min-height: 900px) {
    #cart-popup .cart-items,
    #vehicleSavedAjaxID {
        max-height: 600px;
    }
}



#cart-popup .cart-items tr:last-child td {
    border: none;
}

#cart-popup .cart-items td {
    border-bottom: 1px solid #eaebea;
}

#cart-popup .cart-items .image {
    width: 100px;
    padding: 10px;
}

    #cart-popup .cart-items .image a {
        display: block;
        text-align: center;
    }

    #cart-popup .cart-items .image img {
        max-height: 100px;
        mix-blend-mode: multiply;
    }


#cart-popup .cart-items .content {
    padding: 0 15px 0 0;
}

    #cart-popup .cart-items .content a.name {
        font-size: 12px;
        display: block;
        line-height: 1.4;
        color: #2d2d2d;
        text-decoration: none;
    }

        #cart-popup .cart-items .content a.name:hover {
            color: #035da3;
        }

    #cart-popup .cart-items .content .item-quantity {
        color: #999;
        font-size: 12px;
        margin-right: 10px;
    }

    #cart-popup .cart-items .content .price {
        font-size: 12px;
        color: #2d2d2d;
    }

        #cart-popup .cart-items .content .price .price-wrapper {
            display: inline-block;
        }

#cart-popup .cart-items .remove {
    text-align: center;
    font-size: 24px;
    cursor: pointer;
    flex-shrink: 0;
    padding: 0 20px;
}

    #cart-popup .cart-items .remove a {
        color: #DDD;
        text-decoration: none;
    }

        #cart-popup .cart-items .remove a:hover {
            color: #333;
        }

#cart-popup .subtotal {
    border-top: 1px solid #eaebea;
    padding: 15px 20px 15px;
    font-size: 16px;
    text-align: center;
}

    #cart-popup .subtotal strong {
        color: #2d2d2d;
    }

#cart-popup .buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 20px 20px;
}

    #cart-popup .buttons .button {
        display: block;
        flex-grow: 1;
        font-size: 14px;
    }

        #cart-popup .buttons .button:first-child {
            margin-right: 5px;
        }

        #cart-popup .buttons .button:last-child {
            margin-left: 5px;
        }


#header-features-underlay {
    display: none;
    opacity: 0;
    position: fixed;
    z-index: 120;
    transition: all ease-out 1s;
    cursor: pointer;
}

    #header-features-underlay.show {
        opacity: .6;
        display: block;
    }

@media screen and (min-width: 600px) {
    #header-features-underlay.show:not(.filter-search-highlight) {
        display: none;
    }
}

#header-features-underlay.filter-search-highlight {
    z-index: 150;
}


body.checkout {
    background-color: #f3f3f3;
}

.checkout-header {
    background: #FFF;
    font-size: 13px;
}

    .checkout-header .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 68px;
    }

    .checkout-header .checkout-logo {
        flex-grow: 1;
    }

        .checkout-header .checkout-logo a {
            display: block;
            width: 90px;
            position: relative;
            top: 3px;
            /*
			@include media(600px) {
				width: 110px;
				top: 14px;
			}
			*/
        }

    .checkout-header .header-actions {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .checkout-header .header-features ul {
        height: auto;
    }

    .checkout-header .header-features .cart {
        margin: 0 0 0 10px;
        padding: 0 0 0 10px;
        border-left: 1px solid #e1e1e1;
    }

@media screen and (min-width: 600px) {
    .checkout-header .header-features .cart {
        margin: 0 0 0 20px;
        padding: 0 0 0 20px;
    }
}

.checkout-header .header-features .cart a {
    text-decoration: none;
    color: #2d2d2d;
}

.checkout-header .support-line {
    font-weight: 400;
    line-height: 1.2;
    text-align: right;
    padding-left: 1em;
}

    .checkout-header .support-line strong {
        color: #035da3;
        font-weight: normal;
    }

    .checkout-header .support-line span {
        display: none;
    }

@media screen and (min-width: 600px) {
    .checkout-header .support-line span {
        display: inline;
    }
}

#site-nav {
    border-top: 1px solid #e3e4e3;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.055);
    height: 54px;
    display: none;
}

@media screen and (min-width: 860px) {
    #site-nav {
        display: block;
    }
}

#site-nav .container {
    position: initial;
}

#site-nav ul.nav {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

@media screen and (min-width: 1100px) {
    #site-nav ul.nav {
        max-width: 900px;
    }
}

#site-nav ul.nav li {
    list-style: none;
    margin: 0;
    padding: 0;
}

    #site-nav ul.nav li > span {
        color: #2d2d2d;
        display: block;
        font-size: 15px;
        font-weight: 400;
        text-decoration: none;
        height: 54px;
        line-height: 52px;
        cursor: default;
    }

    #site-nav ul.nav li.active {
        background: url('/images/nav-dropdown-arrow.png') bottom center no-repeat;
        background-size: auto 6px;
    }

        #site-nav ul.nav li.active span {
            color: #035da3;
        }

#site-nav ul .dropdown {
    display: none;
    background: #FFF;
    border-top: 3px solid #035da3;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 30px 0;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.3);
    list-style: none;
}

    #site-nav ul .dropdown ul {
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        list-style: none;
        list-style-image: none;
        list-style-type: none;
        z-index: 100;
    }

    #site-nav ul .dropdown li {
        background: none !important;
        list-style: none;
        margin: 0;
        padding: 0 60px 0 0;
        width: 33.333%;
    }

@media screen and (min-width: 992px) {
    #site-nav ul .dropdown li {
        width: 25%;
    }
}

#site-nav ul .dropdown li a {
    cursor: pointer;
    display: flex;
    width: 100%;
    height: auto;
    font-size: 14px;
    line-height: 1.4;
    padding: 10px;
    justify-content: space-between;
    text-decoration: none;
    border-radius: 6px;
    transition: .3s background-color;
}

    #site-nav ul .dropdown li a:hover {
        background-color: #f2f2f2;
    }

        #site-nav ul .dropdown li a:hover b {
            text-decoration: underline;
            color: #035da3;
        }

        #site-nav ul .dropdown li a:hover .desc span {
            color: #888;
            text-decoration: none;
        }

#site-nav ul .dropdown li .image {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-content: center;
    overflow: hidden;
}

    #site-nav ul .dropdown li .image img {
        align-self: center;
        mix-blend-mode: darken;
    }

#site-nav ul .dropdown li .desc {
    width: calc(100% - 65px);
}

    #site-nav ul .dropdown li .desc b {
        color: #2d2d2d;
        display: block;
        font-weight: 400;
        line-height: 1.2;
        margin-bottom: 2px;
    }

    #site-nav ul .dropdown li .desc span {
        color: #888;
        display: block;
        font-size: 11px;
        width: 100%;
    }

#site-nav .ask-an-expert {
    float: right;
    text-align: right;
    position: relative;
    height: 53px;
    margin-left: 30px;
    overflow: hidden;
    display: none;
    min-width: 180px;
}

@media screen and (min-width: 1100px) {
    #site-nav .ask-an-expert {
        display: block;
    }
}

#site-nav .ask-an-expert a {
    text-decoration: none;
}

    #site-nav .ask-an-expert a:hover small {
        color: #035da3;
    }

#site-nav .ask-an-expert img {
    height: 48px;
    width: auto;
    margin-top: 6px;
}

#site-nav .ask-an-expert .text {
    float: right;
    margin-left: 10px;
    margin-top: 9px;
}

#site-nav .ask-an-expert small {
    color: #444;
    display: block;
    font-size: 11px;
}

#site-nav .ask-an-expert a {
  display: block;
  font-size: 13px;
  font-weight: bold;
}

#site-nav .ask-an-expert .icon-chatbubble {
    margin-right: 2px;
}

.chat-status-online .offline {
    display: none;
}

.chat-status-offline .online {
    display: none;
}



.mobile-nav {
    position: fixed;
    width: 280px;
    bottom: 0;
    right: 0;
    top: 0;
    background: #1f1f1f;
    color: #FFF;
    margin: 0 -280px 0 0 !important;
    transition: all .3s;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    z-index: 50;
}

.nav-open .mobile-nav {
    margin-right: 0 !important;
}

@media screen and (min-width: 1024px) {
    .nav-open .mobile-nav {
        margin: 0 -280px 0 0 !important;
    }
}

footer .newsletter {
    background: #035da3;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

    footer .newsletter:after {
        content: "";
        display: table;
        clear: both;
    }

@media screen and (min-width: 768px) {
    footer .newsletter {
        flex-direction: row;
    }
}

footer .newsletter .text {
    color: #FFF;
    float: left;
    margin-bottom: 10px;
    text-align: center;
}

@media screen and (min-width: 768px) {
    footer .newsletter .text {
        text-align: right;
        margin-bottom: 0;
        padding-right: 10px;
        width: 50%;
    }
}

footer .newsletter .text strong {
    font-size: 26px;
    line-height: 1.2;
    display: block;
}

footer .newsletter .text span {
    font-size: 14px;
    display: block;
}

footer .newsletter .form-holder {
    max-width: 350px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    footer .newsletter .form-holder {
        width: 50%;
        float: left;
        padding-left: 10px;
    }
}

footer .newsletter .form {
    display: flex;
    margin: 0;
    padding: 0;
    position: relative;
    max-width: 350px;
    width: 100%;
}

    footer .newsletter .form .icon {
        position: absolute;
        top: 9px;
        left: 13px;
        color: #AEAEAE;
    }

    footer .newsletter .form input:not([type=button]) {
        border-radius: 3px 0 0 3px !important;
        border: none !important;
        width: calc(100% - 100px);
        padding-left: 35px !important;
    }

        footer .newsletter .form input:not([type=button]):focus, footer .newsletter .form input:not([type=button]):active, footer .newsletter .form input.nice-select.open:not([type=button]) {
            background: #FFF;
        }

    footer .newsletter .form .button {
        border-radius: 0 6px 6px 0;
        width: 100px;
        height: 40px;
        line-height: 40px;
        padding: 0;
        margin: 0;
        text-align: center;
        background-color: #002c4f;
        border-color: #002c4f;
    }

    footer .newsletter .form a:hover {
        background-color: #1f1f1f;
        border-color: #1f1f1f;
    }

.footer-main {
    padding: 60px 0 0 0;
    font-size: 14px;
}

    .footer-main .container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        flex-wrap: wrap;
    }

@media screen and (min-width: 992px) {
    .footer-main .container {
        flex-wrap: nowrap;
    }
}

.footer-main h6, .footer-main .h5 {
    margin: 0 0 5px 0;
    font-size: 16px;
}

    .footer-main h6 a, .footer-main .h5 a {
        color: #035da3;
        text-decoration: none !important;
    }

        .footer-main h6 a .icon, .footer-main .h5 a .icon {
            position: relative;
            left: 0;
            top: 1px;
            transition: all .1s;
        }

        .footer-main h6 a:hover .icon, .footer-main .h5 a:hover .icon {
            left: 2px;
        }

.footer-main ul {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0;
}

    .footer-main ul li {
        margin: 0;
        padding: 5px 0 0 0;
    }

@media screen and (min-width: 992px) {
    .footer-main ul li {
        padding: 8px 0 0 0;
    }
}

.footer-main a {
    display: inline-block;
    color: #696969;
    text-decoration: none;
    line-height: 1;
}

    .footer-main a:hover {
        color: #035da3;
        text-decoration: underline;
    }

.footer-main .footer-nav {
    width: 50%;
}

    .footer-main .footer-nav.contact {
        line-height: 1.8;
        width: 100%;
    }

@media screen and (min-width: 600px) {
    .footer-main .footer-nav {
        width: 33.333%;
    }

        .footer-main .footer-nav.contact {
            width: 33.333%;
        }
}

@media screen and (min-width: 992px) {
    .footer-main .footer-nav {
        width: auto;
    }

        .footer-main .footer-nav.contact {
            width: auto;
        }
}

.footer-main .catalog {
    order: 1;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

@media screen and (min-width: 992px) {
    .footer-main .catalog {
        order: inherit;
        width: auto;
        display: flex;
        flex-direction: column;
    }
}

.footer-main .catalog h6, .footer-main .catalog .h5 {
    width: 100%;
}

.footer-main .catalog ul {
    columns: auto 2;
    column-gap: 15px;
}

@media screen and (min-width: 600px) {
    .footer-main .catalog ul {
        order: inherit;
        /*width: 50%;*/
    }
}

@media screen and (min-width: 992px) {
    .footer-main .catalog ul {
        width: 100%;
        /*float: none;*/
    }
}

.footer-main .catalog .catalog-img {
    max-width: 520px;
    margin: 0 auto;
}

@media screen and (min-width: 600px) {
    .footer-main .catalog .catalog-img {
        order: 2;
        align-self: flex-end;
        /*width: 50%;*/
    }
}

@media screen and (min-width: 992px) {
    .footer-main .catalog .catalog-img {
        float: none;
        margin: 0;
        width: auto;
    }
}

.footer-main .catalog .catalog-img img {
    /*display: block;*/
    vertical-align: top;
}

.footer-contact {
    border-top: 1px solid #e2e4e3;
    padding: 30px 0;
}

    .footer-contact:after {
        content: "";
        display: table;
        clear: both;
    }

    .footer-contact .contact {
        font-size: 14px;
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: center;
        margin-bottom: 20px;
    }

        .footer-contact .contact:after {
            content: "";
            display: table;
            clear: both;
        }

@media screen and (min-width: 1040px) {
    .footer-contact .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .footer-contact .contact {
        margin-bottom: 0;
        float: left;
        text-align: left;
    }
}

.footer-contact .contact li {
    display: block;
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 768px) {
    .footer-contact .contact li {
        border-right: 1px solid #e2e4e3;
        display: inline-block;
        padding: 0 12px;
        /*line-height: 32px;*/
    }

        .footer-contact .contact li:first-child {
            border-right: none;
            padding-left: 0;
            padding-right: 0;
        }

        .footer-contact .contact li:last-child {
            border-right: none;
            padding-right: 0;
        }
}

@media screen and (min-width: 1040px) {
    .footer-contact .contact li {
        float: left;
    }
}

.footer-contact .social {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    white-space: nowrap;
}

    .footer-contact .social:after {
        content: "";
        display: table;
        clear: both;
    }


    .footer-contact .social li {
        display: inline-block;
        margin: 0 0 0 6px;
        padding: 0;
    }

@media screen and (min-width: 1040px) {
    .footer-contact .social li {
        margin: 0 0 0 12px;
    }
}

.footer-contact .social li a {
    background: #035da3;
    border-radius: 6px;
    color: #FFF;
    display: block;
    height: 32px;
    width: 32px;
    line-height: 36px;
    text-align: center;
    text-decoration: none;
}

    .footer-contact .social li a:hover {
        background: #1f1f1f;
    }

        .footer-contact .social li a:hover i, .footer-contact .social li a:hover svg {
            transform: scale(1.2);
        }

.footer-btm {
    background: #f3f3f3;
    color: #848484;
    font-size: 11px;
    padding: 30px 0;
    padding-bottom: 66px; /* added so footer elements aren't covered by the ADA & chat widgets */
}

    .footer-btm .container {
        display: flex;
        align-items: center;
        flex-direction: column;
    }

@media screen and (min-width: 1040px) {
    .footer-btm .container {
        flex-direction: row;
        justify-content: space-between;
    }
}

.footer-btm .copyright {
    text-align: center;
    margin-bottom: 20px;
}

    .footer-btm .copyright span {
        white-space: nowrap;
    }

@media screen and (min-width: 1040px) {
    .footer-btm .copyright {
        margin-bottom: 0;
    }
}

.footer-btm .copyright a {
    color: #848484;
}

    .footer-btm .copyright a:hover {
        color: #035da3;
    }

.footer-btm .security {
    display: flex;
}

@media screen and (min-width: 1040px) {
    .footer-btm .security {
    }
}

.footer-btm .security a {
    display: inline-block;
    margin-right: 18px;
}

    .footer-btm .security a:last-of-type {
        margin-right: 0;
    }


    .footer-btm .security a:hover {
        top: -1px;
    }


.footer-btm .security img {
    max-height: 30px;
}


.checkout-footer {
    background: #2a2a2a;
    color: #777;
    font-size: 11px;
    padding: 20px 0;
}

    .checkout-footer a {
        color: #777;
        text-decoration: none;
        display: inline-block;
    }

        .checkout-footer a:hover {
            color: #CCC;
        }

    .checkout-footer .separator {
        display: inline-block;
        padding: 0 5px;
    }

    .checkout-footer .container {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

@media screen and (min-width: 768px) {
    .checkout-footer .container {
        flex-wrap: nowrap;
    }
}

.checkout-footer .copyright {
    flex-grow: 1;
}

.hero {
    padding: 60px 0;
    background: #888;
    background-image: url("/images/heroes/chevelle.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
    z-index: 10;
}

    .hero h1, .hero .h1, .hero p {
        display: block;
        color: #FFF;
    }

    .hero h1, .hero .h1 {
        font-size: 36px;
        font-weight: 400;
        margin: 0;
    }

@media screen and (min-width: 768px) {
    .hero h1, .hero .h1 {
        font-size: 40px;
    }
}

.hero a {
    color: #FFF;
    text-decoration: underline;
}

    .hero a:hover {
        text-decoration: none;
    }

.hero .container {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100%;
}


#vehicle-select-gm-restoration-specialists {
    position: relative;
    font-size: 16px;
    text-transform: uppercase;
}

    #vehicle-select-gm-restoration-specialists::before {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-top: 1px solid transparent;
        border-bottom: 1px solid transparent;
        border-right: 100px solid #fff;
        position: absolute;
        top: 11px;
        left: -110px;
        opacity: .666;
    }

    #vehicle-select-gm-restoration-specialists::after {
            content: "";
            display: block;
            width: 0;
            height: 0;
            border-top: 1px solid transparent;
            border-bottom: 1px solid transparent;
            border-left: 100px solid #fff;
            position: absolute;
            top: 11px;
            right: -110px;
            opacity: .666;
        }

.vehSelect .nav {
    margin: 0;
    padding: 0;
    height: 32px;
    font-size: 16px;
    line-height: 1;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center;
    column-gap: 2px;
    list-style: none;
    overflow: hidden;
}

    .vehSelect .nav li {
        margin: 0;
        padding: 6px 15px;
        font-weight: bold;
        color: #444;
        background: rgba(222, 222, 222, .67);
        border-radius: 4px 4px 0 0;
        box-shadow: rgba(0, 0, 0, 0.25) 0px -3px 3px inset;
        cursor: pointer;
        transition: all .2s;
    }

        .vehSelect .nav li:hover {
            background: rgba(255, 255, 255, .67);
        }


        .vehSelect .nav li.active {
            padding: 8px 15px;
            background: rgba(255, 255, 255, .67);
            color: #000;
            box-shadow: none;
        }



.vehSelect .form {
    position: relative; /*added to fix chrome bug related to animated-fill-mode from animate.css [rjb]*/
    z-index: 10; /*added to fix chrome bug related to animated-fill-mode from animate.css [rjb]*/
    display: flex;
    justify-content: space-between;
    background: rgba(255, 255, 255, .67);
    padding: 10px;
    border-radius: 6px;
}

@media screen and (min-width: 768px) {
    .vehSelect .form {
        justify-content: center;
    }

    .vehSelect.fixed .form {
        display: inline-flex;
    }
}

.vehSelect .select-holder {
    position: relative;
    width: 33%;
    /*margin-bottom: 5px;*/
    margin-right: 5px;
    height: 50px;
    flex-grow: 1;
}

    .vehSelect .select-holder:last-of-type {
        margin-right: 0;
    }

.vehSelect .select-holder-make {
    width: 30%;
}

.vehSelect .select-holder-model {
    width: 30%;
}

.vehSelect .select-holder-year {
    width: 20%;
}



@media screen and (min-width: 768px) {
    .vehSelect .select-holder {
        margin-bottom: 0;
        margin-right: 5px;
        width: 220px;
        flex-grow: 0;
    }

    .vehSelect .nice-select {
        padding-left: 40px;
    }

        .vehSelect .nice-select:before {
            color: #2d2d2d;
            font-size: 13px;
            content: '1';
            border-right: 1px solid #999;
            height: 20px;
            width: 30px;
            text-align: center;
            display: block;
            position: absolute;
            left: 0;
            top: 15px;
            line-height: 20px;
        }

        .vehSelect .nice-select.vehModel:before {
            content: '2';
        }

        .vehSelect .nice-select.vehYear:before {
            content: '3';
        }
}

.vehSelect select {
    /*display: none;*/
    text-indent: 31px;
}

.vehSelect select,
.vehSelect .nice-select {
    font-size: 15px;
    height: 50px;
    line-height: 50px;
    color: #2d2d2d;
    border: none;
    border-radius: 3px;
    width: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}


    .vehSelect select:disabled,
    .vehSelect .nice-select.disabled {
        opacity: .6;
    }

.vehSelect .select-holder.loading select,
.vehSelect .select-holder.loading .nice-select {
    opacity: 1 !important;
}

/*.vehSelect select,
.vehSelect .nice-select {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0em;
    transition: background-size .6s;
    transition-delay: .6s;
}

    .vehSelect select.loading,
    .vehSelect .nice-select.loading {
        background-size: 2.2em;
        background-image: url(/Images/loaders/oval-2D2D2D.svg);
    }
*/

.vehSelect .nice-select.open {
    box-shadow: 0 0 0 3px #035da3;
}

.vehSelect .nice-select .list {
    margin-left: 0;
    padding: 0;
    border-radius: 3px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.vehSelect .nice-select .option {
    height: 30px;
    line-height: 30px;
    min-height: 30px;
}

    .vehSelect .nice-select .option:first-child {
        background: #FFF !important;
        color: #999 !important;
        font-weight: 400 !important;
        font-size: 12px;
        line-height: 36px;
        cursor: default; /* does not work because of pointer-events set to none */
        pointer-events: none;
    }

/*.vehSelect .nice-select .option:hover {
  color: #FFF;
  background: #035da3;
}*/

/*.vehSelect .nice-select .option.selected {
  color: #035da3;
}*/

/*.vehSelect .nice-select .option.selected:hover {
  color: #FFF;
  background: #035da3;
}*/

.vehSelect .button {
    margin-left: 5px;
    flex-grow: 1;
    background-color: #da2917;
    border-color: #da2917;
    padding: 0;
    width: 10%;
    height: 50px;
    line-height: 50px;
    text-transform: uppercase;
    font-size: 15px;
}

@media screen and (min-width: 768px) {
    .vehSelect .button {
        width: 50px;
        flex-grow: 0;
    }
}

.vehSelect .button:hover {
    background-color: #c32515;
    border-color: #c32515;
}


#vehicleModal.fancybox-content > .container {
    padding: 0;
}


.stars {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 13px;
}

    .stars .front-stars {
        color: #eaa600;
        position: absolute;
        overflow: hidden;
        font-family: opgi-icons;
        top: 0;
    }

    .stars .back-stars {
        display: flex;
        position: relative;
        color: #DDD;
        font-family: opgi-icons;
    }

    .stars .count {
        color: #2d2d2d;
        font-size: 15px;
        position: relative;
        margin-top: 2px;
        margin-left: 6px;
    }


a.stars {
    text-decoration: none;
}

    a.stars:hover {
        text-decoration: none;
    }

        a.stars:hover .count {
            color: #035da3;
            text-decoration: underline;
        }


.stars[title~="0"] .front-stars {
    width: 0%;
}

.stars[title~="0.0"] .front-stars {
    width: 0%;
}

.stars[title~="0.1"] .front-stars {
    width: 6%;
}

.stars[title~="0.2"] .front-stars {
    width: 7%;
}

.stars[title~="0.3"] .front-stars {
    width: 8%;
}

.stars[title~="0.4"] .front-stars {
    width: 9%;
}

.stars[title~="0.5"] .front-stars {
    width: 10%;
}

.stars[title~="0.6"] .front-stars {
    width: 11%;
}

.stars[title~="0.7"] .front-stars {
    width: 12%;
}

.stars[title~="0.8"] .front-stars {
    width: 13%;
}

.stars[title~="0.9"] .front-stars {
    width: 14%;
}

.stars[title~="1.0"] .front-stars {
    width: 19%;
}

.stars[title~="1.1"] .front-stars {
    width: 26%;
}

.stars[title~="1.2"] .front-stars {
    width: 27%;
}

.stars[title~="1.3"] .front-stars {
    width: 28%;
}

.stars[title~="1.4"] .front-stars {
    width: 29%;
}

.stars[title~="1.5"] .front-stars {
    width: 30%;
}

.stars[title~="1.6"] .front-stars {
    width: 31%;
}

.stars[title~="1.7"] .front-stars {
    width: 32%;
}

.stars[title~="1.8"] .front-stars {
    width: 33%;
}

.stars[title~="1.9"] .front-stars {
    width: 34%;
}

.stars[title~="2.0"] .front-stars {
    width: 40%;
}

.stars[title~="2.1"] .front-stars {
    width: 46%;
}

.stars[title~="2.2"] .front-stars {
    width: 47%;
}

.stars[title~="2.3"] .front-stars {
    width: 48%;
}

.stars[title~="2.4"] .front-stars {
    width: 49%;
}

.stars[title~="2.5"] .front-stars {
    width: 50%;
}

.stars[title~="2.6"] .front-stars {
    width: 51%;
}

.stars[title~="2.7"] .front-stars {
    width: 52%;
}

.stars[title~="2.8"] .front-stars {
    width: 53%;
}

.stars[title~="2.9"] .front-stars {
    width: 54%;
}

.stars[title~="3.0"] .front-stars {
    width: 60%;
}

.stars[title~="3.1"] .front-stars {
    width: 66%;
}

.stars[title~="3.2"] .front-stars {
    width: 67%;
}

.stars[title~="3.3"] .front-stars {
    width: 68%;
}

.stars[title~="3.4"] .front-stars {
    width: 69%;
}

.stars[title~="3.5"] .front-stars {
    width: 70%;
}

.stars[title~="3.6"] .front-stars {
    width: 71%;
}

.stars[title~="3.7"] .front-stars {
    width: 72%;
}

.stars[title~="3.8"] .front-stars {
    width: 73%;
}

.stars[title~="3.9"] .front-stars {
    width: 74%;
}

.stars[title~="4.0"] .front-stars {
    width: 80%;
}

.stars[title~="4.1"] .front-stars {
    width: 86%;
}

.stars[title~="4.2"] .front-stars {
    width: 87%;
}

.stars[title~="4.3"] .front-stars {
    width: 88%;
}

.stars[title~="4.4"] .front-stars {
    width: 89%;
}

.stars[title~="4.5"] .front-stars {
    width: 90%;
}

.stars[title~="4.6"] .front-stars {
    width: 91%;
}

.stars[title~="4.7"] .front-stars {
    width: 92%;
}

.stars[title~="4.8"] .front-stars {
    width: 93%;
}

.stars[title~="4.9"] .front-stars {
    width: 94%;
}

.stars[title~="5.0"] .front-stars {
    width: 100%;
}

.pagination {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin: 0;
    padding: 0;
    border-radius: 6px;
}

    .pagination > li {
        display: inline;
    }

        .pagination > li > a,
        .pagination > li > span {
            position: relative;
            display: inline-block;
            width: 44px;
            height: 44px;
            margin-left: 5px;
            margin-bottom: 5px;
            line-height: 44px;
            color: #035da3;
            text-decoration: none;
            background-color: #FFF;
            border: 1px solid #eaebeb;
            border-radius: 6px;
            font-weight: 400;
        }

            .pagination > li > a.current {
                background-color: #025DA3;
                color: #fff;
                /*cursor: none;*/
            }

                .pagination > li > a.current:hover {
                    background-color: #025DA3;
                    color: #fff;
                }

            .pagination > li > a i,
            .pagination > li > span i {
                position: relative;
                top: 1px;
            }

            .pagination > li > a:hover, .pagination > li > a:focus,
            .pagination > li > span:hover,
            .pagination > li > span:focus {
                z-index: 2;
                color: #034f8a;
                background-color: #e9ecef;
                border-color: #034f8a;
            }

        .pagination > li:first-child > a,
        .pagination > li:first-child > span {
            margin-left: 0;
            border-radius: 6px 0 0 6px;
            font-size: 160%
        }

        .pagination > li:last-child > a,
        .pagination > li:last-child > span {
            border-radius: 0 6px 6px 0;
            font-size: 160%
        }

    .pagination > .active > a, .pagination > .active > a:hover, .pagination > .active > a:focus,
    .pagination > .active > span,
    .pagination > .active > span:hover,
    .pagination > .active > span:focus {
        z-index: 3;
        color: #FFF;
        cursor: default;
        background-color: #035da3;
        border-color: #035da3;
    }

    .pagination > .disabled > span,
    .pagination > .disabled > span:hover,
    .pagination > .disabled > span:focus,
    .pagination > .disabled > a,
    .pagination > .disabled > a:hover,
    .pagination > .disabled > a:focus {
        color: #6c757d;
        cursor: default;
        background-color: #FFF;
        border-color: #eaebeb;
    }


.pagination-text {
    font-size: 14px;
}

.hero.vehicle-selector {
    padding: 20px 0 30px;
}

#vehicle-select-wrap {
    width: 100%;
    color: #fff;
}

    #vehicleModal p,
    #vehicle-select-wrap p {
        margin: 0 0 15px; /* hardcoded to 15 pixels to stop shifting with "sticky" waypoint functionality */
    }


@media screen and (min-width: 768px) {
    #vehicle-select-wrap {
        width: auto;
        height: 210px; /* hardcoded to stop shifting with "sticky" waypoint functionality */
    }

    .vehSelect {
        background: rgba(0,0,0,0.0);
        transition: background .4s;
    }

        .vehSelect.fixed {
            position: fixed;
            background: rgba(0,0,0,0.8);
            left: 0;
            right: 0;
            top: 0;
            z-index: 99;
            padding: 5px 0;
        }
}



#vehicleModal {
    position: relative;
    top: -223px;
    width: 100%;
    max-width: 100%;
    background: transparent;
    padding: 0;
    overflow: visible;
    box-shadow: none;
}

    #vehicleModal .vehSelect {
        padding: 10px;
        margin-top: -10px;
        background-color: rgba(0, 0, 0, 0.67);
        border-radius: 10px;
    }


    #vehicleModal .container {
        display: flex;
        align-items: center;
        text-align: center;
    }

    #vehicleModal .h1 {
        color: #FFF;
        text-align: center;
        margin: 0;
        font-weight: 400;
        font-size: 36px;
    }

    #vehicleModal p {
        color: #fff;
    }

    #vehicleModal a {
        color: #fff;
        text-decoration: underline;
    }

    #vehicleModal .fancybox-close-small {
        color: #fff;
        padding: 0;
        top: 73px;
        right: 0;
        width: 40px;
        height: 40px;
        background-color: transparent;
    }


@media screen and (min-width: 768px) {
    #vehicleModal {
        width: auto;
    }

        #vehicleModal .h1 {
            font-size: 40px;
        }
}



#catalogModal .form-group {
    display: block;
    margin-bottom: 5px;
}

#catalogModal .light-gray-bg .nice-select {
    background: #FFF;
}

#catalogModal .disclaimer {
    font-size: 12px;
    color: #999;
}

section {
    /*padding: 60px 0;*/
    padding: 40px 0;
    padding: 30px 0;
}

    section.filtered-products,
    section.cat-child {
        padding: 10px 0;
    }

    section.p-sm {
        padding: 20px 0;
    }

    section.white-bg {
        background: #FFF;
    }

    section.light-gray-bg {
        background: #f3f3f3;
    }

    section.blue-bg {
        background: #035da3;
        color: #FFF;
    }

    section.product-top {
        padding-top: 10px;
        margin-bottom: 30px;
    }

    section .section-header {
        margin: 0 0 15px 0;
        width: 100%;
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        flex-wrap: wrap;
    }

        section .section-header h1, section .section-header .h1 {
            margin: 0 0 5px 0;
            padding: 0;
            flex-grow: 1;
            width: 100%;
        }

@media screen and (min-width: 992px) {
    section .section-header h1, section .section-header .h1 {
        width: auto;
    }
}

section .section-header h1 span, section .section-header .h1 span {
    font-weight: normal;
    display: inline-block;
}


section .section-header h3, section .section-header .h3 {
    font-size: 26px;
    margin: 0;
    padding: 0;
    flex-grow: 1;
}




    section .section-header h3 span, section .section-header .h3 span,
    section .section-header h4 span, section .section-header .h4 span {
        font-weight: normal;
        display: inline-block;
    }

section .section-header img {
    height: 0.9em;
}

section .section-header .subtitle {
    font-size: 14px;
}

section .section-header .heading-model-year-fitment {
    font-size: 75%;
}

section .section-header .item-count {
    font-size: 50%;
    opacity: .67;
}

section .section-header a {
    font-size: 14px;
    font-weight: 400;
    text-decoration: none !important;
}

    section .section-header a .icon {
        position: relative;
        left: 0;
        top: 1px;
        transition: all .1s;
    }

    section .section-header a:hover .icon {
        left: 2px;
    }

/*@media screen and (min-width: 992px) {
    section .section-header h1 {
        width: 62%
    }
}*/

section .section-body {
    padding: 20px;
    margin: 0 0 15px 0;
    background: #fff;
}

@media screen and (min-width: 576px) {
    section .section-body {
        padding: 40px;
    }
}


section .section-body.width-half {
    padding: 40px 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media screen and (min-width: 768px) {
    section .section-body.width-half {
        flex-direction: row;
        padding: 40px 20px;
    }
}

section .section-body.width-half div {
    margin: 10px 0;
    padding: 0;
    position: relative;
    width: 100%;
}

@media screen and (min-width: 768px) {
    section .section-body.width-half div {
        margin: 0 30px;
        width: 50%;
    }
}

.category-info-text {
    max-height: 6.5em;
    overflow-x: auto;
    overflow-y: hidden;
    column-width: 100vw;
    column-gap: 30px;
    column-fill: auto;
    -webkit-overflow-scrolling: touch;
}

.category-info-text {
    max-height: 6.5em;
    overflow-x: auto;
    overflow-y: hidden;
    column-width: 100vw;
    column-gap: 30px;
    column-fill: auto;
    -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 768px) {
    .category-info-text {
        max-height: none;
    }
}


.promo-banners .promo-title {
    color: #FFF;
    font-size: 26px;
    margin: 0;
    padding: 0;
}

.promo-banners .promo-desc {
    line-height: 1.4;
    margin: 20px 0;
}

.promo-banners .button {
    position: absolute;
    bottom: 20px;
    margin: 0;
    font-size: 12px;
    letter-spacing: .05em;
    text-shadow: none;
    z-index: 1;
}

.promo-banners.promo-banners-vehicles .promo-content {
    margin-top: 0;
    position: absolute;
    top: 5px;
    text-shadow: 0 1px 1px rgba(0,0,0,0.5), 0 0 10px rgba(0,0,0,1.0);
    text-transform: uppercase;
    font-size: 26px;
    font-family: "nexa-rust-sans-black-2", sans-serif;
    font-weight: 900;
    font-style: normal;
    white-space: nowrap;
}

.promo-banners.promo-banners-vehicles .button {
    bottom: 10px;
    background-color: rgba(0, 0, 0, .67);
    border-color: transparent;
}

.promo-banners.promo-banners-vehicles a:hover .button {
    background-color: rgba(0, 143, 255, 0.67);
}


.promo-banners .promo-bg {
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: all .4s;
    opacity: 1;
    z-index: 0;
}

.promo-banners .promo-content {
    margin-top: -20px;
    position: relative;
    width: 100%;
    z-index: 2;
}

.promo-banners ul {
    list-style: none;
    margin: 0;
    padding: 0;
    margin: -5px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
}

@media screen and (min-width: 768px) {
    .promo-banners ul {
        flex-direction: row;
    }
}

.promo-banners ul li {
    margin: 5px 0;
    padding: 0;
    position: relative;
    overflow: hidden;
    text-align: center;
    border-radius: 8px;
    overflow: hidden;
    max-width: 400px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .promo-banners ul li {
        margin: 0;
        padding: 5px;
        width: 33.333%;
    }
}

.promo-banners.promo-banners-col-4 ul {
    flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
    .promo-banners.promo-banners-col-4 ul li {
        width: 25%;
    }
}

.promo-banners ul li a {
    background: rgba(0,0,0,0.1);
    color: #FFF;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
    text-shadow: 0px 1px 1px #000;
    box-shadow: inset 1px 1px 20px rgba(0,0,0,0.2);
}

    .promo-banners ul li a:hover {
        background: rgba(0,0,0,1);
    }

        .promo-banners ul li a:hover .promo-bg {
            transform: scale(1.1);
            opacity: .8;
        }


    .promo-banners ul li a.loader div.promo-content {
        background-position: center;
        background-repeat: no-repeat;
        background-size: 120px;
    }

    .promo-banners ul li a.loader.loading div.promo-content {
        background-image: url(/Images/loaders/oval-FFFFFF.svg);
    }


.home-affirm {
    font-size: 16px;
    text-align: center;
}

    .home-affirm img {
        height: 20px;
        margin-right: 10px;
        position: relative;
        top: 1px;
    }


#car-model-tabs .nav {
    margin: 0;
}

/*    #car-model-tabs .nav ul li {
        position: relative;
        bottom: -3px;
        margin: 0;
        padding: 5px 15px 5px 15px;
        cursor: pointer;
    }

        #car-model-tabs .nav ul li.active {
            bottom: 0px;
            box-shadow: inset 0 -3px #035da3;
            opacity: 1;
        }

        #car-model-tabs .nav ul li:hover {
            bottom: 0px;
            box-shadow: inset 0 -3px #0071ca;
        }
*/
#car-model-tabs .category-items {
}

    #car-model-tabs .category-items ul {
        display: none;
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
        gap: 10px;
        margin: 0;
        padding: 0;
        padding: 20px 0;
    }

        #car-model-tabs .category-items ul.active {
            display: grid;
        }


#car-model-tabs ul li {
    list-style: none;
}

#car-model-tabs a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    padding: 8px 10px;
    background: #fff;
    border-radius: 6px;
    font-size: 12px;
    color: #2d2d2d;
    text-decoration: none;
}

    #car-model-tabs a:hover {
        top: -1px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    }

#car-model-tabs .image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 44px;
    margin-right: 10px;
    overflow: hidden;
    mix-blend-mode: multiply;
}

#car-model-tabs .title {
    padding-top: 3px;
    display: flex;
    flex-direction: column;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    white-space: nowrap;
}

    #car-model-tabs .title span {
        font-weight: normal
    }


/*
    #website-impersonation-warning {
    border-radius: 4px;
    background: url('/Images/heroes/bg-cyber-security.jpg') center #002958;
    background-position: -666px center;
    background-size: 1180px;
    padding: 15px;
    font-size: 16px;
    color: #fff;
    text-align: center;
    line-height: 1.1;
    text-shadow: 0px 1px 0px #002958, 0 0 5px #002958;
}

@media (min-width: 992px) {
    #website-impersonation-warning {
        background-position: -450px center;
    }
}


    #website-impersonation-warning p {
        margin: 0 0 6px;
    }

    #website-impersonation-warning p:last-child {
        margin-bottom: 0;
    }


    #website-impersonation-warning a {
        color: #fff !important;
    }


        #website-impersonation-warning p.heading {
            font-size: 20px;
            font-weight: 900;
            text-transform: uppercase;
            line-height: 1;
            display: inline-flex;
            gap: 6px;
        }
*/


#affirm-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-around;
    min-height: 60px;
    padding: 0 10px;
    background-color: #fff;
    border-radius: 8px;
    font-size: 22px;
    font-weight: 200;
    white-space: nowrap;
    cursor: default !important;
    overflow: hidden;
}

    #affirm-container::after {
        display: none;
        content: '';
        position: absolute;
        top: -150px;
        right: -580px;
        height: 1000px;
        width: 1000px;
        border: 40px solid #5252f5;
        border-radius: 1000px;
        opacity: 0.1;
    }

    #affirm-container .logo {
        flex-shrink: 0;
        text-align: center;
    }

    #affirm-container img {
        height: 35px;
        vertical-align: text-bottom;
    }

    #affirm-container .text span {
        margin-left: 0.5em;
        color: #5252f5;
    }

    #affirm-container a {
        display: inline-block;
        position: relative;
        cursor: pointer;
        padding: 0px 20px;
        height: 40px;
        line-height: 40px;
        background-color: #5252f5;
        color: #fff;
        font-size: 14px;
        font-weight: 500;
        text-decoration: none;
        border-radius: 10em;
        white-space: nowrap;
        z-index: 1;
    }

        #affirm-container a:hover {
            background-color: #6666ff;
        }


    #affirm-container .link {
        display: none;
    }

    #affirm-container .text span {
        display: none;
    }

@media screen and (min-width: 768px) {

    #affirm-container::after {
        display: block;
    }

    #affirm-container img {
        padding: 0 40px;
    }

    #affirm-container .link {
        display: inline;
    }
}

@media screen and (min-width: 992px) {
    #affirm-container {
        justify-content: flex-start;
    }

        #affirm-container .text {
            width: 70%;
        }

            #affirm-container .text span {
                display: inline;
            }
}


.promo-banners.help-returns ul li a {
    text-shadow: none;
    font-size: 16px;
}

@media screen and (min-width: 992px) {
    .promo-banners.help-returns ul li a {
        padding: 10px 40px 0;
    }
}

.promo-banners.help-returns .promo-icon {
    height: 60px;
    margin-bottom: 20px;
}

.promo-banners.help-returns .promo-desc {
    margin: 10px 0;
}

section.help h3 {
    margin-bottom: 0.5em;
}

section.help h4 {
    margin-bottom: 0em;
}

.shop-brand {
    padding: 40px 0 60px;
}

    .shop-brand .brand-slider {
        margin: 0 25px;
        padding: 0;
        position: relative;
        list-style: none;
        white-space: nowrap;
        overflow: hidden; /*help with FOUC*/
        min-height: 70px;
    }

        .shop-brand .brand-slider .slick-slide div {
            display: flex;
            justify-content: center;
            align-content: center;
            flex-direction: column;
            height: 70px;
            margin: 0 20px;
            text-align: center;
        }

        .shop-brand .brand-slider li.brand {
            display: inline-block;
            margin: 0px;
            padding: 0;
            max-height: 70px;
        }

            .shop-brand .brand-slider li.brand a {
                display: inline-block;
            }

            .shop-brand .brand-slider li.brand img {
                max-height: 70px;
                opacity: 0;
            }

        .shop-brand .brand-slider .slick-slide li.brand img {
            opacity: 1;
        }


.home-reviews .reviews-slider {
    margin: 0;
    padding: 0;
}

.home-reviews .review {
    padding: 40px;
    margin: 0;
    display: flex !important;
    flex-direction: column;
}

@media screen and (min-width: 768px) {
    .home-reviews .review {
        flex-direction: row;
        margin-bottom: 0;
    }
}

.home-reviews .review-details {
    min-width: 280px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .home-reviews .review-details {
        margin-bottom: 0;
    }
}

.home-reviews .user-info {
    display: flex;
    font-size: 13px;
}

    .home-reviews .user-info .avatar {
        width: 45px;
        border-radius: 100%;
        float: left;
        margin-right: 15px;
        position: relative;
    }

        .home-reviews .user-info .avatar img {
            border-radius: 100%;
            height: 45px;
            width: 45px;
        }

        .home-reviews .user-info .avatar .verified {
            position: absolute;
            top: 36px;
            left: 50%;
            margin-left: -8px;
            background: #1ac286;
            color: #FFF;
            font-size: 12px;
            height: 16px;
            line-height: 18px;
            width: 16px;
            overflow: hidden;
            text-align: center;
            border-radius: 100%;
        }

.home-reviews .name {
    font-weight: bold;
    color: #035da3;
}

    .home-reviews .name .verified {
        color: #C8C8C8;
        font-weight: normal;
    }

.home-reviews .date {
    color: #C8C8C8;
}

.home-reviews .stars {
    margin-top: 2px;
    justify-content: flex-start;
}

.home-reviews .review-helpful {
    font-size: 14px;
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .home-reviews .review-helpful {
        margin-top: 0;
        position: absolute;
        bottom: 40px;
        left: 40px;
    }
}

.home-reviews .review-helpful a {
    text-decoration: none;
    display: inline-block;
    margin-left: 10px;
}

    .home-reviews .review-helpful a .icon {
        color: #999999;
    }

    .home-reviews .review-helpful a:hover .icon {
        color: #035da3;
    }

    .home-reviews .review-helpful a .icon-thumbsdown {
        position: relative;
        top: 2px;
    }

.home-reviews .review-content p:last-child {
    margin-bottom: 0;
}

.home-about {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}

    .home-about .media-holder {
        background: #f3f3f3;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

@media screen and (min-width: 900px) {
    .home-about .media-holder {
        padding-bottom: 0;
        width: 50%;
    }
}

.home-about .media-holder .media-item {
    background: #f3f3f3 center center no-repeat;
    background-size: cover;
    width: 50%;
    height: 50%;
    position: relative;
    padding-bottom: 30%;
}

@media screen and (min-width: 900px) {
    .home-about .media-holder .media-item {
        padding-bottom: 0;
    }
}

.home-about .media-holder .caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: #FFF;
    padding: 40px 10px 10px;
    font-size: 12px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    font-weight: 400;
}

.home-about .content-holder {
    display: flex;
    justify-content: flex-end;
    padding: 30px;
    order: 2;
}

@media screen and (min-width: 900px) {
    .home-about .content-holder {
        padding: 60px 60px 60px 30px;
        width: 50%;
        order: inherit;
    }
}

@media screen and (min-width: 900px) {
    .home-about .content-holder .content {
        max-width: 520px;
    }
}

.home-awards {
    display: flex;
    padding: 0;
    flex-direction: column;
}

@media screen and (min-width: 900px) {
    .home-awards {
        flex-wrap: wrap;
        flex-direction: row;
    }
}

.home-awards .media-holder {
    background: #f3f3f3 url(/images/sema-awards.jpg) center center no-repeat;
    background-size: cover;
    padding-bottom: 70%;
}

@media screen and (min-width: 900px) {
    .home-awards .media-holder {
        padding-bottom: 0;
        width: 50%;
    }
}

.home-awards .content-holder {
    padding: 30px;
    display: flex;
    justify-content: flex-start;
}

@media screen and (min-width: 900px) {
    .home-awards .content-holder {
        padding: 60px 30px 60px 60px;
        width: 50%;
    }
}

@media screen and (min-width: 900px) {
    .home-awards .content-holder .content {
        max-width: 520px;
    }
}



.home-reviews {
    background: #f9f9f9;
    padding: 40px 0;
    height: 430px;
}

    .home-reviews .container .yotpo-widget-site-reviews {
        margin: 0 -15px;
    }


    .home-reviews .yotpo-reviews-carousel-widget-container {
        width: 100% !important;
    }

    .home-reviews .review-content.review-content-site-review {
        height: 100px !important;
    }

    .home-reviews .reviews-carousel-card-container {
        min-height: 260px !important;
    }

    .home-reviews .glide__arrow--left {
        left: -20px;
    }

    .home-reviews .glide__arrow--right {
        right: -20px;
    }



.category-tabs .container {
    position: relative;
}

.category-tabs .nav {
    margin: 0 0 30px 0;
    padding: 0;
    position: relative;
}

    .category-tabs .nav ul {
        box-shadow: inset 0 -1px #e2e3e3;
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        overflow: hidden;
        overflow-x: auto;
        overflow-y: hidden;
        height: 100%;
    }

        .category-tabs .nav ul::-webkit-scrollbar {
            display: none;
        }

        .category-tabs .nav ul li {
            list-style: none;
            margin: 0;
            padding: 0 15px 10px 15px;
            white-space: nowrap;
            flex-grow: 1;
            text-align: center;
            height: 100%;
            cursor: pointer;
            transition: all .3s;
            user-select: none;
        }

            .category-tabs .nav ul li:hover {
                color: #2d2d2d;
                text-shadow: -0.05ex 0 #2d2d2d, 0.05ex 0 #2d2d2d;
                box-shadow: inset 0 -3px #0071ca;
            }

            .category-tabs .nav ul li.active {
                color: #2d2d2d;
                text-shadow: -0.06ex 0 #2d2d2d, 0.06ex 0 #2d2d2d;
                box-shadow: inset 0 -3px #035da3;
            }

.category-tabs ul {
    display: none;
}

    .category-tabs ul.active {
        display: flex;
    }

.home-social .icon-instagram {
    font-size: 16px;
    line-height: 1;
    position: relative;
    top: 3px;
    margin-right: 5px;
}

.home-social ul.insta-slider {
    display: flex !important;
    margin: 0 -4px;
    padding: 0;
}

    .home-social ul.insta-slider .slick-slide {
        padding: 0 4px;
    }

    .home-social ul.insta-slider li {
        margin: 0;
        padding: 0;
    }

    .home-social ul.insta-slider a {
        color: #858585;
        display: block;
        text-decoration: none;
    }

        .home-social ul.insta-slider a:hover {
            color: #035da3;
        }

    .home-social ul.insta-slider .image {
        padding-top: 100%;
        background: #1f1f1f center center no-repeat;
        background-size: cover;
    }

    .home-social ul.insta-slider .desc {
        background: #FFF;
        font-size: 12px;
        text-align: center;
        padding: 5px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

.feature-bar {
    background: #035da3;
    padding: 30px 0 40px 0;
}

    .feature-bar.alt {
        background: #FFF;
    }

    .feature-bar.alt2 {
        background: #f7fafc;
    }


    .feature-bar.alt .icon-holder {
        color: #035da3;
    }

    .feature-bar.alt .title {
        color: #2d2d2d;
    }

    .feature-bar.alt .desc {
        color: #2d2d2d;
    }

    .feature-bar.alt a:hover .icon-holder {
        color: #035da3;
    }

    .feature-bar.alt a:hover .title {
        color: #035da3;
    }

    .feature-bar a {
        color: #FFF;
        display: block;
        text-decoration: none;
    }

        .feature-bar a:hover .icon-angle-right {
            left: 3px;
        }

        .feature-bar a:hover .icon-holder {
            color: white;
        }

        .feature-bar a:hover .promo-desc {
            color: white;
        }

    .feature-bar .icon-angle-right {
        position: relative;
        top: 2px;
        left: 0;
        transition: all .1s;
    }

    .feature-bar .icon-holder {
        color: rgba(255, 255, 255, 0.75);
        transition: all .2s;
        height: 53px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 10px;
        position: relative;
    }

        .feature-bar .icon-holder i {
            height: 100%;
            font-size: 50px;
            position: relative;
        }

        .feature-bar .icon-holder .icon-free-shipping {
            font-size: 54px;
        }

        .feature-bar .icon-holder .icon-clearance {
            font-size: 46px;
        }

        .feature-bar .icon-holder .icon-points {
            font-size: 40px;
            top: 5px;
        }

        .feature-bar .icon-holder .icon-gaurantee {
            font-size: 40px;
            top: 5px;
        }

    .feature-bar .title {
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 3px;
    }

    .feature-bar .desc {
        font-size: 12px;
        line-height: 1.4;
        color: rgba(255, 255, 255, 0.75);
        transition: all .2s;
        max-width: 300px;
        margin: 0 auto;
    }

    .feature-bar ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

        .feature-bar ul:after {
            content: "";
            display: table;
            clear: both;
        }

        .feature-bar ul li {
            margin: 0 0 30px 0;
            padding: 0 15px;
            text-align: center;
            width: 100%;
        }

            .feature-bar ul li:last-child {
                margin-bottom: 0;
            }

@media screen and (min-width: 768px) {
    .feature-bar ul li {
        /*width: 50%;*/
        width: 33.33%;
    }
}

@media screen and (min-width: 992px) {
    .feature-bar ul li {
        margin-bottom: 0;
        /*width: 25%;*/
        width: 33.33%;
    }
}

.feature-bar ul li.feature-bar-clearance,
#ctl00_aClearance {
    display: none;
}


.tiles {
    margin: 0 -5px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

    .tiles.slider {
        opacity: 0;
        margin-bottom: 0;
        transition: opacity .5s ease-in-out .2s;
    }

        .tiles.slider.slick-initialized {
            opacity: 1;
        }

            .tiles.slider.slick-initialized .slick-slide {
                display: flex !important;
            }

        .tiles.slider .slick-track {
            display: flex !important;
        }

        .tiles.slider .slick-slide {
            height: auto;
        }

            .tiles.slider .slick-slide > div {
                display: flex !important;
                width: 100%;
            }

            .tiles.slider .slick-slide li.tile {
                display: flex !important;
            }

    .tiles li {
        position: relative;
        text-align: center;
        margin: 0;
        padding: 0;
        width: 50%;
        padding: 0 5px 10px;
    }

@media screen and (min-width: 576px) {
    .tiles > li {
        width: 33.33%;
    }
}

@media screen and (min-width: 768px) {
    .tiles > li {
        width: 25%;
    }
}

@media screen and (min-width: 992px) {
    .tiles > li {
        width: 20%;
    }
}

.tiles li a {
    position: relative;
    display: block;
    text-decoration: none;
    background: #FFF;
    /*border-radius: 3px;*/
    position: relative;
    overflow: hidden;
    height: 100%;
}

    .tiles li a:hover {
        top: -1px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    }

        .tiles li a:hover .title {
            text-decoration: underline;
        }

.tiles .part-banner,
.cart-kit .part-banner {
    background: #1a3861;
    display: block;
    font-size: 10px;
    font-weight: 900;
    color: #FFF;
    letter-spacing: .1em;
    transform: rotate(-45deg);
    height: 22px;
    line-height: 24px;
    width: 120px;
    text-align: center;
    position: absolute;
    top: 3px;
    left: -46px;
    cursor: default;
    z-index: 1;
}

.tiles .sale-part,
.cart-kit .sale-part {
    background: #d92400;
}

.tiles .kit-part,
.cart-kit .kit-part {
    background: #e54d00;
}

.tiles .rebate-part,
.cart-kit .rebate-part {
    background: #28a745;
    top: 10px;
    left: -36px;
}

    .tiles .rebate-part.has-sale-part,
    .cart-kit .rebate-part.has-sale-part {
        top: 21px;
        left: -29px;
    }

.tiles .part-banner.new-part {
    right: -44px;
    left: auto;
    transform: rotate(45deg);
}


.tiles .image {
    padding: 15px;
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

@media screen and (min-width: 576px) {
    .tiles .image {
        height: 180px;
    }
}

.tiles .image img {
    max-height: 100%;
    transition: opacity .7s;
}

.tiles li a div.image {
    position: relative;
    background-position: center;
    background-repeat: no-repeat !important;
    background-size: 70% auto !important;
}


.tiles .content {
    padding: 0 15px 15px;
}

    .tiles .content .title {
        padding: 0;
        height: 70px;
        overflow: hidden;
    }



.tiles .title {
    color: #2d2d2d;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 5px;
    padding: 0 15px 5px;
}

    .tiles .title span.brand {
        display: block;
        font-weight: 700;
        opacity: .67;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.tiles .tiles-dimension-options {
    font-size: 12px;
    color: #a7a7a7;
    height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


.tiles .stars {
    margin-bottom: 5px;
    justify-content: center;
    font-size: 15px;
}

.tiles .price {
    position: relative;
    display: inline-block;
    color: #2d2d2d !important;
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
}

    .tiles .price span {
    }

.tiles .original-price {
}

    .tiles .original-price::after {
        border-top: 2px solid rgba(217, 36, 0, .8);
        position: absolute;
        content: "";
        right: -3px;
        top: 45%;
        left: 5px;
        transform: rotate(-9deg);
    }


.tiles .price-sale {
    line-height: 1.1;
}

.tiles .sale-price-text,
.price-details .sale-price-text {
    display: block;
    color: #d92413;
    font-weight: 900;
}

.tiles .kit-price-text,
.price-details .kit-price-text {
    display: block;
    color: #e54d00;
    font-weight: 900;
}

.price-details .sale-price-text {
    font-size: 16px;
}

.tiles .sale-price-promo-text,
.price-details .sale-price-promo-text {
    display: block;
    color: #545454;
    font-size: 12px;
    font-weight: 400;
}

    .tiles .sale-price-promo-text > b,
    .price-details .sale-price-promo-text > b {
        font-weight: 900;
        font-style: italic;
    }


.tiles.sm > li {
    width: 33.333%;
    padding: 0 5px 10px;
}

@media screen and (min-width: 576px) {
    .tiles.sm > li {
        width: 25%;
    }
}

@media screen and (min-width: 768px) {
    .tiles.sm > li {
        width: 20%;
    }
}

@media screen and (min-width: 992px) {
    .tiles.sm > li {
        /*width: 16.666%;*/
        width: 14.25%;
    }
}


.tiles.sm .image {
    height: 100px;
}

.tiles.sm .content .title {
    height: 48px;
}


.tiles.sm .title {
    font-size: 13px;
}

    .tiles.sm .title span.brand {
    }


.tiles.sm .stars {
}

.tiles.sm .original-price {
    font-size: 14px;
}

.tiles.sm .original-price-v2 {
    font-size: 16px;
}

.tiles.sm .sale-price-text {
    font-size: 12px;
}

.tiles.sm .price {
    font-size: 16px;
}





.tiles.xsm > li {
    width: 25%;
    padding: 0 5px 10px;
}

@media screen and (min-width: 576px) {
    .tiles.xsm > li {
        width: 20%;
    }
}

@media screen and (min-width: 768px) {
    .tiles.xsm > li {
        width: 14.25%;
    }
}

@media screen and (min-width: 992px) {
    .tiles.xsm > li {
        width: 11.111%;
    }
}


.tiles.xsm .image {
    height: 100px;
}

.tiles.xsm .content .title {
    height: 46px;
}


.tiles.xsm .title {
    font-size: 11px;
}

    .tiles.xsm .title span.brand {
    }


.tiles.xsm .stars {
}

.tiles.xsm .original-price {
    font-size: 12px;
}

.tiles.xsm .original-price-v2 {
    font-size: 14px;
}

.tiles.xsm .sale-price-text {
    font-size: 11px;
}

.tiles.xsm .price {
    font-size: 14px;
}



@media screen and (min-width: 992px) {
    .categories.tiles.sm > li {
        width: 11.111%;
    }
}


.categories.tiles li a {
    background-color: transparent;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    overflow: visible;
}

    .categories.tiles li a:hover {
        box-shadow: none;
        /*top: auto;*/
    }

    .categories.tiles li a div.image {
        padding: 10px;
        width: 110px;
        height: 110px;
        background-color: #fff;
        border-radius: 50%;
        /*border: 2px solid transparent;*/
        transition: all .3s;
    }

    .categories.tiles li a:hover .image {
        /*border: 2px solid #0071ca;*/
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    }

    .categories.tiles li a .image img {
    }

    .categories.tiles li a .title {
        margin-top: 5px;
        padding: 0 10px 5px;
    }

    .categories.tiles li a:hover .title {
        color: #0071ca;
        text-decoration: none;
    }



.tiles.newsletter li {
    width: 50%;
}

.tiles.newsletter .image {
    height: 180px;
    overflow: hidden;
    padding: 0;
    margin: 15px;
}

    .tiles.newsletter .image img {
        max-width: unset;
    }



@media screen and (min-width: 576px) {
    .tiles.newsletter li {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .tiles.newsletter li {
        width: 50%;
    }
}

@media screen and (min-width: 992px) {
    .tiles.newsletter li {
        width: 33.33%;
    }
}



.tiles.newsletter .content .title {
    padding: 0;
    height: 112px;
    overflow: hidden;
    line-height: 1.5;
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.tiles.newsletter .title b {
    font-size: 16px;
}

.tiles.how-tos .content .title {
    height: 40px;
}



.fade-images img {
    opacity: 0;
    transition: opacity 500ms;
}

    .fade-images img.loaded {
        opacity: 1;
    }



.product-gallery {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    margin-bottom: 0;
    /*height:580px;*/ /*try this later*/
}

@media screen and (min-width: 992px) {
    .product-gallery {
        flex-direction: row;
        margin-bottom: 30px;
    }
}

.product-gallery #thumbnails {
    margin: 20px 0 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    z-index: 1;
}


    .product-gallery #thumbnails li {
        display: flex;
        justify-content: center;
        cursor: pointer;
        padding: 5px;
        list-style: none;
        width: 70px;
        height: 70px;
        position: relative;
        background-color: #f3f3f3;
        border-radius: 10px;
        overflow: hidden;
        transition: .3s all;
    }

@media screen and (min-width: 992px) {
    .product-gallery #thumbnails {
        margin: 0;
        flex-direction: column;
        max-width: 90px;
    }

        .product-gallery #thumbnails li {
            margin-right: 20px;
        }
}



.product-gallery #thumbnails li img {
    /*mix-blend-mode: multiply;*/
}

    .product-gallery #thumbnails li img.updating {
        opacity: 0;
    }

.product-gallery #thumbnails li:hover {
    /*top: -1px;*/
    /*box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);*/
    background-color: #035da330;
}

.product-gallery #thumbnails li.videoThumb {
    background: #000;
}

/*@media screen and (min-width: 992px) {
    .product-gallery #thumbnails li.videoThumb {
        margin-bottom: 22px;
    }
}
*/
.product-gallery #thumbnails li:not(.brand-logo) a {
    display: flex;
}

.product-gallery #thumbnails li.videoThumb {
    padding: 0;
}


#thumbnails .videoThumb img {
    display: block;
    mix-blend-mode: normal;
    opacity: 0.75;
    transition: opacity .3s;
    object-fit: cover;
}

#thumbnails .videoThumb:hover img {
    opacity: 1;
}


.product-gallery .image {
    width: 100%;
    height: 100%;
    margin: 0 0 15px 0;
    order: 1;
    /*overflow: hidden;*/
    position: relative;
}

@media screen and (min-width: 992px) {
    .product-gallery .image {
        align-self: center;
        margin: 0;
        order: 2;
    }
}

.product-gallery .image a {
    cursor: zoom-in;
    display: flex;
    align-items: stretch;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-height: 90vw;
    filter: contrast(1.02); /* removes very light gray background on some part photos. remove once all old photos have been corrected */
}

    .product-gallery .image a.item-multi-photos {
        max-height: calc(90vw - 30px);
    }


/*@media screen and (min-width: 768px) {

    .product-gallery .image a {
        position: absolute;
        max-height: 100%;
    }

        .product-gallery .image a.item-multi-photos {
            max-height: 100%;
        }

        .product-gallery .image a.item-image-link-wide {
            margin-top: 20px;
        }

}
*/
.product-gallery img {
    object-fit: scale-down;
    /* max-height: 100%; */
    /* vertical-align: middle; */
    mix-blend-mode: multiply;
}

#ItemImageLink {
    transition: .3s all;
}

    #ItemImageLink:hover {
        background-color: #f3f3f3;
        border-radius: 12px;
    }

    #ItemImageLink::after,
    #thumbnails .videoThumb::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-position: center;
        background-image: url(/images/buttons/video-play.svg);
        background-repeat: no-repeat;
        opacity: 0;
        transition: opacity .1s
    }

    #ItemImageLink.video::after,
    #thumbnails .videoThumb::after {
        opacity: .67;
    }


    #ItemImageLink.video:hover::after,
    #thumbnails .videoThumb:hover::after {
        opacity: 1;
    }

#ItemImageWrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}

#thumbnails .videoThumb::after {
    background-size: 40px;
}

#photoInfoWrap {
    position: absolute;
    display: flex;
    max-height: 100%;
    align-items: stretch;
}

    #photoInfoWrap::after {
        opacity: 0;
        content: "Illustrative Only";
        color: #9E9E9E;
        border-radius: 9em;
        font-size: 14px;
        line-height: 2em;
        position: absolute;
        bottom: -2em;
        left: 0;
        /*cursor: help;*/
        z-index: 1;
        width: 100%;
        text-align: center;
        transition: 300ms opacity;
    }

    #photoInfoWrap.show-illustrative-only::after {
        opacity: 1;
    }



/*#thumbnails .videoThumb a::after
{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    content: "";
    background-color: #000;
    opacity: .33;
    transition: opacity .3s;
}*/


#thumbnails li.videoThumb b {
    display: none;
    position: absolute;
    width: 100%;
    font-size: 10px;
    text-align: center;
    bottom: -15px;
}


/*@media screen and (min-width: 992px) {
  .product-gallery #thumbnails li {
    margin: 0 0 12px 0;
  }
}
*/

.product-gallery #thumbnails li a img {
    display: block;
}

#product-brand-logo-wrapper {
    position: absolute;
    bottom: -40px;
    right: 15px; /*matches parent padding*/
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

@media screen and (min-width: 440px) {
    #product-brand-logo-wrapper {
        top: 0;
        bottom: auto;
        right: 0px;
    }
}

#product-brand-logo-wrapper a {
    display: flex;
    background: rgba(255, 255, 255, .75);
    border-radius: 4px;
    margin: -6px -8px;
    padding: 6px 8px;
}

    #product-brand-logo-wrapper a:hover {
        background: rgba(240, 240, 240, 1);
    }


#product-brand-logo-wrapper img {
    max-height: 30px;
    max-width: 75px;
    object-fit: scale-down;
}

#product-brand-logo-wrapper a.brandLogo_restoparts {
    border-radius: 50%;
}

    #product-brand-logo-wrapper a.brandLogo_restoparts img {
        margin: 0;
        padding: 0;
        max-height: 50px;
    }


/*.fancybox-gallery .fancybox-bg {
  background: #FFF;
}

.fancybox-gallery.fancybox-is-open .fancybox-bg {
  opacity: 1;
}

.fancybox-gallery.fancybox-is-closing .fancybox-outer {
  opacity: 0;
}

.fancybox-gallery .fancybox-caption {
  background: transparent;
  color: #444;
}

.fancybox-gallery .fancybox-thumbs {
  background: #fafafa;
  left: 0;
  right: auto;
}

.fancybox-gallery.fancybox-show-thumbs .fancybox-inner {
  right: 0;
  left: 110px;
}

@media screen and (min-width: 576px) {
  .fancybox-gallery.fancybox-show-thumbs .fancybox-inner {
    left: 212px;
  }
}

.fancybox-gallery .fancybox-button--close {
  background: #035da3 !important;
  color: #FFF;
}

.fancybox-gallery .fancybox-thumbs__list a::before {
  border: 3px solid #035da3;
}

.fancybox-gallery .fancybox-button,
.fancybox-gallery .fancybox-navigation button:before {
  background: transparent;
}

.fancybox-gallery .fancybox-navigation button {
  color: #999 !important;
  padding: 10px;
}

.fancybox-gallery .fancybox-navigation button:hover {
  color: #035da3 !important;
}
*/

.product-summary {
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .product-summary {
        margin-top: 0;
    }
}

.product-summary .brand,
.product-summary .brand a {
    color: #888;
    font-size: 20px;
    font-weight: 400;
    margin: 0;
    text-decoration: none;
}

    .product-summary .brand a:hover {
        color: #035da3;
    }


.product-summary > .title {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.1;
}

.product-summary .fitment {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 4px 10px;
    border: 1px solid #c6e2c0;
    border-radius: 3px;
    background-color: #ecf5ea;
    font-size: 13px;
    font-weight: bold;
    color: #278c27;
    line-height: 1;
}

    .product-summary .fitment .icon {
        margin-right: 5px;
        color: #278c27;
        position: relative;
        top: 3px;
        font-size: 20px;
    }

    .product-summary .fitment a {
        font-size: 12px;
        margin-left: 10px;
        font-weight: 400;
        color: #111;
        mix-blend-mode: color-burn;
    }

    .product-summary .fitment.fitment-false {
        border-color: #f3e17f;
        background-color: #fcf9e5;
        color: #3c3426;
    }

        .product-summary .fitment.fitment-false a {
            color: #0c0c0c;
        }

    .product-summary .fitment .icon-alert-lg {
        color: #eaa600;
    }

#product-reviews-wrapper {
    margin: 0 0 10px;
    display: flex;
    align-items: center;
    height: 22px;
}

.product-summary .product-reviews {
    white-space: nowrap;
    line-height: 1;
}

    .product-summary .product-reviews .stars {
        display: inline-flex;
        font-size: 20px;
    }

.product-summary .reviews .stars {
    border-right: 1px solid #e4e4e4;
    padding-right: 15px;
    margin-right: 15px;
}



#product-info {
    margin: 10px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    white-space: nowrap;
    font-size: 13px;
    color: #444;
}

@media screen and (min-width: 768px) {
    #product-info {
        width: 75%;
    }
}

#product-info > div {
    width: 50%;
}

#product-badges {
    margin: 10px 0;
    display: flex;
    column-gap: 20px;
}

    #product-badges img {
        height: 25px;
    }

#warranty-logo {
    opacity: 82%; /*match text color "black"*/
}

.product-summary .reviews .partno {
    font-size: 13px;
    /*padding: 3px 0 3px 0;*/
    margin-right: 3px;
    white-space: nowrap;
}


.dimension-options {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 10px 0 10px;
    border-radius: 3px;
    padding: 10px 0 5px 15px;
    background: #f3f3f3;
}

    /*.dimension-options > div.dimension-wrap {
    width: 100%;
    margin-right: 15px;
}

@media screen and (min-width: 992px) {
    .dimension-options > div.dimension-wrap {
        width: 46%;
    }
}*/

    .dimension-options > div.dimension-wrap {
        clear: none;
        margin-right: 10px;
        margin-bottom: 10px;
        width: calc(100% - 15px);
    }


@media screen and (min-width: 768px) {
    .dimension-options:not(.dimension-options-count-1) > div.dimension-wrap {
        width: calc(50% - 12px);
    }
}

.dimension-options .dimensions.nice-select {
    width: 100%;
}

.dimension-options {
}

.dimension-info-content {
    display: none;
}

/*.dimension-info-content img {
    margin-bottom: 1em;
}*/

.dimension-options:after {
    content: "";
    display: table;
    clear: both;
}

.dimension-options .dimension-label-wrap {
    display: block;
    font-size: 12px;
    color: #2d2d2d;
}

.dimension-options a {
    font-size: 12px;
    text-decoration: none;
}

.dimension-options .nice-select .current {
    display: flex;
    overflow: hidden;
    align-items: baseline;
}
/*.dimension-options .nice-select .current small {
    display: none;
}*/

.dimension-options .nice-select small {
    margin-left: 2em;
    opacity: 0.67;
    font-size: 11px;
    font-family: monospace;
    line-height: 1;
}


/* just for testing, not public */
.dimension-options select.pre-selected-match,
.dimension-options .nice-select.pre-selected-match {
    outline: 2px solid green;
}

/* just for testing, not public */
.dimension-options select.pre-selected-no-match,
.dimension-options .nice-select.pre-selected-no-match {
    outline: 2px solid red;
}


#RetailPriceID .strike {
    text-decoration: line-through;
}

#ProductPriceID.original-price {
    position: relative;
}

    #ProductPriceID.original-price::after {
        border-top: 2px solid rgba(217, 36, 0, .8);
        position: absolute;
        content: "";
        right: -3px;
        top: 45%;
        left: 5px;
        transform: rotate(-9deg);
    }

.product-summary .pricing {
    margin: 0 0 10px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: baseline;
}

    .product-summary .pricing:after {
        content: "";
        display: table;
        clear: both;
    }

#retail-save-wrap {
    display: flex;
    font-size: 13px;
    color: #888;
}

.product-summary .pricing div {
    /*height: 100%;*/
}


.product-summary .pricing .you-save {
    color: #888;
    margin-left: 10px;
}

.product-summary .pricing .line-break {
    width: 100%;
}

.product-summary .pricing .opgi-price {
    font-size: 34px;
    font-weight: 900;
    /*color: #035da3;*/
    color: #2d2d2d;
    margin-right: 10px;
    line-height: 1.0;
}

.product-summary .pricing sup {
    font-size: 50%;
    top: -0.7em
}

.product-summary .pricing .price-delimiter {
    display: none;
}

.product-summary .price-details {
    display: flex;
}

/*
.product-summary .pricing .strike {
    position: relative;
    color: #666;
}

.product-summary .pricing .strike::after {
    border-top: 2px solid #d92400;
    position: absolute;
    content: "";
    right: -3px;
    top: 45%;
    left: 5px;
    transform: rotate(-7deg);
}
*/

#ProductPromotionID {
    margin: 2px 0 0 10px;
}

.product-summary .pricing .SalePrice {
    color: #d92400;
}

.product-summary .limited-time-offer {
    color: #d92400;
    font-weight: 900;
    font-size: 20px;
    line-height: 1.2;
    text-transform: uppercase;
}

.product-summary .unitIssue {
    font-size: 14px;
    vertical-align: text-top;
}

.product-summary .free-shipping {
    color: #28a745;
    font-weight: 900;
    position: relative;
    margin-left: 20px;
    padding-left: 20px;
    font-size: 18px;
    text-transform: uppercase;
}

    .product-summary .free-shipping:before {
        position: absolute;
        content: 'u';
        font-family: opgi-icons;
        top: -3px;
        left: 0;
        font-size: 20px;
        text-transform: lowercase;
    }


.price-deal-wrap, .kit-savings-wrap {
    display: flex;
    align-items: center;
    margin-left: 4px;
    padding: 0 6px;
    font-size: 15px;
    font-weight: 900;
    color: #888 !important;
    line-height: 0.85;
    text-decoration: none;
    /*text-transform: uppercase;*/
    border-radius: 6px;
}

a.price-deal-wrap:hover {
    background-color: #f3f3f3;
}

.price-deal-wrap img,
.kit-savings-wrap img {
    margin-right: 4px;
    height: 22px;
}

.price-deal-wrap p,
.kit-savings-wrap p {
    margin: 0;
}

.price-deal-wrap span,
.kit-savings-wrap span {
    display: block;
}

.price-deal-title-2 {
    color: #d92400;
}


.tiles .price-deal-wrap {
    margin-left: 0;
    margin-top: 2px;
    font-size: 13px;
    justify-content: center;
}

    .tiles .price-deal-wrap img {
        margin-left: -15px; /*try to center the text when icon exists*/
        height: 20px;
    }



.kit-savings-title-1 {
    color: #e54d00;
}

.kit-savings-title-2 {
    font-weight: normal;
    font-size: 13px;
}



.quantity {
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    position: relative;
    display: flex;
    height: 60px;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
}

    .quantity input.quantity-input {
        background: transparent !important;
        height: 100%;
        border: none !important;
        margin: 0;
        padding: 0 !important;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        color: #2d2d2d;
        box-shadow: none;
        border: none;
        border-radius: 0;
        -webkit-appearance: none;
        -moz-appearance: textfield;
        box-shadow: none !important;
        width: 30px;
    }

    .quantity input.quantity,
    .quantity input.quantity[type=number] {
        background: transparent !important;
        height: 100%;
        border: none !important;
        margin: 0;
        padding: 0 !important;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        color: #2d2d2d;
        box-shadow: none;
        border: none;
        border-radius: 0;
        -webkit-appearance: none;
        -moz-appearance: textfield;
        box-shadow: none !important;
        width: 40px;
    }

    .quantity input::-webkit-inner-spin-button,
    .quantity input::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
        -moz-appearance: textfield;
    }

    .quantity .quantity-add,
    .quantity .quantity-sub {
        cursor: pointer;
        border: none;
        outline: none;
        background: transparent;
        display: flex;
        text-align: left;
        align-self: center;
        font-size: 24px;
        color: #999;
        line-height: 0.75;
        vertical-align: middle;
        width: 40px;
        height: 100%;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }

        .quantity .quantity-add:hover,
        .quantity .quantity-sub:hover {
            color: #035da3;
            background-color: #f7f7f7;
        }

    .quantity .quantity-sub {
        text-align: right;
        /* padding-right: 5px; */
        /* padding-left: 15px; */
    }

    .quantity.sm {
        height: 40px;
    }

        .quantity.sm input.quantity-input {
            font-size: 14px;
            max-width: 22px;
        }

        .quantity.sm .quantity-add {
            padding-left: 0;
            padding-right: 5px;
        }

        .quantity.sm .quantity-sub {
            padding-left: 5px;
            padding-right: 0;
        }

.stock-status {
    margin-bottom: 10px;
    min-height: 1.6em;
    color: #888;
    clear: both;
}

    .stock-status strong {
        font-size: 15px;
    }

    .stock-status.success strong {
        color: #28a745;
    }

    .stock-status.error strong {
        color: #da2917;
    }

    .stock-status.warning strong {
        color: #eaa600;
    }

    .stock-status .icon-alert {
        font-size: 16px;
        position: relative;
        top: 2px;
    }

.product-actions {
    display: flex;
    margin: 10px 0;
}

    .product-actions .quantity {
        margin-right: 10px;
        /*border-radius: 3px 0 0 3px;*/
    }

    .product-actions .button {
        font-size: 18px;
        flex-flow: 1;
        width: 100%;
        padding-top: 0;
        padding-bottom: 0;
    }

    .product-actions.sm .button {
        font-size: 14px;
        white-space: nowrap;
    }

.wishlist-holder .wishlist {
    display: inline-block;
    font-weight: 400;
    text-decoration: none;
    color: #444 !important;
    font-size: 14px;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

    .wishlist-holder .wishlist:before {
        font-family: opgi-icons;
        position: relative;
        top: 1px;
        margin-right: 0;
    }

    .wishlist-holder .wishlist.color-change:before {
        content: 'C';
        color: #da2917 !important;
    }

    .wishlist-holder .wishlist input {
        margin-left: -1.5em;
        padding-left: 1.5em;
        background: none;
        border: none;
        box-shadow: none !important;
        outline: none !important;
    }

    .wishlist-holder .wishlist a {
        margin-left: -1.5em;
        padding-left: 1.5em;
        background: none;
        border: none;
        box-shadow: none !important;
        outline: none !important;
        color: #444 !important;
        text-decoration: none;
    }

        .wishlist-holder .wishlist a:hover {
            color: #da2917 !important;
        }

.wishlist-holder .added a {
    color: #da2917 !important;
    pointer-events: none;
}

.wishlist-holder .add:before {
    content: 'B';
    display: inline-block;
    z-index: -1;
    pointer-events: none;
}

.wishlist-holder .wishlist:hover {
    color: #da2917 !important;
}

    .wishlist-holder .wishlist:hover:before {
        content: 'C';
    }



.product-affirm {
    height: 1.6em;
    font-size: 12px;
    margin: -5px 0 20px;
}

    .product-affirm p {
        margin: 0;
    }

    .product-affirm img {
        height: 16px;
        margin-right: 6px;
    }

    .product-affirm a {
        text-decoration: none;
    }

        .product-affirm a .icon {
            color: #444;
        }

        .product-affirm a:hover .icon {
            color: #035da3;
        }



.upsell-kit {
    display: block;
    margin: 30px 0 0 0;
    padding: 10px;
    font-size: 12px;
    text-decoration: none;
    border: 1px solid #ececec;
    border-radius: 3px;
}

    .upsell-kit:hover {
        /*background: #f9f9f9;*/
        background-color: #e54d0008;
        border-color: #e54d0052;
        top: -1px;
        box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
    }

    .upsell-kit .heading {
        display: flex;
        align-items: center;
        column-gap: .3em;
        margin-bottom: 2px;
        font-size: 18px;
        font-weight: 700;
        line-height: 1;
        color: #e54d00;
    }

        .upsell-kit .heading img {
            height: 16px;
        }

    .upsell-kit .product {
        display: flex;
        align-items: center;
    }

    .upsell-kit img.kit-upsell-photo {
        max-width: 100px;
        max-height: 80px;
        min-width: 10px;
        min-height: 10px;
        padding-right: 10px;
        object-fit: contain;
        mix-blend-mode: multiply;
    }

    .upsell-kit .title {
        margin: 0;
        line-height: 1.1;
        color: #2d2d2d;
    }

    .upsell-kit .stars {
        /*display: none;*/
        float: left;
        font-size: 12px;
        margin: -2px 0;
    }

    .upsell-kit .price {
        clear: both;
        font-weight: 900;
        color: #2d2d2d;
    }

        .upsell-kit .price strike {
            display: none;
            opacity: .67;
            font-weight: normal;
        }





    #opgi-benefits {
        margin: 0 0 30px 0;
        padding: 0;
        list-style: none;
        border: 1px solid #ececec;
        border-radius: 3px;
    }

    @media screen and (min-width: 768px) {
        #opgi-benefits {
            display: flex;
            flex-wrap: wrap;
        }
    }

    @media screen and (min-width: 992px) {
        #opgi-benefits {
            display: block;
            margin: 0;
        }
    }

    #opgi-benefits li {
        margin: 0;
        padding: 15px;
        display: flex;
        position: relative;
        align-items: center;
        align-content: center;
    }

    #opgi-benefits a {
        text-decoration: none;
    }

    @media (min-width: 768px) and (max-width: 992px) {
        #opgi-benefits li {
            width: 50%;
        }

            #opgi-benefits li:nth-child(4):after {
                display: none;
            }
    }

    @media screen and (min-width: 992px) {
        #opgi-benefits li {
            width: 100%;
        }

            #opgi-benefits li:nth-child(4):after {
                display: block;
            }
    }

    #opgi-benefits li.product-expert-heading {
        border-bottom: 1px solid #ececec;
        background: #f3f3f3;
        padding: 0 5px 0 10px;
        font-size: 15px;
        width: 100%;
        flex-grow: 1;
        line-height: 1;
        min-height: 60px;
    }

        #opgi-benefits li.product-expert-heading > div {
            display: flex;
            align-items: center;
            align-content: center;
        }


        #opgi-benefits li.product-expert-heading img {
            display: block;
            margin: 10px 5px 0 0;
            padding: 0;
            width: 70px;
            /* align-self: baseline; */
            /* flex-shrink: 0; */
        }

        #opgi-benefits li.product-expert-heading a {
            display: flex;
            margin-right: 20px;
            font-size: 13px;
            font-weight: 700;
        }

        #opgi-benefits li.product-expert-heading small {
            display: block;
            margin-bottom: 4px;
        }


        #opgi-benefits li.product-expert-heading:after {
            display: none;
        }

#opgi-benefits .business-hours,
.ask-an-expert .business-hours {
    display: flex;
    column-gap: 1em;
    font-size: 11px;
    line-height: 1.1;
}

.ask-an-expert .business-hours {
    flex-direction: column;
}

#opgi-benefits .product-expert-chat-phone {
    display: flex;
    align-items: center;
    margin-top: 4px;
}

#opgi-benefits .product-expert-chat-phone .icon {
    margin-right: 2px;
}


/*
#opgi-benefits .product-expert-chat:before,
#opgi-benefits .product-expert-phone:before {
    content: '';
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width:  14px;
    height: 14px;
    filter: invert(22%) sepia(74%) saturate(2055%) hue-rotate(189deg) brightness(98%) contrast(98%);
}

#opgi-benefits .product-expert-chat:before {
    margin-right: 3px;
    background-image: url(/Images/icons/chat-bubble-ellipsis.svg);
}

#opgi-benefits .product-expert-phone:before {
    margin-right: 1px;
    background-image: url(/Images/icons/phone-fill.svg);
}
*/

    #opgi-benefits li:nth-child(2) {
        padding-top: 20px;
    }

    #opgi-benefits li:last-child {
        padding-bottom: 20px;
    }

        #opgi-benefits li:last-child:after {
            display: none;
        }

    #opgi-benefits li:after {
        content: '';
        display: block;
        height: 1px;
        position: absolute;
        bottom: 0px;
        left: 15px;
        right: 15px;
        background: #ececec;
    }

#opgi-benefits li .icon-holder {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    width:  50px;
    height: 50px;
    background-color: #e8eff6;
    border-radius: 100%;
}

    #opgi-benefits li .icon-holder .icon {
        display: flex;
        font-size: 26px;
        color: #035da3;
    }

    #opgi-benefits li .desc strong {
        display: block;
        font-size: 14px;
        line-height: 1.4;
    }

    #opgi-benefits li .desc span {
        display: block;
        font-size: 13px;
        line-height: 1.4;
    }

.product-nav {
    margin: 0 0 30px 0;
    padding: 0;
    position: relative;
}

    .product-nav ul {
        box-shadow: inset 0 -1px #e2e3e3;
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        height: 100%;
    }

        .product-nav ul li {
            list-style: none;
            margin: 0;
            padding: 0;
            white-space: nowrap;
            text-align: center;
            cursor: pointer;
            font-weight: 700;
            color: #2d2d2d;
        }

            .product-nav ul li a {
                color: #2d2d2d;
                display: block;
                padding: 0 10px 10px;
                text-decoration: none;
                font-size: 14px;
            }

@media screen and (min-width: 350) {
    .product-nav ul li a {
        padding: 0 15px 10px;
        font-size: 16px;
    }
}

@media screen and (min-width: 768px) {
    .product-nav ul li a {
        padding: 0 30px 10px;
        font-size: 16px;
    }
}

.product-nav ul li a:hover {
    color: #035da3;
}

.product-nav ul li.active {
    box-shadow: inset 0 -3px #035da3;
    color: #2d2d2d;
}

    .product-nav ul li.active:hover {
        color: #2d2d2d;
    }

.product-nav .count {
    color: #9C9C9C;
    display: none;
}

@media screen and (min-width: 768px) {
    .product-nav .count {
        display: inline;
    }
}

.product-info-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0 0 5px 0;
    flex-wrap: wrap;
    width: 100%;
}

h3 .count, .h3 .count {
    color: #9C9C9C;
}

.product-info-header h3, .product-info-header .h3 {
    font-size: 26px;
    margin: 0 0 5px 0;
    padding: 0;
    flex-grow: 1;
}

.product-info-header a {
    font-size: 14px;
    font-weight: 400;
    text-decoration: none !important;
}

.product-info-section {
    position: relative;
}


    .smooth-scroll-hightlight-target {
        /*background-color: rgba(255, 250, 0, 0.25) !important;*/
            box-shadow: rgba(255, 250, 0, 0.5) 0px 0px 15px 15px !important;
            transition: box-shadow 0.5s ease;
        }


.description span {
    white-space: pre-line;
}

#full-description {
    white-space: pre-line;
}

#details {
    margin: 0 0 60px 0;
}


    #details h3 {
        margin: 2em 0 .5em;
        border-bottom: 1px solid #e2e3e3;
        width: 75%;
    }

h3#brief-description {
    width: 100%;
    margin-top: 1em;
    border: none;
}


#details .technical {
    white-space: pre-line;
}

#details-notes ul {
    list-style-position: outside;
    list-style-type: square;
    margin-left: 1.2em;
    padding: 0;
}

    #details-notes ul li {
        margin-bottom: .5em;
        white-space: pre-line;
        line-height: 1.4em;
    }

/*li.help-sheet-metal::marker {
        content: url('/Images/icons/help-product-sheet-metal-door.png');
    }*/

.help-product-container h1,
.help-product-container h2 {
    margin-bottom: 0;
}

#additional-information ul li {
    white-space: normal;
}

#additional-information em {
    font-size: 14px;
}

/*    #additional-information {
        font-size: 13px;
    }

        #additional-information p {
            white-space: pre-line;
        }
*/
#kit-sub-components ul {
    margin: 0;
    padding: 0;
    list-style: none;
    max-height: 45vh;
    overflow-y: auto;
}

    #kit-sub-components ul li {
        display: flex;
        align-items: center;
        margin-top: 8px;
        font-size: 14px;
    }

    #kit-sub-components ul .item-image {
        display: flex;
        flex-shrink: 0;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        margin-right: 10px;
        text-decoration: none;
        height: 50px;
        width: 50px;
        background: #f3f3f3;
        border-radius: 50%;
    }

        #kit-sub-components ul .item-image:hover {
            background-color: #cae8ff;
            /*box-shadow: 0 0 10px rgba(0, 0, 0, .3);*/
        }

        #kit-sub-components ul .item-image img {
            /*mix-blend-mode: darken;*/
            mix-blend-mode: multiply;
        }

        #kit-sub-components ul .item-image.grayscale img {
            filter: grayscale(1);
        }

img.grayscale {
    filter: grayscale(1);
}

#kit-sub-components ul .item-info {
    display: flex;
    flex-direction: column;
}

#kit-sub-components ul .item-name {
    font-weight: normal;
    line-height: 1;
}

#kit-sub-components ul .item-quantity {
    font-style: normal;
    color: #999;
}





span.note-bullet {
    margin-left: 2em;
}

span.note-bullet-last {
    display: inline-block;
    margin-top: .5em;
}

span.note-colon {
    display: inline-block;
    margin-top: .5em;
    font-weight: 400;
}



#catalog-page-numbers {
    font-size: 14px;
}

@media screen and (min-width: 768px) {
    #catalog-page-numbers {
        width: 60%;
    }
}


#catalog-page-numbers li {
    display: flex;
}

    #catalog-page-numbers li i {
        order: 1;
        padding-right: .2em;
    }

    #catalog-page-numbers li .page-number {
        order: 3;
        white-space: pre;
    }

    #catalog-page-numbers li::after {
        content: "";
        margin-bottom: .4em;
        border-bottom: 1px dotted;
        flex-grow: 1;
        order: 2;
        opacity: .5;
    }


#details .prop65 {
    display: flex;
    align-content: center;
    align-items: center;
    border: 1px solid #f3f3f3;
    border-radius: 3px;
    padding: 10px 15px;
    margin: 0;
    clear: both;
}

    #details .prop65 .icon-holder {
        text-align: center;
        flex-shrink: 0;
        padding: 0 15px 0 0;
    }

        #details .prop65 .icon-holder .icon {
            font-size: 42px;
            color: #dbdcdb;
            line-height: 1;
        }

    #details .prop65 .text {
        font-size: 11px;
    }


#item-rebate-banner,
.rebate-wrapper h6 {
    margin: 0;
    display: inline-block;
    height: 30px;
    color: #28a745;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    vertical-align: middle;
}

    #item-rebate-banner .icon,
    .rebate-wrapper h6 .icon {
        font-size: 22px;
        vertical-align: middle;
    }


.rebate-wrapper {
    padding: 25px 30px;
    margin: 0 0 30px;
    border: 1px solid #e7e6e6;
    border-radius: 3px;
    display: flex;
    justify-content: space-between;
    /*align-items: flex-start;*/
    align-items: center;
    flex-direction: column-reverse;
    text-align: center;
}

@media screen and (min-width: 992px) {
    .rebate-wrapper {
        align-items: center;
        flex-direction: row;
        text-align: left;
    }
}

.rebate-wrapper h5 {
    margin: 0;
    font-size: 25px;
}

.rebate-wrapper p {
    margin: 0 0 0.5em;
}


.rebate-expiration {
    font-size: 12px;
    color: #888;
}

.rebate-wrapper.rebate-expired {
    opacity: .67;
}


    .rebate-wrapper.rebate-expired .rebate-expiration {
        color: #da2917;
        font-weight: bold;
    }

.rebate-wrapper a.button {
    background-color: #28a745;
    border-color: #28a745;
    font-size: 12px;
}

.rebate-wrapper a.link-rebate {
    font-size: 12px;
    font-weight: bold;
}

.rebate-wrapper a.rebate-brand-logo {
    display: inline-block;
    margin: 0 0 10px;
    width: 120px;
}

@media screen and (min-width: 992px) {
    .rebate-wrapper a.rebate-brand-logo {
        margin: 0 0 0 30px;
    }
}


#restoparts-benefits {
    background-color: #fbfbfb;
    border: 1px solid #ececec;
    border-radius: 3px;
}

    #restoparts-benefits ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0;
        padding: 15px 20px;
        gap: 15px 20px;
    }

        #restoparts-benefits ul li {
            width: 45%;
            margin: 0;
            padding: 0;
            display: flex;
            flex-direction: column;
            position: relative;
            align-items: center;
            text-align: center;
        }

            #restoparts-benefits ul li .icon-holder {
                display: flex;
                flex-shrink: 0;
                width: 50px;
                align-items: center;
                justify-content: center;
                margin-bottom: 3px;
            }

            #restoparts-benefits ul li img {
                max-height: 36px;
                max-width: 36px;
            }

            #restoparts-benefits ul li .desc strong {
                display: block;
                font-size: 12px;
                line-height: 1.4;
                text-wrap: nowrap;
            }

            #restoparts-benefits ul li .desc span {
                display: block;
                font-size: 11px;
                line-height: 1.1;
            }

    #restoparts-benefits .header {
        margin-bottom: -20px;
        padding: 0;
        width: 100%;
        align-items: center;
        justify-content: center;
    }

        #restoparts-benefits .header .icon-holder {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            width: 110px;
        }

        #restoparts-benefits .header img {
            max-height: none;
            max-width: 110px;
        }


@media screen and (min-width: 440px) {
    #restoparts-benefits ul {
        flex-wrap: nowrap;
    }

        #restoparts-benefits ul li {
            width: auto;
        }


    #restoparts-benefits .header {
        margin-bottom: 0;
        width: 120px;
    }
}



#report-incorrect-product-information {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin: 40px 0 20px;
    padding: 10px 30px;
    background-color: #fdfdfd;
    border: 1px solid #ebebeb;
    border-radius: 3px;
    font-size: 12px;
    line-height: 1.2;
}

    #report-incorrect-product-information .icon-holder {
        display: flex;
        flex-shrink: 0;
    }


        #report-incorrect-product-information .icon-holder img {
            height: 32px;
            opacity: 0.5;
        }

    #report-incorrect-product-information > div.text {
        display: none;
    }


    #report-incorrect-product-information .button {
        font-weight: normal;
        color: #2d2d2d;
        white-space: nowrap;
    }

@media screen and (min-width: 440px) {
    #report-incorrect-product-information > div.text {
        display: inherit;
    }

    #report-incorrect-product-information > div:last-child {
        margin-left: auto;
    }
}



#fitment {
    margin: 60px 0 0;
}


#alsoFitsWrapper {
    display: block;
    max-height: 50vh;
    overflow-y: auto;
    margin-bottom: 1.5em;
    border: 1px solid #e6e6e6;
    border-radius: 3px;
}

#alsoFits th {
    position: sticky;
    top: 0px;
    padding: 10px 5px;
    text-align: left;
    background: #e6e6e6;
    font-size: 14px;
    color: #000;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    #alsoFits th {
        padding: 10px 15px;
    }
}

#alsoFits .year-make-model {
    width: 35% !important;
    vertical-align: baseline;
    border-right: 1px solid #e6e6e6;
}

#alsoFits th.year-make-model {
    white-space: nowrap;
}


#alsoFits .year-make-model strong {
    position: sticky;
    top: 4em;
}


#alsoFits td {
    padding: 5px;
    font-size: 12px;
}

@media screen and (min-width: 768px) {
    #alsoFits td {
        padding: 5px 15px;
        font-size: 13px;
    }
}

#alsoFits tbody:nth-child(even) {
    background: rgba(0,0,0,0.02);
}


#alsoFits tbody:hover td,
#alsoFits tr:hover td {
    background: rgba(0, 113, 202, 0.1);
    color: #035da3;
}

#alsoFits td:hover {
    background: rgba(0, 113, 202, 0.15) !important;
}


/*
#alsoFits td.buick      { color:red;    }
#alsoFits td.cadillac   { color:orange; }
#alsoFits td.chevrolet  { color:green;  }
#alsoFits td.oldsmobile { color:blue;   }
#alsoFits td.pontiac    { color:purple; }
*/

.scroll-box-shadow {
    background:
    /* Shadow covers */
    linear-gradient(white 30%, rgba(255,255,255,0)), linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
    /* Shadows */
    radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 0, radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: white;
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}

.category-tabs .scroll-box-shadow-horizontal {
    background:
    /* Shadow covers (left & right fade) */
    linear-gradient(to right, #f3f3f3 30%, rgba(255,255,255,0)), linear-gradient(to left, #f3f3f3 30%, rgba(255,255,255,0)) 100% 50%,
    /* Shadows (left & right) */
    radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 50%, radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.2), rgba(0,0,0,0)) 100% 50%;
    background-repeat: no-repeat;
    background-color: #f3f3f3;
    background-size: 40px 200%, 40px 200%, 20px 200%, 20px 200%;
    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}


.scroll-box-shadow-with-header {
    background:
    /* Shadow covers */
    linear-gradient(white 30%, rgba(255,255,255,0)) 0 42px, linear-gradient(rgba(255,255,255,0), white 70%) 0 100%,
    /* Shadows */
    radial-gradient(farthest-side at 50% 0, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 42px, radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0)) 0 100%;
    background-repeat: no-repeat;
    background-color: #fff;
    background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
    /* Opera doesn't support this in the shorthand */
    background-attachment: local, local, scroll, scroll;
}


#item-chart .wrapper {
    overflow: auto;
}


#item-chart .chart-table {
    position: relative;
    font-size: 11px !important;
}


#item-chart .footnote {
    font-size: 10px;
}


#compcams.chart-table td:last-child {
    min-width: 30em;
    min-width: 75vw;
}



@media (min-width: 768px) {
    #compcams.chart-table td {
        white-space: normal;
    }

        #compcams.chart-table td:last-child {
            min-width: auto;
        }
}


#questions {
    margin: 60px 0;
}

    #questions .ask-btn {
        float: right;
        font-weight: 700;
    }

    #questions h2 .count, #questions .h2 .count {
        color: #9C9C9C;
    }

    #questions .question-holder {
        border: 1px solid #ececec;
        border-radius: 3px;
        margin: 0 0 10px 0;
    }

    #questions .question {
        background: #f3f3f3;
        padding: 30px;
        display: flex;
        align-content: center;
        align-items: center;
        flex-direction: column;
    }

@media screen and (min-width: 768px) {
    #questions .question {
        flex-direction: row;
    }
}

#questions .question .button {
    flex-shrink: 0;
    height: auto;
    margin: 15px 0 0 0;
}

@media screen and (min-width: 768px) {
    #questions .question .button {
        flex-direction: row;
        margin: 0 0 0 30px;
    }
}

#questions .answer {
    padding: 30px;
}

@media screen and (min-width: 768px) {
    #questions .answer {
        padding: 30px 60px;
    }
}

#questions .source {
    font-size: 13px;
    color: #A7A7A7;
}

#questions p {
    margin: 0;
}

#questions .more-questions {
    text-align: center;
}

#questions .view-more {
    font-size: 13px;
}

#reviews {
    margin: 0;
}

    #reviews h2 .count, #reviews .h2 .count {
        color: #9C9C9C;
    }

    #reviews .reviews-header {
        background: #f3f3f3;
        border: 1px solid #ececec;
        border-bottom: 0;
        border-radius: 3px 3px 0 0;
        padding: 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
    }

@media screen and (min-width: 768px) {
    #reviews .reviews-header {
        flex-direction: row;
    }
}

#reviews .reviews-header .stars {
    margin: 0 0 15px 0;
    flex-wrap: wrap;
    justify-content: center;
}

@media screen and (min-width: 768px) {
    #reviews .reviews-header .stars {
        justify-content: left;
        margin: 0;
        flex-wrap: nowrap;
    }
}

#reviews .reviews-header .stars .front-stars,
#reviews .reviews-header .stars .back-stars {
    font-size: 24px;
    margin-right: 10px;
}

#reviews .reviews-header .stars span {
    font-size: 16px;
    color: #9F9F9F;
    position: relative;
    display: block;
}

#reviews .reviews-header .stars strong {
    font-size: 24px;
    color: #444;
}

#reviews .reviews {
    margin: 0;
    padding: 0;
    list-style: none;
}

    #reviews .reviews li {
        border: 1px solid #ececec;
        border-bottom: 0;
        padding: 30px;
        margin: 0;
        display: flex !important;
        flex-direction: column;
        position: relative;
    }

@media screen and (min-width: 768px) {
    #reviews .reviews li {
        flex-direction: row;
    }
}

#reviews .reviews li:last-child {
    border-radius: 0 0 3px 3px;
    border-bottom: 1px solid #ececec;
}

@media screen and (min-width: 768px) {
    #reviews .reviews li {
        flex-direction: row;
        margin-bottom: 0;
    }
}

#reviews .review-details {
    min-width: 280px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    #reviews .review-details {
        margin-bottom: 0;
    }
}

#reviews .user-info {
    display: flex;
    font-size: 13px;
}

    #reviews .user-info .avatar {
        width: 45px;
        border-radius: 100%;
        float: left;
        margin-right: 15px;
        position: relative;
    }

        #reviews .user-info .avatar img {
            border-radius: 100%;
            height: 45px;
            width: 45px;
        }

        #reviews .user-info .avatar .verified {
            position: absolute;
            top: 36px;
            left: 50%;
            margin-left: -8px;
            background: #1ac286;
            color: #FFF;
            font-size: 12px;
            height: 16px;
            line-height: 18px;
            width: 16px;
            overflow: hidden;
            text-align: center;
            border-radius: 100%;
        }

#reviews .name {
    font-weight: bold;
    color: #035da3;
}

    #reviews .name .verified {
        color: #C8C8C8;
        font-weight: normal;
    }

#reviews .date {
    color: #C8C8C8;
}

#reviews .stars {
    margin-top: 2px;
    justify-content: flex-start;
}

#reviews .review-helpful {
    font-size: 14px;
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    #reviews .review-helpful {
        margin-top: 0;
        position: absolute;
        bottom: 40px;
        left: 40px;
    }
}

#reviews .review-helpful a {
    text-decoration: none;
    display: inline-block;
    margin-left: 10px;
}

    #reviews .review-helpful a .icon {
        color: #999999;
    }

    #reviews .review-helpful a:hover .icon {
        color: #035da3;
    }

    #reviews .review-helpful a .icon-thumbsdown {
        position: relative;
        top: 2px;
    }

#reviews .review-content p:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .yotpo .yotpo-nav {
        width: 50%;
    }
}

#product-header {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.055);
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    transform: translate(0, -200px);
    transition: all .4s;
    max-height: 200px;
    overflow: hidden;
    z-index: 100;
    box-shadow: 0 0 20px rgba(0,0,0,.25);
}

    #product-header.sticky {
        transform: translate(0, 0);
    }

    #product-header .top {
        padding: 15px 0;
        border-bottom: 1px solid #f2f2f2;
        display: none;
    }

        #product-header .top .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

@media screen and (min-width: 992px) {
    #product-header .top {
        display: block;
    }
}

#product-header .bottom {
    padding-top: 10px;
}

#product-header .info {
    text-align: left;
    flex-grow: 1;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
}

    #product-header .info .brand {
        color: #888;
        display: block;
    }

    #product-header .info .title {
        color: #2d2d2d;
    }

    #product-header .info .opgi-price {
        color: #28a745;
        display: inline-block;
        margin-left: 15px;
    }

#product-header .product-actions {
    width: 100%;
    max-width: 260px;
}

#product-header .product-image {
    height: 50px;
    margin-right: 15px;
}

    #product-header .product-image img {
        max-height: 100%;
    }

#product-header .product-nav {
    margin: 0;
}

    #product-header .product-nav ul {
        box-shadow: none;
    }

        #product-header .product-nav ul li a {
            font-size: 14px;
        }

.category-parent {
    padding-top: 30px;
}

@media screen and (min-width: 768px) {
    .category-parent .tiles {
        flex-wrap: nowrap;
        justify-content: space-between;
    }
}

.category-parent .tiles li {
    width: 33.33%;
}

@media screen and (min-width: 576px) {
    .category-parent .tiles li {
        width: 25%;
    }
}

@media screen and (min-width: 768px) {
    .category-parent .tiles li {
        width: 20%;
    }
}

@media screen and (min-width: 992px) {
    .category-parent .tiles li {
        width: auto;
    }
}

.category-parent .tiles a {
    border-radius: 0;
}

    .category-parent .tiles a:hover {
        box-shadow: none;
    }

.category-parent .tiles .image {
    margin-bottom: 10px;
    padding: 0;
    max-height: 130px;
}

    .category-parent .tiles .image img {
        height: 300px;
    }

.category-parent .tiles .title {
    padding: 0 5px;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: bold;
}

@media screen and (min-width: 768px) {
    .category-parent .tiles .title {
        margin-bottom: 0px;
    }
}

.filtered-products .section-header {
    align-items: center;
    /*align-items: flex-start;
    justify-content: flex-start;*/
}

.filtered-products .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.filtered-products .filters {
    width: 250px;
    flex-shrink: 0;
    padding: 10px;
    margin: 0 0 0 -250px;
    transition: all .3s;
    background: #FFF;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 999;
}

@media screen and (min-width: 992px) {
    .filtered-products .filters {
        position: relative;
        box-shadow: none;
        padding: 0 10px 0 0;
        background: transparent;
        display: block;
        margin: 0;
        z-index: unset;
        overflow-y: hidden;
        /*z-index: 0;*/
    }
}

.filtered-products .filters .close-btn {
    position: absolute;
    top: 5px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
    z-index: 100;
}

    .filtered-products .filters .close-btn:hover {
        color: #035da3;
    }

@media screen and (min-width: 992px) {
    .filtered-products .filters .close-btn {
        display: none;
    }
}

.product-filter-open .filtered-products .filters {
    margin: 0 0 0 0 !important;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
}

.filtered-products .filters .button {
    /*margin-bottom: 10px;*/
}

.filtered-products .results {
    /*overflow: hidden;*/
    margin-right: -10px;
}

@media screen and (min-width: 992px) {
    .filtered-products .results {
        flex: 1;
    }
}

.filtered-products .tiles {
    width: 100%;
}

    .filtered-products .tiles > li {
        width: 50%;
    }

@media screen and (min-width: 576px) {
    .filtered-products .tiles > li {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .filtered-products .tiles > li {
        width: 33.33%;
    }
}

@media screen and (min-width: 992px) {
    .filtered-products .tiles > li {
        width: 33.33%;
    }
}


#cross-up-kit-sell {
    display: flex;
    justify-content: flex-end;
}

#brand-cross-sell {
    margin-top: 30px;
}

    #brand-cross-sell .h3 {
        margin-bottom: 5px;
        font-size: 18px;
    }

    #brand-cross-sell ul {
        flex-wrap: nowrap;
    }

        #brand-cross-sell ul li {
            width: 33%;
        }

    #brand-cross-sell li a {
        padding: 10px;
        color: #9E9E9E;
    }

    #brand-cross-sell li > div {
        position: absolute;
        width: calc(100% - 10px);
        bottom: 0;
        font-size: 12px;
        color: #9E9E9E;
    }

        #brand-cross-sell li > div > span {
            padding: 0 6px;
            background-color: #fff;
        }

    #brand-cross-sell li.current-item a {
        outline: 1px solid #eee;
        pointer-events: none;
        cursor: default;
        top: 0;
        box-shadow: none;
    }

    #brand-cross-sell li a div.brand {
        height: 30px
    }

        #brand-cross-sell li a div.brand img {
            max-width: 80%;
            max-height: 80%;
        }

    #brand-cross-sell li a div.image {
        padding: 0;
        height: 80px;
    }

    #brand-cross-sell li a div.stars {
        margin: 0;
    }

    #brand-cross-sell li a div.price {
        font-size: 14px
    }





.nice-select.text-prefix {
    font-size: 13px;
    height: 32px;
    line-height: 32px;
}

@media screen and (min-width: 576px) {
    .nice-select.text-prefix {
        padding-left: 45px;
        font-size: 13px;
    }
}


.nice-select.text-prefix:before {
}

.nice-select.page-size {
    margin-left: 10px;
}

@media screen and (min-width: 576px) {
    .nice-select.text-prefix:before {
        color: #888;
        height: 20px;
        width: 30px;
        text-align: center;
        display: block;
        position: absolute;
        left: 10px;
        top: 0;
        bottom: 0;
        /*line-height: 36px;*/
        line-height: 30px;
        font-size: 13px;
        font-weight: 400;
    }

    .nice-select.page-size {
        padding-left: 50px;
    }

        .nice-select.page-size:before {
            content: 'Items:';
        }

    .nice-select.sort-by:before {
        content: 'Sort:';
    }
}

.nice-select.sort-by {
    margin-left: 10px;
}


.nice-select .current {
    /*color: #888888;*/ /*rjb*/
    /*font-weight: 700;*/ /*rjb*/
}


.grid-view-properties {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

@media screen and (min-width: 992px) {
    .grid-view-properties {
        width: auto;
    }
}

.grid-view-properties select {
    font-size: 13px;
    padding: 6px;
    height: 32px !important;
}


.grid-view-properties > .pagination-text {
    font-size: 11px;
    color: #9E9E9E;
}


a.button-filter-clear {
    height: 32px;
    line-height: 30px;
    margin-bottom: 10px;
    padding: 0 12px;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: 1px solid #d9d9d9;
    border-radius: 9em;
    background-color: #FFF;
    color: #888;
}

    a.button-filter-clear::after {
        content: '\00D7'; /*&times;*/
        font-size: 19px;
        padding-left: 5px;
        vertical-align: top;
        color: #f86a54;
        font-weight: 700;
    }

    a.button-filter-clear:hover {
        background: #fff;
        border-color: #2d2d2d;
        color: #2d2d2d;
    }

        a.button-filter-clear:hover::after {
            color: #da2917;
        }

@media screen and (min-width: 992px) {
    a.button-filter-clear {
        margin-left: 10px;
        margin-bottom: 0;
    }
}


a.button-filter-clear span {
    font-weight: normal !important;
}


#product-filter-button {
    height: 32px;
    line-height: 30px;
    padding: 0 12px;
    margin-right: 10px;
    display: inline-block;
    font-size: 13px !important;
    flex-grow: 1;
}

@media screen and (min-width: 992px) {
    #product-filter-button {
        display: none;
    }
}





.filtered-products .active-filters {
    margin: -2px -4px 6px;
    padding: 0;
    list-style: none;
}

    .filtered-products .active-filters:after {
        content: "";
        display: table;
        clear: both;
    }

    .filtered-products .active-filters li {
        float: left;
        margin: 2px 4px;
        padding: 2px 4px 2px 10px;
        background: #e3f2fb;
        border: 1px solid #cee6f6;
        border-radius: 200px;
        font-size: 13px;
        color: #4C7CA1;
    }

        .filtered-products .active-filters li span {
            display: inline-block;
            background: #FFF;
            cursor: pointer;
            height: 18px;
            width: 18px;
            border-radius: 100%;
            text-align: center;
            line-height: 18px;
            margin-left: 6px;
        }

            .filtered-products .active-filters li span:hover {
                color: #da2917;
            }

.filtered-products .pagination-holder {
    text-align: center;
    margin-top: 30px;
}

.filtered-products .filter-group {
    background-color: #FFF;
    margin-bottom: 10px;
    padding: 20px 20px 5px;
    border-top: 1px solid #dbdcdb;
    max-height: 300px;
    max-height: 30vh;
    overflow-y: auto;
}

@media screen and (min-width: 992px) {
    .filtered-products .filter-group {
        border: none;
        border-radius: 3px;
    }
}

.filtered-products .filter-group .title {
    font-size: 18px;
    font-weight: 900;
    position: sticky;
    background: #fff;
    /*background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);*/
    color: #2d2d2d;
    top: -20px;
    line-height: 1;
    z-index: 1;
    padding: 15px 20px 10px;
    margin: -20px -20px 0px -20px;
}

    .filtered-products .filter-group .title a,
    .filtered-products .filter-group .title button {
        font-size: 13px;
        font-weight: normal;
        margin-left: .5em;
        text-decoration: underline;
    }

    .filtered-products .filter-group .title button {
        appearance: none;
        -webkit-appearance: none;
        background: none;
        border: 0;
        padding: 0;
        text-align: left;
        color: #035da3;
    }



.filtered-products .filter-group ul a,
.filtered-products .filter-group ul button {
    color: #444;
    text-decoration: none;
    line-height: 1 !important;
    font-size: 13px !important;
}

/* Remove native button styling so it behaves visually like the anchor */
.filtered-products .filter-group ul button {
    appearance: none;
    -webkit-appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font: inherit;
    text-align: left;
}

.filtered-products .filter-group ul .checkbox-label {
    display: flex;
    align-items: center;
    min-height: 20px;
    margin: -2px -2px -2px 0;
    padding: 2px 2px 2px 28px;
    border-radius: 4px;
}

    .filtered-products .filter-group ul .checkbox-label:not(.checkbox-label-disabled):hover {
        background-color: #f3f3f3;
    }

.filtered-products .filter-group ul label a,
.filtered-products .filter-group ul label button {
    color: #444;
    text-decoration: none;
}

    .filtered-products .filter-group ul label a small::before,
    .filtered-products .filter-group ul label button small::before {
        content: '(';
    }

    .filtered-products .filter-group ul label a small::after,
    .filtered-products .filter-group ul label button small::after {
        content: ')';
    }

    .filtered-products .filter-group ul label a .stars,
    .filtered-products .filter-group ul label button .stars {
        display: inline-flex;
        font-size: 18px;
        vertical-align: middle;
    }

.filtered-products .filter-group ul label:not(.checkbox-label-disabled):hover a .front-stars,
.filtered-products .filter-group ul label:not(.checkbox-label-disabled):hover button .front-stars {
    filter: hue-rotate(180deg) brightness(0.9);
}

.filtered-products .filter-group ul label.checkbox-label-selected a,
.filtered-products .filter-group ul label.checkbox-label-selected button {
    font-weight: bold;
}

.filtered-products .filter-group ul label.checkbox-label-disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.filtered-products .filter-group ul label:not(.checkbox-label-disabled):hover a,
.filtered-products .filter-group ul label:not(.checkbox-label-disabled):hover button {
    color: #2687c8;
}

.filtered-products .filter-group ul label:not(.checkbox-label-disabled):hover .checkbox-custom {
    border-color: #2687c8;
}

.filtered-products .filter-group ul {
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
}

    .filtered-products .filter-group ul li {
        margin: 0 0 10px;
        padding: 0;
    }

.filtered-products .filter-group .form {
    margin: 15px 0;
}

    .filtered-products .filter-group .form input {
        width: 100%;
    }

.filtered-products .filter-group .load-brands-holder {
    text-align: center;
}

    .filtered-products .filter-group .load-brands-holder .load-brands {
        display: inline-block;
        font-weight: 700;
        cursor: pointer;
        color: #035da3;
    }

        .filtered-products .filter-group .load-brands-holder .load-brands:hover {
            text-decoration: underline;
        }

.filtered-products .filter-group.categories {
    border: none;
}

.filtered-products .filter-group.brands li:nth-child(n+6) {
    display: none;
}

.filtered-products .filter-group .stars {
    justify-content: flex-start;
}

    .filtered-products .filter-group .stars .back-stars,
    .filtered-products .filter-group .stars .front-stars {
    }




.cart-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

@media screen and (min-width: 992px) {
    .cart-container {
        flex-wrap: nowrap;
    }
}

.cart-container .cart-content {
    flex-grow: 1;
}

@media screen and (min-width: 992px) {
    .cart-container .cart-content {
        flex-grow: 1;
        width: 100%;
    }
}

.cart-container .cart-content .button-holder {
    text-align: right;
    margin-bottom: 60px;
}

.cart-container .cart-sidebar {
    width: 100%;
}

@media screen and (min-width: 992px) {
    .cart-container .cart-sidebar {
        flex-grow: 0;
        flex-shrink: 0;
        padding-left: 10px;
        width: 330px;
    }
}

.cart-content .button-holder {
    text-align: right;
}

.line-item-cart-buttons {
    float: right;
}

    .line-item-cart-buttons .button {
        margin: 20px 0;
    }


#cartTable {
    margin: 0 0 10px 0;
    max-width: 100%;
}

    #cartTable .thead {
        background: #eee;
        color: #2d2d2d;
        font-size: 13px;
        font-weight: normal;
        display: none;
        padding-top: 15px;
        padding-bottom: 15px;
        padding: 15px 20px;
        max-width: 100%;
    }

        /*@media screen and (min-width: 768px) {
  #cartTable .thead {
    display: flex;
  }
}*/

        #cartTable .thead .productCol {
            text-align: left;
        }

        #cartTable .thead .quantityCol {
            text-align: center;
        }

    #cartTable .tbody {
        max-width: 100%;
    }

    #cartTable .tr {
        margin-bottom: 10px;
    }

        #cartTable .tr:last-of-type {
            margin-bottom: 0;
        }

    #cartTable .cart-kit {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: #fff;
        position: relative;
        flex-wrap: wrap;
        padding: 20px 20px;
        max-width: 100%;
        overflow: hidden;
    }

    #cartTable.restrictions .cart-kit {
        padding: 0;
    }


    #cartTable .kit-items {
        margin: 0;
        width: 100%;
        font-size: 11px;
        position: relative;
    }

        #cartTable .kit-items td.kit-sku {
            padding-left: 10px;
        }

        #cartTable .kit-items td.kit-price {
            padding-right: 10px;
            text-align: right;
            display: none;
        }

@media screen and (min-width: 576px) {
    #cartTable .kit-items td.kit-price {
        display: table-cell;
    }
}


#cartTable .kit-items.expand .kit-items-inner {
    margin: 0 10px;
    background-color: #fff;
    max-height: 114px;
    overflow-y: auto;
    position: relative;
    box-shadow: inset 0px 6px 6px -6px rgba(0, 0, 0, .5);
    -webkit-overflow-scrolling: touch;
    -webkit-transition: .5s;
    transition: .5s;
}

    #cartTable .kit-items.expand .kit-items-inner.open {
        max-height: 50em;
    }

.expand-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: -4px;
    border-radius: 100%;
    text-align: center;
    text-indent: -.015em;
    background-color: #fff;
    cursor: pointer;
    border: 1px solid #CCC;
    color: #ccc;
    font-size: 19px;
    line-height: 20px;
    vertical-align: middle;
    transition: all .2s;
}

#cartTable .expand-icon {
    display: none;
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -10px;
    left: 50%;
    margin-left: -10px;
    z-index: 1;
}


.expand-icon:hover {
    color: #035da3;
    border-color: #035da3;
}

.expand-icon .icon {
    line-height: 10px;
    display: inline-block;
}



#cartTable .kit-items .kit-items-table {
    margin: 0;
}

#cartTable .kit-items td {
    border-top: 1px solid #f0eff0;
    padding: 5px;
}

    #cartTable .kit-items td.stock-status-cart {
        white-space: nowrap;
    }

    #cartTable .kit-items td.ship-size-cart {
        position: relative;
        text-align: center;
    }

#cartTable .kit-items .success {
    color: #28a745;
    text-align: center;
}

#cartTable .kit-items .error {
    color: #da2917;
    text-align: center;
}

#cartTable .kit-items .warning {
    color: #eaa600;
    text-align: center;
}

#cartTable.mini {
    padding-top: 40px;
    /* border-top: 30px solid #f3f3f3; */
    margin-bottom: 0;
    background-color: #f3f3f3;
}

    #cartTable.mini .tr {
        /*padding: 20px;*/
    }

@media screen and (min-width: 768px) {
    #cartTable.mini .quantityCol {
        text-align: center;
    }
}

#cartTable .td {
    border: none;
    font-size: 12px;
}

    #cartTable .td.success {
        color: #28a745;
    }

    #cartTable .td.error {
        color: #da2917;
    }

    #cartTable .td.warning {
        color: #eaa600;
    }




#cartTable .quantityCol .quantity-remove {
    display: block;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    border: none;
    outline: none;
    padding: 0;
    width: 24px;
    height: 28px;
    background-color: #999;
    -webkit-mask: url('/Images/icons/trash-can.svg') no-repeat center / contain;
    mask: url('/Images/icons/trash-can.svg') no-repeat center / contain;
    -webkit-mask-size: 75%;
    mask-size: 75%;
}

    #cartTable .quantityCol .quantity-remove:hover:not(:disabled) {
        background-color: #da2917;
    }

    #cartTable .quantityCol .quantity-remove:disabled {
        cursor: not-allowed;
    }


/*#cartTable .quantityCol .quantity-remove.loading {
        background-color: #da2917;
        animation-duration: 2s;
        animation-name: spin-y;*/
/*animation-duration: 0.8s;
        animation-name: pulse;*/
/*animation-iteration-count: infinite;
        animation-timing-function: linear;
    }*/



@media screen and (min-width: 768px) {
    #cartTable.wishlist .productCol {
        width: calc(100% - 400px);
    }
}

#cartTable .productCol {
    flex-grow: 1;
    /*padding-left: 15px;*/
    padding-bottom: 10px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    #cartTable .productCol {
        /*padding-right: 30px;*/
        padding-bottom: 0;
        /*width: auto;*/
        width: calc(100% - 270px);
    }
}

#cartTable .productCol .holder {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
}

#cartTable .productCol .image {
    width: 90px;
    height: 90px;
    display: flex;
    margin-right: 20px;
    flex-grow: 0;
    flex-shrink: 0;
    justify-content: center;
    align-content: center;
    overflow: hidden;
}

    #cartTable .productCol .image:hover {
        opacity: 0.8;
    }

.cart-product-thumbnail-wrapper {
    display: flex;
    align-items: center;
}

#cartTable .productCol .image span.cart-product-thumbnail {
    display: flex;
}

#cartTable .productCol .image img {
    align-self: center;
    display: block;
    min-width: 1px;
}

#cartTable .productCol .content {
    flex-shrink: 1;
    max-width: 100%;
    align-self: center;
    /*margin-right: 20px;*/
}

#cartTable .productCol .title {
    display: inline-block;
    width: 100%;
    color: #2d2d2d;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    text-decoration-color: #fff;
}

    #cartTable .productCol .title:hover {
        text-decoration: underline;
        text-decoration-color: #d9d9d9;
    }


@media screen and (min-width: 768px) {
    #cartTable .productCol .title {
        font-size: 18px;
    }
}

#cartTable .productCol .attributes a {
}

#cartTable .productCol .attributes > div {
    /*margin-right: 15px;*/
    white-space: nowrap;
}

#cart-popup .kit-savings {
    display: none;
}

#cartTable .productCol .attributes .kit,
#cartTable .kit-savings {
    display: inline-block;
    color: #FFF;
    background: #015da3;
    padding: 2px 6px 0;
    margin-top: -2px;
    font-size: 12px;
    white-space: nowrap;
}

#cartTable .productCol .attributes .kit {
    display: none;
}

#cartTable .productCol .attributes .stock.success {
    color: #28a745;
}

#cartTable .productCol .attributes .stock.error {
    color: #da2917;
}

#cartTable .productCol .attributes .stock.warning {
    color: #eaa600;
}

#cartTable .productCol .attributes .free-shipping a {
    color: #28a745;
    font-weight: 700;
    /*position: relative;*/
    /*padding-left: 18px;*/
}

/*#cartTable .productCol .attributes .free-shipping:before {
    position: absolute;
    content: 'u';
    font-family: opgi-icons;
    top: -0.25em;
    left: 0;
    font-size: 16px;
}*/

.free-shipping,
.free-shipping-excluded,
.additional-handling,
.ground-shipping-only {
    cursor: help;
}


#cartTable .quantityCol {
    display: flex;
    flex-direction: row-reverse;
    flex-grow: 1;
    justify-content: flex-end;
    align-items: center;
    column-gap: 6px;
    text-align: left;
    padding-right: 20px;
}

@media screen and (min-width: 768px) {
    #cartTable .quantityCol {
        padding-right: 0px;
        /*width: 90px;*/
        flex-grow: 0;
        flex-shrink: 0;
        flex-direction: row;
    }
}

#cartTable .quantityCol.td {
    font-weight: 700;
    font-size: 14px;
}

#cartTable .quantityCol .quantity,
#cartTable .quantityCol .quantity-read-only {
    width: 90px;
    text-align: center;
}

@media screen and (min-width: 768px) {
    #cartTable .quantityCol .quantity {
        margin: auto;
    }
}

#cartTable .quantityCol .quantity quantity-input[type=number] {
    font-size: 14px;
}

#cartTable .quantityCol .qty-label {
    display: inline-block;
}

@media screen and (min-width: 768px) {
    #cartTable .quantityCol .qty-label {
        display: none;
    }
}

#cartTable .order-discount-item {
    pointer-events: none;
}

    #cartTable .order-discount-item .attributes,
    #cartTable .order-discount-item .free-shipping,
    #cartTable .order-discount-item .price-details,
    #cartTable .order-discount-item .quantityro {
        display: none !important;
    }

    #cartTable .order-discount-item .image {
        height: 53px;
    }

    #cartTable .order-discount-item .productCol .title {
        color: #d92400;
        font-weight: 700;
    }

    #cartTable .order-discount-item .priceCol .price {
        color: #d92400;
    }

    #cartTable .order-discount-item .priceCol {
        position: absolute;
        right: 20px;
    }

@media screen and (min-width: 768px) {
    #cartTable .order-discount-item .priceCol {
        position: relative;
        right: auto;
    }
}


/*
#cartTable .quantityCol span {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  #cartTable .quantityCol span {
    display: none;
  }
}


@media screen and (min-width: 768px) {
  #cartTable .quantityCol {
    padding-right: 0px;
    width: 100px;
    flex-grow: 0;
    flex-shrink: 0;
  }
}


#cartTable .quantityCol .niceSelect {
  float: right;
}

#cartTable .quantityCol .niceSelect span {
  display: block !important;
}

@media screen and (min-width: 768px) {
  #cartTable .quantityCol .niceSelect {
    float: left;
  }
}
*/

#cartTable .priceCol {
    text-align: right;
}

@media screen and (min-width: 768px) {
    #cartTable .priceCol {
        width: 120px;
        flex-grow: 0;
        flex-shrink: 0;
    }
}

#cartTable .priceCol .price {
    color: #2d2d2d;
    font-weight: 900;
    font-size: 18px;
    line-height: 1;
}

#cartTable .addCol {
    flex-grow: 0;
    flex-shrink: 0;
    width: 130px;
    text-align: right;
}

#cartTable .priceCol .price > span.price-backorder {
    opacity: 0.5;
}

#cartTable .tr.on-sale .priceCol .price > span {
    color: #d92400;
}

#cartTable .tr.item-free .priceCol .price > span {
    color: #d92400;
    font-size: 133%;
}

#cartTable .tr.item-free .priceCol .price-wrapper {
    display: none;
}



/***********************/
/* ship via line items */
/***********************/
#cartTable.shipment-items {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

    #cartTable.shipment-items .tbody {
        display: flex;
        flex-wrap: wrap;
    }

    #cartTable.shipment-items .tr {
        margin: 0 15px 10px 0;
    }


    #cartTable.shipment-items .cart-kit {
        padding: 0;
        overflow: initial;
    }

    #cartTable.shipment-items .part-banner {
        display: none;
    }

    #cartTable.shipment-items .productCol,
    #cartTable.shipment-items .productCol .image {
        padding: 0;
        margin: 0;
        width: 60px;
        height: 60px;
    }

        #cartTable.shipment-items .productCol a {
            cursor: default;
            pointer-events: none;
        }


        #cartTable.shipment-items .productCol .content,
        #cartTable.shipment-items .td.quantityCol,
        #cartTable.shipment-items .kit-items {
            display: none;
        }




#cartTable .cart-product-badges {
    display: none;
}

#shipping-method .cart-product-badges {
    position: absolute;
    display: inline-flex !important;
    top: 0px;
    left: -3px;
    line-height: 1;
}


.ship-badge {
    display: inline-block;
    white-space: nowrap;
}

    .ship-badge::before {
        content: '?';
        display: inline-block;
        margin-top: -5px;
        margin-right: 3px;
        width: 30px;
        height: 18px;
        line-height: 18px;
        background-color: #fff;
        border: 1px solid rgba(0, 0, 0, 0.5);
        color: rgba(0, 0, 0, 0.666);
        font-size: 11px;
        text-align: center;
        vertical-align: middle;
        border-radius: 99px;
        overflow: hidden;
        text-decoration: none;
        transition: all ease-in-out .3s;
    }

#cartTable .ship-badge::before {
    width: 26px;
    height: 16px;
    line-height: 16px;
    font-size: 10px;
}


/*.ship-badge.ship-badge-md::before {
    margin-top: -4px;
    width:  24px;
    height: 24px;
    line-height: 24px;
    font-size: 12px;
}*/

.ship-badge-free-ground::before {
    content: 'u';
    background-color: #28a745;
    border-color: #28a745;
    color: #fff;
    font-family: 'opgi-icons';
    font-size: 15px;
    text-indent: -1px;
}

.ship-badge-free-ground:hover::before {
    background-color: #13c53c !important;
    border-color: #13c53c !important;
}

/*.ship-badge-md.ship-badge-free-ground::before {
    font-size: 14px;
    text-indent: -1px;
}*/


.ship-badge-standard::before {
    content: 'ST';
    /*background-color: rgba(0, 34, 102, 0.75);*/
}

.ship-badge-oversize-1::before {
    content: 'OS1';
}

.ship-badge-oversize-2::before {
    content: 'OS2';
}

.ship-badge-oversize-3::before {
    content: 'OS3';
}

.ship-badge-view-kit-item-sizes::before {
    content: 'KIT';
}

.ship-badge-truck-freight::before {
    content: 'OS4';
    /*background-color: #7f5b00;*/
}

.ship-badge-ground-only::before {
    content: 'GSO';
    /*background-color: #cd0046;*/
}

a.ship-badge:hover::before {
    background-color: #ccc;
}



.cart-summary {
    background: #FFF;
    margin-bottom: 2px;
}

    .cart-summary .heading {
        padding: 30px;
        border-bottom: 1px solid #f3f3f3;
    }

        .cart-summary .heading h3, .cart-summary .heading .h3 {
            margin: 0 0 5px;
        }

    .cart-summary .sub-heading {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
    }

    .cart-summary .cart-totals {
        margin: 10px 0 0;
        padding: 0 30px;
        list-style: none;
        color: #2d2d2d;
        font-size: 14px;
    }

        .cart-summary .cart-totals .success {
            color: #28a745;
        }

        .cart-summary .cart-totals .error {
            color: #da2917;
        }

        .cart-summary .cart-totals .warning {
            color: #eaa600;
        }

        .cart-summary .cart-totals > li {
            margin: 0;
            padding: 10px;
            border-bottom: 1px solid #f3f3f3;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

            .cart-summary .cart-totals > li.shipping-info {
                display: block;
            }

            .cart-summary .cart-totals > li:last-child {
                border-bottom: none;
            }

        .cart-summary .cart-totals .total {
            font-size: 16px;
            color: #035da3;
        }

.shipping-info-group {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    line-height: 1;
}


    /*.shipping-info-group > li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 10px;
    font-size: 12px;
    line-height: 1;
}*/

    .shipping-info-group tr.shipping-info-group-total td {
        font-size: 14px;
    }

        .shipping-info-group tr.shipping-info-group-total td.price-final {
            font-weight: 700;
        }

    .shipping-info-group td {
        text-align: left;
    }

        .shipping-info-group td:first-child {
            text-align: left;
            width: 9em;
        }

        .shipping-info-group td:last-child {
            text-align: right;
        }

    /*.shipping-info-group > li > div:first-child {
    width: 53%;
    white-space: nowrap;
}*/

    .shipping-info-group .ship-badge {
        margin-top: -2px;
        margin-right: 5px;
    }

a.tool-tip-lightbox {
    color: inherit;
    text-decoration-color: #00d9d9;
    text-decoration-line: underline;
    text-decoration-style: dotted;
}

    a.tool-tip-lightbox:hover {
        color: #00a6a6;
        text-decoration-style: solid;
    }


.shipping-info-group .price-original {
    position: relative;
    display: none;
}

    .shipping-info-group .price-original::after {
        border-top: 2px solid rgba(217, 36, 0, .8);
        position: absolute;
        content: "";
        right: -3px;
        top: 45%;
        left: 5px;
        transform: rotate(-9deg);
    }

.shipping-info-group th {
    padding: 0 0 8px;
    color: #aaa;
    font-size: 11px;
    font-weight: normal;
    white-space: nowrap;
}

    .shipping-info-group th:last-child {
        text-align: right;
    }

.shipping-info-detail td {
    padding: 0 0 8px;
    white-space: nowrap;
}

.shipping-info-detail .price-original {
    display: none;
}

.shipping-info .price-free,
.shipping-info-detail .price-free {
    font-weight: 900;
    font-size: 16px;
    color: #28a745;
    text-transform: uppercase;
}

.shipping-info-detail .price-free {
    font-size: 15px;
}

/*.shipping-info-detail td:first-child {
    padding-left: 10px;
    width: 47%;
}*/

/*.shipping-info-detail td:last-child {
    padding-right: 10px;
}*/

.shipping-info-total {
    display: flex;
    justify-content: space-between;
}

.shipping-info-detail-toggle {
    cursor: pointer;
}

.cart-summary .button-holder {
    padding: 20px 30px 30px;
}

#promo-box > div {
    justify-content: space-between;
}


#promo-box .tb-sales-campaign {
    flex-grow: 1;
    padding: .5em .75em !important;
    border-right: 0;
    border-radius: 3px 0 0px 3px;
    font-size: 12px;
}

    #promo-box .tb-sales-campaign::placeholder {
        color: #aaa;
    }

    #promo-box .tb-sales-campaign:focus::placeholder {
        color: #eee;
    }


#promo-box .btn-sales-campaign {
    border-radius: 0 3px 3px 0;
    padding: .5em .75em !important;
    font-size: 12px;
    font-weight: normal;
}

.sub-heading.promo-display {
    color: #888;
    justify-content: flex-start;
}

.promo-display b {
    margin-left: 0.5em;
    color: #317bc5;
}

.promo-display .remove {
    position: relative;
    top: -1px;
    padding: 0;
    width: 24px;
    height: 24px;
    line-height: 24px;
    font-size: 24px;
    color: #bbb;
    text-align: center;
    background: none;
    border: none;
    outline: none;
}

    .promo-display .remove:hover {
        color: #da2917;
    }


.cart-summary .neg {
    color: #045DA3;
}

.cart-sidebar .alt-payments {
    background: #FFF;
    padding: 20px 30px;
}

    .cart-sidebar .alt-payments .button {
        display: flex;
        justify-content: center;
        align-content: center;
        margin: 10px 0;
        padding-top: 1.25em;
        padding-bottom: 1.25em;
        color: #2d2d2d;
        font-size: 14px;
        font-weight: 400;
    }

    .cart-sidebar .alt-payments .paypal img {
        max-height: 16px;
        margin-left: 5px;
    }

    .cart-sidebar .alt-payments .affirm img {
        max-height: 16px;
        margin-right: 5px;
        position: relative;
        top: -2px;
    }

    .cart-sidebar .alt-payments .affirm-text {
        min-height: 19px;
        font-size: 12px;
        color: #888;
        text-align: center;
        white-space: nowrap;
    }

        .cart-sidebar .alt-payments .affirm-text a {
            color: #888;
            /* text-decoration: none; */
        }

            .cart-sidebar .alt-payments .affirm-text a:hover {
                color: #035da3;
            }

.points {
    background: transparent;
    padding: 20px 0 10px;
    text-align: center;
    font-size: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
}

    .points .icon-points,
    .points .icon-points-1 {
        color: #eaa600;
        font-size: 24px;
        margin-right: 5px;
        margin-bottom: -6px;
    }

    .points a {
        color: #888;
        text-decoration: none;
        font-size: 12px;
    }

        .points a:hover {
            color: #035da3;
        }

    .points .loyalty-level {
        color: #eaa600;
        font-size: 1.1em;
        font-weight: 900;
        text-transform: uppercase;
        line-height: 0.8;
        margin-right: 3px;
    }


.cart-sidebar .trust {
    display: flex;
    padding: 20px 20px;
    justify-content: space-around;
    column-gap: 10px;
}

    .cart-sidebar .trust a img {
        max-height: 40px;
        opacity: .85;
    }

    .cart-sidebar .trust a:hover img {
        opacity: 1;
        filter: saturate(2);
    }


.checkout-steps .steps {
    max-width: 400px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 400;
    position: relative;
}

@media screen and (min-width: 340px) {
    .checkout-steps .steps {
        font-size: 12px;
    }
}

.checkout-steps .steps .step {
    position: relative;
    z-index: 3;
    color: #d9d9d9;
}

.checkout-steps .steps .active {
    color: #999;
}

    .checkout-steps .steps .active .icon-holder {
        border-color: #035da3;
        background: #035da3;
    }

        .checkout-steps .steps .active .icon-holder .icon {
            color: #FFF;
        }

.checkout-steps .steps .current {
    color: #035da3;
}

    .checkout-steps .steps .current .icon-holder {
        transform: scale(1.2);
    }

.checkout-steps .steps .icon-holder {
    background: #f3f3f3;
    width: 40px;
    height: 40px;
    font-size: 20px;
    line-height: 40px;
    border: 2px solid #d8d7d8;
    border-radius: 100%;
    text-align: center;
    margin: 0px auto 5px;
}

    .checkout-steps .steps .icon-holder .icon {
        color: #d9d9d9;
    }

.checkout-steps .steps:before, .checkout-steps .steps:after {
    content: '';
    display: block;
    border-bottom: 2px dashed #d9d9d9;
    position: absolute;
    top: 20px;
    left: 30px;
    right: 50%;
}

.checkout-steps .steps:after {
    right: 30px;
    left: 50%;
}

.checkout-steps .steps.on-step2:before {
    border-bottom: 2px solid #035da3;
}

.checkout-steps .steps.on-step3:before, .checkout-steps .steps.on-step3:after {
    border-bottom: 2px solid #035da3;
}

.checkout-content {
    background: #FFF;
    width: 100%;
    flex-grow: 1;
    /*padding-bottom: 60px;*/
    padding-bottom: 40px;
    margin-bottom: 30px;
}

.checkout-row {
    padding: 15px 20px;
}

@media screen and (min-width: 768px) {
    .checkout-row {
        /*padding: 15px 100px;*/
        /*padding: 15px 80px;*/
        padding: 15px 40px;
    }
}

.checkout-row.heading {
    /*padding-top: 30px;*/
}

.checkout-row.border-bottom {
    border-bottom: 1px solid #f1f1f1;
    padding-bottom: 30px;
    margin-bottom: 10px;
}

.checkout-row.border-top {
    border-top: 1px solid #f1f1f1;
    padding-top: 30px;
    /*margin-top: 10px;*/
}

.customer-type {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 15px;
}

@media screen and (min-width: 768px) {
    .customer-type {
        flex-direction: row;
    }
}

.customer-type .option {
    display: flex;
    flex-direction: column;
    border: 1px solid #d2d2d2;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1.2;
    padding: 15px 20px;
    position: relative;
    width: 100%;
}

    .customer-type .option small {
        font-size: 12px;
        opacity: .75;
        font-weight: normal;
    }


@media screen and (min-width: 768px) {
    .customer-type .option {
    }
}

.customer-type .option:hover {
    color: #2d2d2d;
    border: 1px solid #999;
}

.customer-type .option.active {
    cursor: default;
    border-color: transparent;
    border: 2px solid #035da3;
    padding: 14px 19px; /*needed to offset border width change*/
    font-weight: 700;
    color: #2d2d2d;
}

.customer-type .option:before {
    opacity: 0;
    content: 'u';
    background: #035da3;
    height: 0;
    width: 0;
    font-size: 23px;
    line-height: 30px;
    text-align: center;
    vertical-align: middle;
    border-radius: 100%;
    position: absolute;
    right: 35px;
    top: 50%;
    margin-top: 0;
    font-family: opgi-icons;
    color: rgba(255,255,255,0);
    transform: rotate(180deg);
    transition: all .3s ease-out;
}


.customer-type .option.active:before {
    right: 20px;
    margin-top: -15px;
    height: 30px;
    width: 30px;
    color: rgba(255,255,255,1);
    opacity: 1;
    transform: rotate(360deg);
}

.form-group {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    flex-direction: column;
    flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
    .form-group {
        flex-direction: row;
        flex-wrap: nowrap;
    }
}

.form-group .label-group {
    width: 100%;
    text-align: left;
    font-size: 12px;
    line-height: 1.1;
    flex-grow: 1;
}

@media screen and (min-width: 768px) {
    .form-group .label-group {
        margin-bottom: 0;
        width: 160px;
        padding-right: 10px;
        text-align: right;
        flex-grow: 0;
        flex-shrink: 0;
    }
}

.form-group .label-group label {
    text-align: right;
}

.form-group .label-group small,
.form-group .label-group .finePrint,
.form-group .label-group .ErrorMessage,
.form-group .label-group .required {
    white-space: nowrap;
}


.form-group .input-group {
    flex-grow: 1;
    width: 100%;
    position: relative;
}

.form-group input:not([type=checkbox]):not([type=radio]):not([type=button]) {
    width: 100%;
}

.form-group .nice-select {
    width: 100%;
}

.form-group .password-forgot {
    font-size: 13px;
    flex-shrink: 0;
    display: inline-block;
    margin: 10px 0;
}


.password-toggle-group input[type=text] {
    font-family: monospace;
}

.password-toggle-group input::-ms-reveal,
.password-toggle-group input::-ms-clear {
    display: none;
}

.password-toggle-button {
    position: absolute;
    top: 1px;
    right: 1px;
    height: calc(2.5em - 2px);
    width: calc(2.5em - 2px);
    padding: 8px 10px;
    background-color: rgba(0,0,0,0);
    background-image: url('/Images/icons/eye-open.svg'), url(/Images/icons/eye-closed.svg); /* preload closed eye */
    background-size: 26px 16px, 26px 16px;
    background-position: center center, -99em -99em;
    background-repeat: no-repeat, no-repeat;
    border: none;
    border-radius: 0 3px 3px 0;
    font-size: 16px;
    text-indent: -99em;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s;
}

    .password-toggle-button.show {
        opacity: .67;
    }


    .password-toggle-button:hover {
        background-color: rgba(0,0,0,0.1);
    }


    .password-toggle-button.password-toggle-button-show {
        background-image: url(/Images/icons/eye-closed.svg), url('/Images/icons/eye-open.svg'); /* keeping two images stops duplication during css transition */
    }


label .required {
    color: #da2917;
    font-size: 12px;
    position: relative;
    top: -3px;
    margin-left: 1px;
}

#sameAsShippingRadios .checkbox-label {
    float: left;
    clear: none;
    margin-right: 30px;
    margin-bottom: 5px;
}


.create-account,
.join-newsletter {
    border: 1px solid #d2d2d2;
    border-radius: 6px 6px 0 0;
    padding: 30px;
}

    .create-account .checkbox-label,
    .join-newsletter .checkbox-label {
        font-size: 16px;
        font-weight: 700;
        color: #2d2d2d;
    }

        .create-account .checkbox-label small,
        .join-newsletter .checkbox-label small {
            color: #444;
            display: block;
            font-size: 12px;
            font-weight: normal;
            padding-top: 2px;
        }


.create-account-points {
    border: 1px solid #d2d2d2;
    border-top: none;
    border-radius: 0 0 6px 6px;
    background: #f3f3f3;
    padding: 10px;
    font-size: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #2d2d2d;
}

    .create-account-points .icon {
        color: #eaa600;
        font-size: 24px;
        position: relative;
        top: 3px;
        margin-right: 10px;
    }

.checkout-row.buttons {
    text-align: right;
}

    .checkout-row.buttons .terms {
        margin-top: 20px;
        text-align: center;
        font-size: 12px;
        color: #888888;
    }

        .checkout-row.buttons .terms a {
            color: #888888;
            text-decoration: underline;
        }

            .checkout-row.buttons .terms a:hover {
                color: #035da3;
            }



.shipping-options .shipvia-group {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    /* background-color: #fafafa; */
    margin-bottom: 10px;
    padding: 20px 0px 10px;
}

    .shipping-options .shipvia-group.no-group {
        /*flex-flow: column nowrap;*/
        padding-top: 10px;
    }


    .shipping-options .shipvia-group h4 {
        position: absolute;
        top: 2px;
        left: 0;
        font-size: 14px;
    }

    .shipping-options .shipvia-group > div,
    .emission-restriction-options .group > div {
        padding: 5px;
        width: 100%;
    }

    .shipping-options .shipvia-group.no-group > div {
        /*width: 100%;*/
    }


.shipping-options .checkbox-label,
.emission-restriction-options .checkbox-label {
    border: 1px solid #fafafa;
    border-radius: 6px;
    background: #fafafa center;
    padding: 10px 15px;
    min-height: 50px;
    height: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #2d2d2d;
    margin: 0;
    font-weight: 400;
    transition: all .5s;
    user-select: none;
}

@media screen and (min-width: 1200px) {
    .shipping-options .shipvia-group > div {
        width: 50%;
    }
}


.shipping-options .checkbox-label:hover {
    border-color: #2687c8;
}


.shipping-options .checkbox-label.active {
    background-color: #d5e4f3;
    border-color: #d5e4f3;
    cursor: default;
}

.shipping-options .checkbox-label .image {
    display: none;
    height: 16px;
    width: auto;
    margin-right: 8px;
    align-content: center;
    transition: opacity .5s;
}

@media screen and (min-width: 390px) {
    .shipping-options .checkbox-label .image {
        display: flex;
    }
}

.shipping-options .checkbox-label .image img {
    max-height: 100%;
}



.shipping-options .checkbox-label .image.shipvia-company-ups {
    height: 24px;
}


.shipping-options .checkbox-label .days {
    display: none;
}



.shipping-options .checkbox-label .method {
    flex-grow: 1;
    white-space: nowrap;
    line-height: 1;
    /*text-overflow: ellipsis;
    overflow: hidden;*/
}

@media screen and (min-width: 390px) {
    .shipping-options .checkbox-label .method span {
        display: none;
    }
}


.shipping-options .checkbox-label .price {
    font-size: 16px;
    /*margin-left: 10px;*/
    text-align: right;
}

.shipping-options label.ship-promo span.ship-free {
    color: #28a745;
    font-size: 18px;
    font-weight: 700;
    line-height: 0.4;
}

.shipping-options .ship-price-original {
    position: relative;
    /*display: inline-block;*/
    display: none;
    margin-right: 15px;
}

    .shipping-options .ship-price-original::after {
        border-top: 2px solid rgba(217, 36, 0, .8);
        position: absolute;
        content: "";
        right: -3px;
        top: 45%;
        left: 5px;
        transform: rotate(-9deg);
    }

.ship-price-save-banner {
    /*display: inline-block;*/
    display: none;
    height: 18px;
    line-height: 18px;
    border-radius: 2px;
    background-color: #28a745;
    padding: 0 15px;
    text-align: center;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
}

.shipping-info-group .ship-price-save-banner {
    margin: 6px 0 2px;
    /*padding: 0 30px;*/
    width: 100%;
}

.shipping-options .ship-price-save-banner {
    position: absolute;
    top: -9px;
    right: 15px;
}


.shipping-options label.ship-promo.active {
    /*border-color: #28a745;*/
    background-color: #cfe9cf;
}


    .shipping-options label.ship-promo.active .radio-custom {
        background-color: #28a745;
        border-color: #28a745;
    }


.shipping-options .checkbox-label .radio-custom,
.emission-restriction-options .checkbox-label .radio-custom {
    position: relative;
    margin-right: 10px;
    flex-shrink: 0;
    display: none;
}

@media screen and (min-width: 390px) {
    .shipping-options .checkbox-label .radio-custom,
    .emission-restriction-options .checkbox-label .radio-custom {
        display: inline-block;
    }
}



.horizontal-rule-text {
    display: block;
    overflow: hidden;
    text-align: center;
}

    .horizontal-rule-text::before,
    .horizontal-rule-text::after {
        background-color: #eee;
        content: "";
        display: inline-block;
        height: 1px;
        position: relative;
        vertical-align: middle;
        width: 30%;
    }

    .horizontal-rule-text::before {
        right: 0.5em;
        margin-left: -50%;
    }

    .horizontal-rule-text::after {
        left: 0.5em;
        margin-right: -50%;
    }



.shipping-options .ship-via-promo {
    color: #28a745;
    font-weight: bolder;
}

    .shipping-options .ship-via-promo.active {
        border-color: #28a745;
        /*background-color: #e7f5ed;*/
        background-color: #f3faf6;
    }

        .shipping-options .ship-via-promo.active .radio-custom {
            background-color: #28a745;
            border-color: #28a745;
        }




.ship-size-help-container {
    margin-bottom: 40px;
    font-size: 14px;
}

    .ship-size-help-container ul {
        list-style: none;
        /*margin-left: 0;*/
        padding-left: 0;
    }

        .ship-size-help-container ul li {
            line-height: 1.2;
            margin-bottom: 0.6em;
        }

        .ship-size-help-container ul .ship-badge {
            margin-top: -4px;
        }


    .ship-size-help-container dl {
        display: flex;
        flex-direction: column;
        column-gap: 25px;
        row-gap: 25px;
        margin: 0;
    }

    .ship-size-help-container .ship-free-text {
        color: #28a745;
        font-weight: 900;
    }

    .ship-size-help-container .ship-flat-rate-text {
        color: #0071ca;
        font-weight: 900;
    }

@media screen and (min-width: 600px) {
    .ship-size-help-container dl {
        flex-direction: row;
    }

        .ship-size-help-container dl > div {
            flex-grow: 1;
            max-width: 33.33%;
        }
}


.ship-size-help-container h2 {
    margin: 0 0 8px;
    font-size: 22px;
}



    .ship-size-help-container h2 span {
        display: block;
        font-size: 18px;
        font-weight: 400;
        opacity: 0.75;
    }

@media screen and (min-width: 600px) {
    .ship-size-help-container h2 span {
        display: inline;
    }
}

.ship-size-help-container h2 i {
    font-weight: 400;
    font-style: normal;
}


.ship-size-help-container h3 {
    margin-bottom: 8px;
}

    .ship-size-help-container h3 span {
        display: block;
        font-weight: 400;
        opacity: 0.75;
    }

@media screen and (min-width: 600px) {
    .ship-size-help-container h3 span {
        display: inline;
    }
}



.ship-size-help-container dt {
    background-color: #f9f9f9;
    padding: 5px 15px 2px;
    font-size: 16px;
    color: #2d2d2d;
}

    .ship-size-help-container dt img {
        height: 14px;
        opacity: .8;
    }


    .ship-size-help-container dt span {
        font-weight: 400;
    }


.ship-size-help-container dd {
    margin: 0;
    padding: 8px 15px 0;
}

.ship-size-help-container .horizontal-rule-text {
    font-style: italic;
}


    .ship-size-help-container .horizontal-rule-text::before,
    .ship-size-help-container .horizontal-rule-text::after {
        width: 20%;
    }

    .ship-size-help-container .horizontal-rule-text::before {
        margin-left: -100%;
    }


/*
.verify-address .label-group label {
    color: #bf8800;
}


.verify-address select {
    border-color: #eaa600 !important;
    background: linear-gradient(0deg, rgba(234, 166, 0, 0.4) 0%, rgba(234, 166, 0, 0.15) 15%, rgba(255,255,255,1) 100%) !important;
}


.verify-address input {
    border-color: #eaa600 !important;
    background-color: #fefcf8 !important;
    box-shadow: inset 0 0 3px rgba(234, 166, 0, .5) !important;
}
*/

.button.verify-address,
.Button.verify-address {
    background-color: #eaa600;
    border-color: #bf8800;
}

    .button.verify-address:hover,
    .Button.verify-address:hover {
        background-color: #bf8800 !important;
        border-color: #bf8800 !important;
    }



.user-address {
    font-size: 13px;
}

    .user-address a {
        color: #ADADAD;
        text-decoration: underline;
        display: inline-block;
        margin-left: 10px;
    }

        .user-address a:hover {
            color: #035da3;
        }

.shipping-desc {
    color: #2d2d2d;
    font-size: 12px;
}

.shipping-notes label {
    display: block;
    width: 100%;
    color: #2d2d2d;
    font-size: 14px;
    margin-bottom: 5px;
}

.redeemfbp .active {
    background: #187ac3;
    border-color: #187ac3;
    color: #FFF;
}

.payment-methods {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

@media screen and (min-width: 600px) {
    .payment-methods {
        flex-wrap: nowrap;
    }
}

.payment-methods li {
    border: 1px solid #d7d7d7;
    flex-grow: 1;
    text-align: center;
    padding: 10px 5px;
    font-size: 12px;
    cursor: pointer;
    font-weight: 400;
    display: flex;
    align-items: center;
    line-height: 1.2;
    text-align: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 6px;
    margin: 2px;
    min-width: 24%;
}

    .payment-methods li a {
        text-decoration: none;
        color: #444;
    }

@media screen and (min-width: 600px) {
    .payment-methods li {
        font-size: 14px;
        border-right: none;
        border-radius: 0;
        min-width: 0;
        margin: 0;
    }

        .payment-methods li:first-child {
            border-radius: 6px 0 0 6px;
        }

        .payment-methods li:last-child {
            border-radius: 0 6px 6px 0;
            border-right: 1px solid #d7d7d7;
        }
}

.payment-methods li:hover {
    background: #f3f3f3;
}

.payment-methods li.active {
    background: #187ac3;
    border-color: #187ac3;
    color: #FFF;
}

.cc-expiration-date .niceSelect {
    float: left;
    margin-right: 15px;
    clear: none;
    background: #f3f3f3;
    margin-bottom: 5px;
}

@media screen and (min-width: 400px) {
    .cc-expiration-date .niceSelect {
        width: 140px;
    }
}

.cc-expiration-date .niceSelect .option {
    line-height: 25px;
    height: auto;
    min-height: 0;
}

    .cc-expiration-date .niceSelect .option:first-child {
        display: none;
    }

.cc-secure {
    font-size: 12px;
    /*padding-bottom: 10px;*/
}


.credit-card-logos img {
    max-height: 22px;
    margin-left: 4px;
}


@media screen and (min-width: 992px) {
    .credit-card-logos {
        float: right;
    }
}

.form-group.cc-security input:not([type=checkbox]):not([type=radio]):not([type=button]) {
    width: 140px;
}

.gift-card-form {
    border: 1px solid #d7d7d7;
    border-radius: 3px;
    padding: 30px;
}

    .gift-card-form input:not([type=checkbox]):not([type=radio]):not([type=button]) {
        width: 100%;
        margin-bottom: 15px;
    }

    .gift-card-form label {
        display: block;
        width: 100%;
        color: #2d2d2d;
        font-size: 14px;
        margin-bottom: 5px;
    }

.what-next {
    margin: 0 0 2em;
    padding: 0;
    list-style: none;
}

    .what-next li {
        margin: 0 0 15px 0;
        padding: 0 0 0 40px;
        position: relative;
        font-size: 16px;
        font-weight: 400;
    }

        .what-next li:before {
            content: 'H';
            font-family: opgi-icons;
            display: block;
            color: #28a745;
            position: absolute;
            font-size: 18px;
            left: 10px;
            top: -1px;
        }

.confirmation-section {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

@media screen and (min-width: 500px) {
    .confirmation-section {
        flex-direction: row;
    }
}

.confirmation-section .section {
    padding: 20px 30px 30px;
    border-top: 1px solid #f1f1f1;
    font-size: 13px;
}

@media screen and (min-width: 768px) {
    .confirmation-section .section {
        width: 50%;
        padding: 20px 40px 30px;
    }

        .confirmation-section .section.shipping-address {
            border-right: 1px solid #f1f1f1;
        }
}

.confirmation-section .section h3, .confirmation-section .section .h3 {
    margin-bottom: 10px;
}

.confirmation-section .section.comments {
    width: 100%;
}

.confirmation-section .section.notes {
    padding-top: 40px;
    padding-bottom: 40px;
    width: 100%;
    font-size: 12px;
    color: #2d2d2d;
}

.confirmation-section .section.shipping-method img, .confirmation-section .section.payment-info img {
    max-height: 25px;
}

.section.shipping-method .container-header-title {
    font-size: inherit;
    color: inherit;
    margin: 5px 0 0;
}

.sendFormRow.shipment-wrapper {
    margin-bottom: 20px;
}

.tracking-information {
    display: inline-block;
    margin-right: 5px;
}

label.tracking-description,
span.tracking-shipped-date {
    display: none;
}



ul.additional-catalogs {
    margin: 0 -5px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}

    ul.additional-catalogs li {
        margin: 0;
        padding: 0;
        width: 33.333%;
    }

@media screen and (min-width: 768px) {
    ul.additional-catalogs li {
        width: 12.5%;
    }
}

@media screen and (min-width: 992px) {
    ul.additional-catalogs.additional-catalogs-count-7 li {
        width: calc(100% / 7);
    }

    ul.additional-catalogs.additional-catalogs-count-8 li {
        width: calc(100% / 8);
    }

    ul.additional-catalogs.additional-catalogs-count-9 li {
        width: calc(100% / 9);
    }

    ul.additional-catalogs.additional-catalogs-count-10 li {
        width: calc(100% / 10);
    }

    ul.additional-catalogs.additional-catalogs-count-11 li {
        width: calc(100% / 11);
    }

    ul.additional-catalogs.additional-catalogs-count-12 li {
        width: calc(100% / 12);
    }

    ul.additional-catalogs.additional-catalogs-count-13 li {
        width: calc(100% / 13);
    }
}

ul.additional-catalogs li a {
    margin: 5px;
    display: block;
    transition: all .3s;
}

    ul.additional-catalogs li a img {
        display: block;
    }

@media screen and (min-width: 768px) {

    ul.additional-catalogs li a:hover {
        transform: scale(1.25);
        box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
    }
}

.fancybox-content {
    overflow: visible !important;
}




#pnlAddToCartVehicleSelect {
    margin-top: -230px;
    padding: 0;
    width: 100%;
    max-width: 100%;
}

@media screen and (min-width: 440px) {
    #pnlAddToCartVehicleSelect {
        width: auto;
    }
}

#pnlAddToCartVehicleSelect .fancybox-close-small {
    top: 0;
    background-color: transparent;
}


#check-fitment-wrap {
    position: relative;
    padding: 30px 10px;
    background-color: #035da3;
}


@media screen and (min-width: 440px) {
    #check-fitment-wrap {
        padding: 30px;
    }
}


#check-fitment-wrap .title {
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
    color: #fff;
}

#fitment-result-wrap {
    padding: 30px
}

#fitment-result-message {
    line-height: 1.2;
}

.button-container {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
}

    .button-container .button {
        flex-grow: 1;
        margin-bottom: 10px;
        margin-right: 10px;
        width: 100%;
        white-space: nowrap;
    }

@media (min-width: 768px) {
    .button-container {
        flex-direction: row;
    }

        .button-container .button {
            margin-bottom: 0;
            margin-right: 20px;
        }

            .button-container .button:last-child {
                margin-right: 0;
            }
}

.fitment-nowrap {
    white-space: nowrap;
    width: 240px;
}

.button-container .button:last-child {
    margin-right: 0;
}

.fancybox-header-fitment-fit .title {
    color: #317BC5;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
}

.fancybox-header-fitment-nofit .title {
    color: #da2917;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
}

#select-vehicle-loading {
    display: none;
    position: absolute;
    top: 10px;
    left: 43%;
}








select.niceSelect {
    opacity: 0; /* noscript tag in header set opacity to 1 */
    height: 40px;
}

.nice-select {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-color: #fff;
    border-radius: 0.25rem;
    border: solid 1px #d9d9d9;
    box-sizing: border-box;
    clear: both;
    cursor: pointer;
    display: block;
    float: left;
    font-family: inherit;
    font-size: 16px;
    font-weight: normal;
    outline: none;
    padding-left: 12px;
    padding-right: 30px;
    position: relative;
    text-align: left !important;
    transition: all 0.2s ease-in-out;
    user-select: none;
    white-space: nowrap;
    width: auto;
}

    .nice-select:hover {
        border-color: #dbdbdb;
    }

    .nice-select:active, .nice-select.open, .nice-select:focus {
        border-color: #035da3;
    }

    .nice-select:after {
        border-bottom: 1px solid #999;
        border-right: 1px solid #999;
        content: '';
        display: block;
        height: 5px;
        margin-top: -4px;
        pointer-events: none;
        position: absolute;
        right: 12px;
        top: 50%;
        transform-origin: 66% 66%;
        transform: rotate(45deg);
        transition: all 0.15s ease-in-out;
        width: 5px;
    }

    .nice-select.open:after {
        transform: rotate(-135deg);
    }

    .nice-select.open .list {
        opacity: 1;
        pointer-events: auto;
        transform: scale(1) translateY(0);
    }

    .nice-select.disabled {
        border-color: #ededed;
        color: #999;
        pointer-events: none;
    }

        .nice-select.disabled:after {
            border-color: #cccccc;
        }

    .nice-select.wide {
        width: 100%;
    }

        .nice-select.wide .list {
            left: 0 !important;
            right: 0 !important;
        }

    .nice-select.right {
        float: right;
    }

        .nice-select.right .list {
            left: auto;
            right: 0;
        }

    .nice-select.small {
        font-size: 12px;
        height: 36px;
        line-height: 34px;
    }

        .nice-select.small:after {
            height: 4px;
            width: 4px;
        }

        .nice-select.small .option {
            line-height: 34px;
            min-height: 34px;
        }

    .nice-select .list {
        background-color: #fff;
        box-sizing: border-box;
        margin-top: 4px;
        opacity: 0;
        overflow: hidden;
        max-height: 21em;
        overflow-y: auto;
        padding: 0;
        pointer-events: none;
        position: absolute;
        top: 100%;
        left: 0;
        transform-origin: 50% 0;
        transform: scale(0.75) translateY(calc(-1 * (2.25rem + 2px) / 2));
        transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
        z-index: 9;
        -webkit-overflow-scrolling: touch;
    }

        .nice-select .list:hover .option:not(:hover) {
            background-color: transparent !important;
        }

    .nice-select .option {
        cursor: pointer;
        font-weight: 400;
        line-height: calc(2.25rem + 2px);
        list-style: none;
        min-height: calc(2.25rem + 2px);
        outline: none;
        padding-left: 12px;
        padding-right: 12px;
        text-align: left;
        transition: all 0.2s;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
    }

        /*            .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
                background-color: #f6f6f6;
            }
*/
        .nice-select .option.selected {
            font-weight: bold;
        }

        .nice-select .option.disabled {
            background-color: transparent;
            /*color: #999;*/
            opacity: 0.5;
            cursor: not-allowed;
            text-decoration: line-through;
            text-decoration-color: red; /* Turns only the line red */
        }

            .nice-select .option.disabled:hover {
                background-color: red !important;
            }


.no-csspointerevents .nice-select .list {
    display: none;
}

.no-csspointerevents .nice-select.open .list {
    display: block;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    overflow: initial !important;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
    padding: 0 20px 0 0;
}

    .slick-list:focus {
        outline: none;
    }

    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    /*margin-left: auto;*/ /* disabled margins to allow left align when less items than slidesToShow */
    /*margin-right: auto;*/ /* disabled margins to allow left align when less items than slidesToShow */
}

    .slick-track:before, .slick-track:after {
        content: "";
        display: table;
    }

    .slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[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;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url("/images/ajax-loader.gif") center center no-repeat;
}

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
}

    .slick-prev:hover,
    .slick-next:hover {
        outline: none;
        background: transparent;
        color: transparent;
    }

        .slick-prev:hover:before,
        .slick-next:hover:before {
            opacity: 1;
        }

    .slick-prev.slick-disabled:before,
    .slick-next.slick-disabled:before {
        opacity: 0.25;
    }

    .slick-prev:before,
    .slick-next:before {
        position: relative;
        left: -3px;
        font-family: "opgi-icons";
        font-size: 24px;
        line-height: 1;
        color: #000;
        opacity: .25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

.slick-prev {
    left: -25px;
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px;
}

.slick-prev:before {
    content: "x";
}

[dir="rtl"] .slick-prev:before {
    content: "a";
}

.slick-next {
    right: -25px;
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto;
}

.slick-next:before {
    content: "a";
    left: -1px;
}

[dir="rtl"] .slick-next:before {
    content: "x";
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    /*bottom: -35px;*/
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}

    .slick-dots li {
        position: relative;
        display: inline-block;
        height: 30px;
        width: 30px;
        margin: 0 2px;
        padding: 0;
        border-radius: 100%;
    }

        .slick-dots li button {
            border: 0;
            background: transparent;
            cursor: pointer;
            display: block;
            height: 30px;
            width: 30px;
            outline: none;
            line-height: 0px;
            font-size: 0px;
            color: transparent;
            padding: 0px;
            cursor: pointer;
        }

            .slick-dots li button:hover, .slick-dots li button:focus {
                outline: none;
            }

                .slick-dots li button:hover:before, .slick-dots li button:focus:before {
                    opacity: 1;
                }

            .slick-dots li button:before {
                position: absolute;
                top: 33%;
                left: 36%;
                content: '';
                display: block;
                width: 10px;
                height: 10px;
                border-radius: 100%;
                line-height: 20px;
                text-align: center;
                background: black;
                opacity: 0.25;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

        .slick-dots li.slick-active button:before {
            background: #035da3;
            opacity: 0.75;
        }

body.compensate-for-scrollbar {
    overflow: hidden;
    margin-right: 0 !important;
}

.item-suggestions ul.tiles {
    margin-bottom: 17px; /*match slick slider with dots*/
    height: 280px;
    overflow: hidden;
}

@media screen and (min-width: 576px) {
    .item-suggestions ul.tiles {
        height: 250px;
    }
}


.item-suggestions ul.tiles.slick-initialized {
    overflow: initial;
}

.item-suggestions.item-suggestions-fallback h3 {
    color: #035da3;
}


#listrak-item-suggestions-add-to-cart {
    padding: 20px 0px 1px;
    margin: 20px -22px -24px;
}

    #listrak-item-suggestions-add-to-cart .price,
    #listrak-item-suggestions-add-to-cart .price-sale {
        display: none;
    }

@media screen and (max-width: 576px) {
    #listrak-item-suggestions-add-to-cart .item-suggestions ul.tiles {
        height: 230px;
    }
}


@media screen and (min-width: 576px) {
    #listrak-item-suggestions-add-to-cart {
        padding: 40px 15px 4px;
        margin: 40px -44px -44px;
    }
}



#RRRelatedProductsSection {
    min-height: 361px;
}

.fancybox-active {
    height: auto;
}

.fancybox-is-hidden {
    left: -9999px;
    margin: 0;
    position: absolute !important;
    top: -9999px;
    visibility: hidden;
}

.fancybox-container {
    -webkit-backface-visibility: hidden;
    height: 100%;
    left: 0;
    outline: none;
    position: fixed;
    -webkit-tap-highlight-color: transparent;
    top: 0;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    transform: translateZ(0);
    width: 100%;
    z-index: 999;
}

    .fancybox-container * {
        box-sizing: border-box;
    }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.fancybox-outer {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
}

.fancybox-bg {
    background: #000;
    opacity: 0;
    transition-duration: inherit;
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-white .fancybox-bg {
    background: #fff;
}


.fancybox-is-open .fancybox-bg {
    opacity: .5;
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
    direction: ltr;
    opacity: 0;
    position: absolute;
    transition: opacity .25s ease, visibility 0s ease .25s;
    visibility: hidden;
    z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
    opacity: 1;
    transition: opacity .25s ease 0s, visibility 0s ease 0s;
    visibility: visible;
}

.fancybox-infobar {
    color: #ccc;
    font-size: 13px;
    -webkit-font-smoothing: subpixel-antialiased;
    height: 44px;
    left: 0;
    line-height: 44px;
    min-width: 44px;
    mix-blend-mode: difference;
    padding: 0 10px;
    pointer-events: none;
    top: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fancybox-toolbar {
    right: 0;
    top: 0;
}

.fancybox-stage {
    direction: ltr;
    overflow: visible;
    transform: translateZ(0);
    z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
    overflow: hidden;
}

.fancybox-slide {
    -webkit-backface-visibility: hidden;
    /* Using without prefix would break IE11 */
    display: none;
    height: 100%;
    left: 0;
    outline: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 22px;
    position: absolute;
    text-align: center;
    top: 0;
    transition-property: transform, opacity;
    white-space: normal;
    width: 100%;
    z-index: 99994;
}

@media screen and (min-width: 576px) {
    .fancybox-slide {
        padding: 44px;
    }
}


.fancybox-slide::before {
    content: '';
    display: inline-block;
    font-size: 0;
    height: 100%;
    vertical-align: middle;
    width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
    display: block;
}

.fancybox-slide--image {
    overflow: hidden;
    padding: 44px 0;
}

    .fancybox-slide--image::before {
        display: none;
    }

.fancybox-slide--html {
    padding: 6px;
}

.fancybox-content {
    background: #fff;
    display: inline-block;
    margin: 44px 0 0;
    /*max-width: 100%;*/
    max-width: 95%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 22px;
    position: relative;
    text-align: left;
    vertical-align: middle;
    border-radius: 3px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}

@media screen and (min-width: 576px) {
    .fancybox-content {
        padding: 44px;
        max-width: 800px;
    }
}


.fancybox-slide--image .fancybox-content {
    animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
    -webkit-backface-visibility: hidden;
    background: transparent;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    left: 0;
    max-width: none;
    overflow: visible;
    padding: 0;
    position: absolute;
    top: 0;
    -ms-transform-origin: top left;
    transform-origin: top left;
    transition-property: transform, opacity;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
    cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
    cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
    cursor: -webkit-grab;
    cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
    cursor: -webkit-grabbing;
    cursor: grabbing;
}

.fancybox-container [data-selectable='true'] {
    cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
    background: transparent;
    border: 0;
    height: 100%;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: none;
    padding: 0;
    position: absolute;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
}

.fancybox-spaceball {
    z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
    height: 100%;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.fancybox-slide--video .fancybox-content {
    background: #000;
}

.fancybox-slide--map .fancybox-content {
    background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
    background: #fff;
}

.fancybox-video,
.fancybox-iframe {
    background: transparent;
    border: 0;
    display: block;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
    left: 0;
    position: absolute;
    top: 0;
}

.fancybox-error {
    background: #fff;
    cursor: default;
    max-width: 400px;
    padding: 40px;
    width: 100%;
}

    .fancybox-error p {
        color: #444;
        font-size: 16px;
        line-height: 20px;
        margin: 0;
        padding: 0;
    }

/* Buttons */
.fancybox-button {
    background: rgba(30, 30, 30, 0.6);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    height: 44px;
    margin: 0;
    padding: 10px;
    position: relative;
    transition: color .2s;
    vertical-align: top;
    visibility: inherit;
    width: 44px;
}

    .fancybox-button,
    .fancybox-button:visited,
    .fancybox-button:link {
        color: #ccc;
    }

        .fancybox-button:hover {
            color: #fff;
        }

        .fancybox-button:focus {
            outline: none;
        }

        .fancybox-button.fancybox-focus {
            outline: 1px dotted;
        }

        .fancybox-button[disabled],
        .fancybox-button[disabled]:hover {
            color: #888;
            cursor: default;
            outline: none;
        }

        /* Fix IE11 */
        .fancybox-button div {
            height: 100%;
        }

        .fancybox-button svg {
            display: block;
            height: 100%;
            overflow: visible;
            position: relative;
            width: 100%;
        }

            .fancybox-button svg path {
                fill: currentColor;
                stroke-width: 0;
            }

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
    display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
    display: none;
}

.fancybox-progress {
    background: #ff5268;
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transform-origin: 0;
    transform-origin: 0;
    transition-property: transform;
    transition-timing-function: linear;
    z-index: 99998;
}

/* Close button on the top right corner of html content */
.fancybox-close-small {
    opacity: .8;
    padding: 8px;
    position: absolute;
    right: 0px;
    top: -44px;
    z-index: 401;
    -webkit-transition: all .3s;
    transition: all .3s;
}

    .fancybox-close-small:hover {
        color: #fff;
        opacity: 1;
    }

    .fancybox-close-small svg {
        -webkit-transition: all .3s;
        transition: all .3s;
    }

    .fancybox-close-small:hover svg {
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }

/*.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}
*/
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
    overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
    display: none;
}


.fancybox-slide.cart-item-attribute > div {
    max-width: 600px;
}






/* Navigation arrows */
.fancybox-navigation .fancybox-button {
    background-clip: content-box;
    height: 100px;
    opacity: 0;
    position: absolute;
    top: calc(50% - 50px);
    width: 70px;
}

    .fancybox-navigation .fancybox-button div {
        padding: 7px;
    }

.fancybox-navigation .fancybox-button--arrow_left {
    left: 0;
    left: env(safe-area-inset-left);
    padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
    padding: 31px 6px 31px 26px;
    right: 0;
    right: env(safe-area-inset-right);
}

/* Caption */
.fancybox-caption {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
    bottom: 0;
    color: #eee;
    font-size: 14px;
    font-weight: 400;
    left: 0;
    line-height: 1.5;
    padding: 75px 44px 25px 44px;
    pointer-events: none;
    right: 0;
    text-align: center;
    z-index: 99996;
}

.fancybox-caption--separate {
    margin-top: -50px;
}

.fancybox-caption__body {
    max-height: 50vh;
    overflow: auto;
    pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
    color: #ccc;
    text-decoration: none;
}

    .fancybox-caption a:hover {
        color: #fff;
        text-decoration: underline;
    }

/* Loading indicator */
.fancybox-loading {
    animation: fancybox-rotate 1s linear infinite;
    background: transparent;
    border: 4px solid #888;
    border-bottom-color: #fff;
    border-radius: 50%;
    height: 50px;
    left: 50%;
    margin: -25px 0 0 -25px;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    width: 50px;
    z-index: 99999;
}

@keyframes fancybox-rotate {
    100% {
        transform: rotate(360deg);
    }
}

/* Transition effects */
.fancybox-animated {
    transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
    opacity: 0;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
    opacity: 1;
}

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
    opacity: 0;
    -ms-transform: rotate(-360deg);
    transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
    opacity: 0;
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
    opacity: 1;
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
}

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
    opacity: 0;
    transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
    transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
    transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
    .fancybox-slide {
        padding-left: 6px;
        padding-right: 6px;
    }

    .fancybox-slide--image {
        padding: 6px 0;
    }

    .fancybox-close-small {
        right: -6px;
    }

    .fancybox-slide--image .fancybox-close-small {
        background: #4e4e4e;
        color: #f2f4f6;
        height: 36px;
        opacity: 1;
        padding: 6px;
        right: 0;
        top: 0;
        width: 36px;
    }

    .fancybox-caption {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* Share */
.fancybox-share {
    background: #f4f4f4;
    border-radius: 3px;
    max-width: 90%;
    padding: 30px;
    text-align: center;
}

    .fancybox-share h1, .fancybox-share .h1 {
        color: #222;
        font-size: 35px;
        font-weight: 700;
        margin: 0 0 20px 0;
    }

    .fancybox-share p {
        margin: 0;
        padding: 0;
    }

.fancybox-share__button {
    border: 0;
    border-radius: 3px;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    margin: 0 5px 10px 5px;
    min-width: 130px;
    padding: 0 15px;
    text-decoration: none;
    transition: all .2s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: nowrap;
}

    .fancybox-share__button:visited,
    .fancybox-share__button:link {
        color: #fff;
    }

    .fancybox-share__button:hover {
        text-decoration: none;
    }

.fancybox-share__button--fb {
    background: #3b5998;
}

    .fancybox-share__button--fb:hover {
        background: #344e86;
    }

.fancybox-share__button--pt {
    background: #bd081d;
}

    .fancybox-share__button--pt:hover {
        background: #aa0719;
    }

.fancybox-share__button--tw {
    background: #1da1f2;
}

    .fancybox-share__button--tw:hover {
        background: #0d95e8;
    }

.fancybox-share__button svg {
    height: 25px;
    margin-right: 7px;
    position: relative;
    top: -1px;
    vertical-align: middle;
    width: 25px;
}

    .fancybox-share__button svg path {
        fill: #fff;
    }

.fancybox-share__input {
    background: transparent;
    border: 0;
    border-bottom: 1px solid #d7d7d7;
    border-radius: 0;
    color: #5d5b5b;
    font-size: 14px;
    margin: 10px 0 0 0;
    outline: none;
    padding: 10px 15px;
    width: 100%;
}

/* Thumbs */
.fancybox-thumbs {
    background: #FFF;
    bottom: 0;
    display: none;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    padding: 2px 2px 4px 2px;
    position: absolute;
    right: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    top: 0;
    width: 212px;
    z-index: 99995;
}

.fancybox-thumbs-x {
    overflow-x: auto;
    overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
    display: block;
}

.fancybox-show-thumbs .fancybox-inner {
    right: 212px;
}

.fancybox-thumbs__list {
    font-size: 0;
    height: 100%;
    list-style: none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    position: relative;
    white-space: nowrap;
    width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
    overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
    width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 10px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 10px;
}

.fancybox-thumbs__list a {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    float: left;
    height: 75px;
    margin: 2px;
    max-height: calc(100% - 8px);
    max-width: calc(50% - 4px);
    outline: none;
    overflow: hidden;
    padding: 0;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    width: 100px;
}

    .fancybox-thumbs__list a::before {
        border: 6px solid #ff5268;
        bottom: 0;
        content: '';
        left: 0;
        opacity: 0;
        position: absolute;
        right: 0;
        top: 0;
        transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        z-index: 99991;
    }

    .fancybox-thumbs__list a:focus::before {
        opacity: .5;
    }

    .fancybox-thumbs__list a.fancybox-thumbs-active::before {
        opacity: 1;
    }

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
    .fancybox-thumbs {
        width: 110px;
    }

    .fancybox-show-thumbs .fancybox-inner {
        right: 110px;
    }

    .fancybox-thumbs__list a {
        max-width: calc(100% - 10px);
    }
}

.fancybox-inline {
    display: none;
}


/* OPGI ADDED */

.datagrid-table th {
    border: 1px solid #ececec;
    padding: 10px 5px;
    text-align: left;
    background: #f3f3f3;
    font-size: 110%;
}

@media screen and (min-width: 768px) {
    .datagrid-table th {
        padding: 10px 15px;
    }
}

.datagrid-table td {
    border: 1px solid #ececec;
    padding: 5px;
}

@media screen and (min-width: 768px) {
    .datagrid-table td {
        padding: 5px 15px;
    }
}

.datagrid-table a {
    /*font-weight: 400;*/
}

.datagrid-table tr:hover {
    background: rgba(3, 93, 163, 0.05);
}

.datagrid-table .cell-align-right {
    text-align: right;
}

/*@media screen and (max-width: 576px) {
    .datagrid-header {
        display: none !important;
    }

    .datagrid-table tr {
        display: flex;
        flex-wrap: wrap;
    }

        .datagrid-table tr td {
            width: 100%;
        }

    .datagrid-table td {
        border: none;
    }

    .sendForm {
        padding: 15px;
    }
}*/

.all-content {
    font-size: 14px;
    text-align: left;
}

input.button .add-to-cart {
    transition: all .1s;
    border: none;
    display: inline-block;
    outline: none;
    border-radius: 6px;
    color: #fff;
    line-height: 1;
    padding: 1em 1.50em 1em 1.50em;
    appearance: none;
    cursor: pointer;
    text-align: center;
    background-color: #035da3;
    color: #FFF;
    font-weight: 700;
    font-size: 20px !important;
    font-family: "Roboto", sans-serif;
    text-decoration: none !important;
    align-items: center;
}

.button.find-similar {
    padding: 20px 0;
    width: 60%;
}

/******* SCROLL TO TOP BEGIN ********/
#scroll-top {
    display: block;
    position: fixed;
    width: 35px;
    height: 35px;
    bottom: 5px;
    right: -40px;
    z-index: 10001;
    overflow: hidden;
    text-indent: -10000px;
    background: #888;
    border: 1px solid #666;
    color: #FFF;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-shadow: 0px 10px 10px -10px #c2c2c2;
    box-shadow: 0px 10px 10px -10px #c2c2c2;
    opacity: 0.3;
}

    #scroll-top, #scroll-top:hover, #scroll-top:active, #scroll-top:focus {
        text-decoration: none;
    }

        #scroll-top.visible {
            right: 5px;
            -webkit-transition: right .5s;
            -moz-transition: right .5s;
            transition: right .5s;
        }

        #scroll-top:before {
            font-family: opgi-icons;
            content: 'A';
            top: -8px;
            font-size: 30px;
            color: #FFF;
            position: absolute;
            margin: auto;
            display: block;
            width: 100%;
            height: 100%;
            text-indent: 0;
            text-align: center;
            font-weight: bold;
        }

        #scroll-top:hover, #scroll-top:active, #scroll-top:focus {
            color: #FFF;
            opacity: 1;
        }
/******* SCROLL TO TOP END ********/

.hidden {
    display: none !important;
}

.invisible {
    visibility: hidden !important;
}

.cookie-notification-wrapper {
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 10010;
}

.cookie-notification-box {
    background-color: #333;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
    line-height: normal;
    text-transform: none;
    color: #fff;
    opacity: .9;
}

.cookie-notification-message {
    display: inline-block;
    font-size: 12px;
    vertical-align: middle;
    max-width: 800px;
}

    .cookie-notification-message a {
        color: #fff;
    }

.cookie-notification-box .button {
    margin-top: 0px;
    margin-left: 15px;
    background-color: #111;
    border-color: #000;
}

/* BRAND PAGE */
#pickBrand {
    margin: 0 0 30px;
}

    #pickBrand .brand-list ul {
        margin: -10px;
        padding: 0;
        list-style: none;
        min-height: 148px;
    }


    #pickBrand .brand-filter > ul > li > a {
        text-align: center;
        width: 2.4em;
    }

    #pickBrand .brand-list li > a {
        display: block;
        position: relative;
        height: 0;
        padding-top: 100%;
        -webkit-transition: all 0.25s ease-out;
        -moz-transition: all 0.25s ease-out;
        -o-transition: all 0.25s ease-out;
        transition: all 0.25s ease-out;
    }


        #pickBrand .brand-list li > a > span {
            color: #aaa;
            position: absolute;
            width: 100%;
            left: 0;
            bottom: 5px;
            font-size: 12px;
            line-height: 0.9;
            -webkit-transition: color 0.25s ease-out;
            -moz-transition: color 0.25s ease-out;
            -o-transition: color 0.25s ease-out;
            transition: color 0.25s ease-out;
        }



    #pickBrand img {
        max-height: 80%;
        max-width: 80%;
        width: auto;
        height: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }

        #pickBrand img.brandLogoSquarish {
            height: auto;
            max-width: 50%;
        }


    #pickBrand .brand-filter {
        padding: 0;
        margin: 0;
        margin-bottom: 30px;
    }

        #pickBrand .brand-filter ul {
            justify-content: inherit;
        }

        #pickBrand .brand-filter a.filter {
            font-size: 15px;
            font-weight: bold;
            margin-right: 20px;
            text-decoration: none;
        }


/* END BRAND PAGE */


.exp-month, .exp-year {
    width: 48%;
    float: left;
}

.exp-month {
    margin-right: 4%;
}

@media screen and (min-width: 992px) {
    .exp-month, .exp-year {
        width: 28%;
    }
}

.link-button {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    font: inherit;
    cursor: pointer;
    color: #ADADAD;
    text-decoration: underline;
    display: inline-block;
    margin-left: 10px;
}

    .link-button:hover {
        color: #035da3;
    }


/* Temporary popup from existing stylesheet */
.popupControl {
    background-color: #AAD4FF;
    /*position:absolute;*/
    visibility: hidden;
    border-style: solid;
    border-color: Black;
    border-width: 2px;
}

.modalBackground {
    display: none;
    overflow: hidden;
    padding: 0px 0px 0px 0px;
    margin: 0px 0px 0px 0px;
    background-color: rgba(0,0,0,.5);
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    width: 100%;
    height: 100%;
    z-index: 10000;
}

div.ModalPrompt {
    border-radius: 6px;
    width: 98%;
    max-width: 100%;
    z-index: 14000;
    background: #fff;
    padding: 0;
    position: fixed;
    top: 50%;
    left: 50%;
    /* bring your own prefixes */
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
    div.ModalPrompt {
        /*width: auto;*/
        min-width: 500px;
        max-width: 900px;
    }
}

.modal-container .checkoutContainer .sendFormFullWidth {
    padding: 0;
}

.modal-container .checkoutContainer .sendFormContainer {
    /*padding: 10px;*/
    background: transparent;
    -webkit-box-shadow: 0 0 0px rgba(0,0,0,.0);
    box-shadow: 0 0 0px rgba(0,0,0,.0);
}

.modal-container .checkoutContainer {
    margin: 0;
}

div.prompt-margin {
    margin: 0 0 0 0;
}

div.prompt-overflow {
    padding: 0;
    height: 90%;
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateZ(0);
    fixedContentPos: true;
}

div.prompt-overflow-width {
    overflow-x: auto;
}

div.prompt-overflow.prompt-overflow-width {
    padding-right: 8px;
}

div.prompt-overflow .sendFormRow {
    margin: 0;
}

div.CloseLink {
    cursor: pointer;
    font-size: 40px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #000;
    opacity: .5;
    line-height: 40px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 40px;
    height: 40px;
    text-decoration: none;
    z-index: 15000;
}

    div.CloseLink:hover {
        opacity: 1;
    }

.ModalPrompt.modal-alert {
    background: transparent;
    padding: 0;
}

    .ModalPrompt.modal-alert div.CloseLink {
        color: #eaa600;
    }

#ctl00_mPageContent_addToCart_pnlContent {
    overflow: hidden;
}

/* end temporary popup from existing stylesheet */


.label-input-blocks .form-group {
    display: block;
    /*margin-bottom: 5px;*/
    margin-bottom: 10px;
}

.label-input-blocks .label-group {
    width: auto;
    text-align: left;
    padding-right: 0;
}


.label-input-blocks select {
    width: 100%;
    border-color: #ccc;
    font-size: 16px;
}

.label-input-blocks .disclaimer {
    font-size: 12px;
    color: #999;
}

/*Help/company section*/
.help-column {
    display: inline-flex;
    flex-direction: column;
    vertical-align: top;
    width: auto;
    padding-right: 40px;
}

    .help-column h3 {
        /*background-color:#f1f1f1;*/
    }

/****for FAQ page in help section****/
#faq div {
    border-bottom: 1px solid #ddd;
}

    #faq div div {
        padding: 0 20px;
    }


#faq h3 {
    margin: 0 !important;
    padding: 1em 0;
    cursor: pointer;
    transition: all .3s;
}

    #faq h3:hover,
    #faq h3.show {
        background-color: #f3f3f3;
    }

    #faq h3 span {
        display: inline-block;
        margin: 0 .5em;
        transition: all .3s;
    }

    #faq h3 span {
        width: 0;
        height: 0;
        border-top: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 5px solid transparent;
        border-left: 5px solid #888;
    }

    #faq h3.show span {
        transform: rotate(90deg);
    }

#faq dl {
    margin: 0;
    margin-left: 2em;
    margin-top: 0.5em;
}

#faq dd {
    margin-left: 0;
}

#faq dl dt span {
    margin-left: -1.2em;
    color: #006ea6;
    font-weight: bold;
}

#faq dl dd span {
    margin-left: -1.2em;
    color: #cc2c00;
    font-weight: bold;
}


.help-page #sideNavigation {
    width: 100%;
}

@media screen and (min-width: 992px) {
    .help-page #sideNavigation {
        width: auto;
    }
}

.help-page .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.help-page-container .content-container {
    /*overflow: hidden;*/
}

@media screen and (min-width: 992px) {
    .help-page-container .content-container {
        flex: 1;
    }
}

.help-page .table-of-contents {
    margin-bottom: 20px;
    width: 100%;
}

@media screen and (min-width: 992px) {
    .help-page .table-of-contents {
        margin-right: 10px;
        width: 330px;
    }
}


.help-page .table-of-contents-content {
    padding: 20px;
    background-color: #fff;
    font-size: 14px;
}

.help-page .table-of-contents-group {
    margin-bottom: 20px;
}

    .help-page .table-of-contents-group:last-of-type {
        margin-bottom: 0;
    }

    .help-page .table-of-contents-group .title {
        font-size: 18px;
        font-weight: 900;
        position: sticky;
        color: #2d2d2d;
    }

    .help-page .table-of-contents-group ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

        .help-page .table-of-contents-group ul li {
            margin-bottom: 0.5em;
        }


.help-page .content-title {
    font-size: 28px;
    background: #dde3e6;
    margin: -20px -20px 30px;
    padding: 15px 20px;
}


@media screen and (min-width: 576px) {
    .help-page .content-title {
        margin: -40px -40px 30px;
        padding: 15px 40px;
    }
}




/******* START YOTPO FRONT PAGE OVERRIDES ********/
.yotpo-reviews-carousel .carousel-display-wrapper {
    padding: 0 !important;
}

    .yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel {
        padding-top: 0 !important;
        width: 100% !important;
        left: auto !important;
    }

        .yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .single-carousel {
            display: block;
            margin: 0 !important;
            padding: 5px;
            width: 100%;
        }

@media screen and (min-width: 576px) {
    .yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .single-carousel {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .single-carousel {
        width: 50%;
    }
}

@media screen and (min-width: 992px) {
    .yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .single-carousel {
        width: 33%;
    }
}

.yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .single-carousel .product-image-container .y-carousel-product-image {
    border: none !important;
}

.yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .small-version {
    border-radius: 3px;
    border: 2px solid #f3f3f3;
    padding: 20px;
    margin: 0;
    width: 100% !important;
    max-height: 240px;
}

    .yotpo-reviews-carousel .carousel-display-wrapper .yotpo-carousel .small-version .right-side {
        width: 60% !important;
    }

.yotpo-reviews-carousel .carousel-display-wrapper .scroller {
    width: auto !important;
}

.y-slider-container .y-slide-left-animations {
    overflow: hidden;
    max-height: 254px;
}

#carousel-top-panel {
    display: none;
}

.label-with-tooltip .carousel-tool-tip {
    display: none;
}

.home-social {
    height: 300px; /*help with FOUC*/
}

@media screen and (min-width: 576px) {
    .home-social {
        height: 330px; /*help with FOUC*/
    }
}

.yotpo-pictures-widget .yotpo-slider-wrapper {
    max-width: 100% !important;
}

.yotpo .yotpo-review .yotpo-main {
    margin-left: 0 !important;
}

@media screen and (min-width: 576px) {
    .yotpo .yotpo-review .yotpo-main {
        margin-left: 53px !important;
    }
}

/******* END YOTPO FRONT PAGE OVERRIDES ********/
#frequent-buyer-rewards {
    margin-left: 5%
}

    #frequent-buyer-rewards tr td {
        line-height: 1.6;
        width: 30%
    }

        #frequent-buyer-rewards tr td span {
            text-decoration: line-through #ff7819;
        }

    #frequent-buyer-rewards tr th {
        text-align: left;
    }

.freeShipUpsell {
    padding: 0 0 0 20px;
    border: 1px solid #EEE;
    margin-bottom: 10px;
}

.popupButtonGroup {
    float: right;
    margin-top: 15px;
    margin-bottom: 15px;
}

.select-address {
    float: left;
    width: 100%;
}

    .select-address select {
        width: 100%;
    }

.show-address {
    width: 100%;
    float: left;
    margin-top: 20px;
    padding: 20px;
    border-radius: 0.25rem;
    border: solid 1px #e8e8e8;
    overflow-wrap: break-word;
}

/*
.nosave 
{
  pointer-events: none;
  cursor: default;
  background: #EEE !important;
  margin-right: 27px !important;
}
*/

/******* START OPGI CHECKOUT ********/

.link-forgot-password {
    margin-bottom: 30px;
}

/******* END OPGI CHECKOUT ********/



/******* START OPGI ACCOUNT ********/

.links-account a {
    display: block;
}


.account-page input[type="checkbox"],
.account-page input[type="radio"] {
    margin-right: 0.5em;
}


.account-page .section-header {
    align-items: center;
    justify-content: flex-start;
}

.account-page #product-filter-button {
    margin: 10px 0 0 0;
}

.filtered-products .filter-group.first {
    border: none;
}

.account-page .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.account-page-container .content-container {
    /*overflow: hidden;*/
    width: 100%;
}

@media screen and (min-width: 992px) {
    .account-page-container .content-container {
        flex: 1;
    }
}


.account-page-container fieldset {
    border: none;
    margin: 0;
    padding: 0;
}



.address-book-list-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: .5em;
}

.address-book-buttons.button-list {
    margin-top: .5em;
}

@media screen and (min-width: 768px) {
    .address-book-list-item {
        flex-direction: row;
        align-items: center;
    }

    .address-book-buttons.button-list {
        margin-top: 0;
    }
}


.sendFormRow.width-half,
.container-header {
    display: flex;
    flex-direction: column;
    /*justify-content: space-between;*/
}

@media screen and (min-width: 768px) {
    .sendFormRow.width-half,
    .container-header {
        flex-direction: row;
    }
}

.sendFormRow.width-half > div,
.container-header > div {
    margin: 0 0 10px;
    position: relative;
    width: 100%;
    /*outline:1px solid #ccc;*/
}

@media screen and (min-width: 768px) {
    .sendFormRow.width-half > div {
        width: 49%;
    }

    .container-header > div {
        width: auto;
    }
}

.checkoutContainer {
    background: #FFF;
    margin-bottom: 10px;
    padding: 20px;
}

@media screen and (min-width: 576px) {
    .checkoutContainer {
    }
}

@media screen and (min-width: 992px) {
    .checkoutContainer,
    .sendFormElement {
        border: none;
        border-radius: 3px;
    }
}

@media screen and (min-width: 576px) {
    .sendFormRow {
        margin-bottom: 40px;
    }

        .sendFormRow:last-child {
            margin-bottom: 0;
        }
}

.container-header-title {
    font-size: 18px;
    font-weight: 900;
    color: #2d2d2d;
    /*line-height: 1;*/
    margin-bottom: 5px;
}

    .container-header-title .linkSmall {
        font-size: 12px;
        font-weight: normal;
    }

.address-read-only .label-group {
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .address-read-only .label-group {
        width: 100px;
    }
}


.account-page-container .datagrid-table {
    font-size: 13px;
}

#product-filter-button-container.sticky {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0 15px 10px;
    width: 100%;
    background-color: #f3f3f3;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.055);
    z-index: 1;
}

@media (min-width: 576px) {
    #product-filter-button-container.sticky {
        position: inherit;
    }
}

.ErrorMessage {
    margin: 0 1em;
    color: #da2917 !important;
    /*white-space:nowrap;*/
}

span.validation-error {
    font-size: 80%;
    font-weight: bolder;
    color: #da2917 !important;
}

.ValidationSummary {
    color: #da2917;
    font-weight: 700;
    padding: 10px;
    margin: 2px 2px 2px 2px;
}

.edit,
.button-cart-table .Button {
    border: 1px solid #ddd;
    background: #f7f8f8;
    border-radius: 3px;
    vertical-align: top;
    font-weight: 400;
    color: inherit;
    outline: none;
    transition: all .2s;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

.float-right .Button {
    margin-left: 10px;
}


.edit:hover:not(:disabled),
.button-cart-table .Button:hover:not(:disabled) {
    border-color: #999;
}

.edit.small {
    padding: 10px;
    font-size: 13px;
}


@media screen and (min-width: 768px) {
    .edit.small {
        margin-left: 10px;
        padding: 4px 8px;
        font-size: 11px;
    }
}

.edit:hover {
    border-color: #aaa;
}

.no-button {
    border: none !important;
    background: none !important;
    padding: 0 !important
}

.button:disabled,
.Button:disabled:not(.no-button),
.button.disabled {
    opacity: .5;
    cursor: not-allowed;
}

/******* END OPGI ACCOUNT ********/

/******* START OPGI VEHICLE POPUP ********/
.vehicle-select-popup {
    max-width: 730px !important;
    /*max-height: 540px !important;*/
}

/******* END OPGI POPUP ********/








/******* CART POPUP ************/
#add2cartAjaxPopup,
#wishlist-popup {
    max-width: calc(100% - 20px);
}

@media screen and (min-width: 992px) {
    #add2cartAjaxPopup,
    #wishlist-popup {
        max-width: 800px;
    }
}



#popCartWrap {
    padding: 40px;
}

#popCartTop,
#popWishTop {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 30px;
    align-items: center;
    justify-content: space-between;
}

@media screen and (min-width: 768px) {
    #popCartTop,
    #popWishTop {
        flex-wrap: nowrap;
        margin: 0;
    }
}

.popCartImg {
    width: 100%;
    margin: 0 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (min-width: 768px) {
    .popCartImg {
        width: 50%;
        margin: 0;
    }
}

.popCartImg img {
    max-height: 150px;
    max-width: 300px;
}

@media screen and (min-width: 576px) {
    .popCartImg img {
        max-height: 200px;
        max-width: 300px;
    }
}


#popCartTop .content-holder,
#popWishTop .content-holder {
    display: flex;
    justify-content: flex-start;
    text-align: center;
}

@media screen and (min-width: 768px) {
    #popCartTop .content-holder,
    #popWishTop .content-holder {
        padding: 10px;
        text-align: left;
    }
}

@media screen and (min-width: 768px) {
    #popCartTop .content-holder .content,
    #popWishTop .content-holder .content {
        max-width: 520px;
    }
}

#popCartTop p.h1,
#popWishTop p.h1 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.1;
    max-height: 3.3em;
    overflow: hidden;
}

#popCartTop p.h2,
#popWishTop p.h2 {
    margin: 20px 0 15px;
    font-size: 1.9em;
    line-height: 1.0;
    color: #035da3;
}



#popAjaxCartButtons {
    flex-direction: row;
}

    #popAjaxCartButtons .button {
        margin-bottom: 0;
    }

/*#popAjaxCartButtons .button:last-child {
    margin-right: 0;
}*/


#popCartTop .points {
    justify-content: center;
    font-size: 20px;
    margin: 0;
    padding: 0;
}

@media screen and (min-width: 768px) {
    #popCartTop .points {
        justify-content: flex-start;
    }
}

.ModalPrompt section {
    display: none;
}


@media (min-width: 576px) {
    .ModalPrompt section {
        display: block;
        margin: 0;
    }
}

#addToCartRR {
    min-height: 330px;
}


.float-left {
    float: left;
}

.float-right {
    float: right;
}

@media all and (max-width: 440px) {
    a.float-left,
    a.float-right,
    img.float-left,
    img.float-right,
    blockquote.float-left,
    blockquote.float-right {
        float: none;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/******* END CART POPUP ************/


/********FREE CATALOG **************/
#free-catalog-cover-image {
    box-shadow: 4px 10px 15px 0px rgba(0,0,0,.25)
}

#free-catalog-cover-badge {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: -20px;
    left: -20px;
    width: 80px;
    height: 80px;
    line-height: 1;
    border-radius: 99em;
    text-align: center;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    box-shadow: 2px 5px 8px 0px rgba(0,0,0,.25);
    background: #B6359C;
    background: linear-gradient(0deg, rgba(182, 53, 156, 1) 0%, rgba(239, 10, 106, 1) 100%);
    transform: rotate(-30deg);
}

    #free-catalog-cover-badge small {
        font-size: 50%;
    }

#free-catalogs-group {
    row-gap: 30px;
    flex-direction: row-reverse;
}

    #free-catalogs-group .free-catalog-option {
        border: 1px solid rgba(31, 161, 166, .25);
        padding: 20px 20px 10px;
        text-align: center;
    }

    #free-catalogs-group .free-catalog-option {
        border-color: rgba(3, 93, 163, .25);
    }

    #free-catalogs-group .free-catalog-header {
        margin: -20px -20px 0;
        padding: 10px;
        background-color: rgba(31, 161, 166, .1);
        border-bottom: 1px solid rgba(31, 161, 166, .25);
    }

#free-catalog-physical .free-catalog-header {
    background-color: rgba(3, 93, 163, .1);
    border-bottom: 1px solid rgba(3, 93, 163, .25);
}


#free-catalogs-group .free-catalog-header h3 {
    display: flex;
    justify-content: center;
    column-gap: 7px;
    font-size: 24px;
    text-transform: uppercase;
}

    #free-catalogs-group .free-catalog-header h3 img {
        max-height: 24px;
        filter: invert(55%) sepia(26%) saturate(1191%) hue-rotate(134deg) brightness(90%) contrast(89%);
    }

#free-catalog-physical .free-catalog-header h3 img {
    filter: invert(24%) sepia(99%) saturate(972%) hue-rotate(179deg) brightness(101%) contrast(102%);
}

#free-catalogs-group .free-catalog-header h3 {
    /*margin: 0 0 5px;*/
    margin: 0;
}

#free-catalogs-group .free-catalog-header h4 {
    margin: 0;
    opacity: .8;
}


#free-catalogs-group .free-catalog-option h5 {
    margin: .75em 0 0.5em;
    font-size: 18px;
}

#free-catalog-physical h3,
#free-catalog-physical h5 {
    color: rgba(3, 93, 163, 1);
}

#free-catalog-digital h3,
#free-catalog-digital h5 {
    color: rgba(31, 161, 166, 1);
}

#free-catalogs-group .free-catalog-option p {
    margin: 0 0 .75em;
}

#free-catalogs-group .button {
    font-weight: 400;
    white-space: nowrap;
}

    #free-catalogs-group .button b {
        text-transform: uppercase;
    }

#free-catalogs-group .button {
    font-size: 15px;
}

#free-catalog-digital .button {
    border-color: rgba(31, 161, 166, 1);
    background-color: rgba(31, 161, 166, 1);
}

    #free-catalog-digital .button:hover {
        border-color: rgba(26, 189, 195, 1);
        background-color: rgba(26, 189, 195, 1);
    }

#free-catalog-physical .free-catalog-option h5 {
    border-color: rgba(31, 161, 166, 1);
    background-color: rgba(31, 161, 166, 1);
}



/********END FREE CATALOG *********/




.strikeout {
    line-height: .2em;
    position: relative;
}

    .strikeout::after {
        border-bottom: 0.20em solid #ff7819;
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 40%;
    }

.freeShipUpsell {
    padding: 0 0 0 20px;
    border: 1px solid #EEE;
    margin-bottom: 10px;
}

/*History page*/
.history-cover {
    height: 400px;
    width: 940px;
    position: relative;
}

.history-content {
    height: 370px;
    position: relative;
}

#slider {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    -ms-overflow-style: none;
}

    #slider ol {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

        #slider ol:before {
            content: '';
            display: inline-block;
            width: 42%;
        }

        #slider ol:after {
            content: '';
            display: inline-block;
            width: 100%;
        }

    #slider li {
        text-decoration: none;
        text-transform: uppercase;
        font-size: 24px;
        opacity: 0.75;
        display: inline-block;
        cursor: pointer;
        text-align: center;
        width: 200px;
        overflow: hidden;
    }

        #slider li span {
            font-size: 10px;
        }

        #slider li.active {
            font-weight: bold;
            text-align: center;
            opacity: 1;
            border-bottom: 3px solid;
            border-top: 3px solid;
        }

            #slider li.active span {
                font-size: 16px;
                font-weight: bold;
            }

        #slider li p {
            display: none;
        }

.lines {
    border-top: dotted 2px #ffffff;
    position: absolute;
    bottom: 22px;
    width: 100%;
    opacity: 0.3;
}

#info {
    overflow: hidden;
    padding: 0;
    height: 300px;
    max-width: 80%;
    position: absolute;
    top: 50px;
    left: 95px;
}

    #info ol {
        list-style-type: none;
        padding: 0 !important;
        width: 20240px;
    }

    #info li {
        display: inline;
        width: 780px;
        margin-right: 100px;
        float: left;
    }

        #info li p {
            margin: 0;
        }

        #info li img {
            float: left;
            margin-right: 15px;
        }

#backbtn img {
    position: absolute;
    top: 70px;
    left: 70px;
    opacity: 0.3;
}

    #backbtn img:hover {
        opacity: 0.75;
        cursor: pointer;
    }

#startbtn img {
    position: absolute;
    top: 140px;
    left: 70px;
    opacity: 0.3;
}

    #startbtn img:hover {
        opacity: 0.75;
        cursor: pointer;
    }

#forwardbtn img {
    position: absolute;
    top: 70px;
    right: 70px;
    opacity: 0.3;
}

    #forwardbtn img:hover {
        opacity: 0.75;
        cursor: pointer;
    }

#endbtn img {
    position: absolute;
    top: 140px;
    right: 70px;
    opacity: 0.3;
}

    #endbtn img:hover {
        opacity: 0.75;
        cursor: pointer;
    }

SPAN.leadingLetter {
    color: #3c5f91;
    float: left;
    font-size: 96px;
    font-weight: 700;
    line-height: 76px;
    padding-right: 10px;
}

/*End of history*/
/*Contact us page*/
#ContactUs div input, #ContactUs div select, #ContactUs div textarea {
    width: 100%;
    margin: 0 0 10px;
}



.InfoMessage {
    background-color: #cce2ed;
    border-color: #b2d3e4;
    list-style-position: inside;
    text-transform: uppercase;
    padding: 5px 10px;
    text-align: center;
}
/*end of contact us*/


.validateWarningRequired {
    color: #c00;
}

INPUT.validation-error,
SELECT.validation-error,
DIV.nice-select.validation-error,
TEXTAREA.validation-error {
    border-color: #c00 !important;
    background-color: #ffd9d9 !important;
}

    INPUT.validation-error::placeholder,
    SELECT.validation-error::placeholder,
    DIV.nice-select.validation-error,
    TEXTAREA.validation-error::placeholder {
        color: #c00 !important;
    }

SELECT.validation-error {
    /*background: linear-gradient(0deg, rgb(204, 9, 16, .5) 0%, rgb(204, 9, 16, .4) 15%, rgb(204, 9, 16, .1) 100%) !important;*/
    background-color: #ffd9d9 !important;
}


/*vehicle landing page*/
.vehicleYearList {
    margin: 0 !important;
    padding: 0 !important;
}

    .vehicleYearList li {
        width: 20%;
        float: left;
        list-style: none;
    }

    .vehicleYearList a {
        padding: 8px 0;
        display: block;
        background-color: #fff;
        border-color: #ddd;
        color: #2d2d2d;
        position: relative;
        overflow: hidden;
        height: 100%;
        line-height: 1.6em;
        font-size: 14px;
    }

        .vehicleYearList a:hover {
            background-color: #fff;
            border-color: #ddd;
            color: #2d2d2d;
        }


.vehicleLandingLeft {
    float: none;
    display: block;
    margin: 10px auto;
}

.vehicleLandingRight {
    float: none;
    display: block;
    margin: 10px auto;
}

@media screen and (min-width: 576px) {
    .vehicleYearList li {
        width: 10%;
        float: left;
    }

    .vehicleLandingLeft {
        float: left;
        margin-right: 10px;
    }

    .vehicleLandingRight {
        float: right;
        margin-left: 10px;
    }

    .vehicleLandingClear {
        clear: both;
    }

    .vehicleLandingBanners {
        padding: 0 !important;
    }
}

.tell-us-about-your-car h3 {
    text-transform: capitalize;
}

/******** BUTTON LOADING ANIMATION *********/
.loader {
    position: relative;
}

.loader-wrap {
    position: relative;
}


    .button.loading,
    .loader-wrap.loading > .button {
        cursor: wait;
        /*pointer-events:  none;*/
    }

        .button.loading.loading-text-slide,
        .loader-wrap.loading.loading-text-slide > .button {
            text-indent: -1em;
            padding-right: 2.5em;
        }


    .loader-wrap.loading > select {
        cursor: wait;
        pointer-events: none;
        background-image: none;
    }

.loader-wrap-button {
    font-size: 13px; /* needs to match .button font-size */
}


.button.loader::after,
.loader-wrap::after,
.tiles li a.loader div.image::after,
.pagination > li a.loader::after,
.brand-list .tiles li a.loader::after,
.shipping-options .checkbox-label.loader::after,
#cartTable .quantity::after,
#search-popup .suggestion-items a.loader::after,
section .section-header.loader h3::after,
section .section-header.loader .h3::after,
.select-holder::after {
    content: " ";
    display: inline-block;
    position: absolute;
    opacity: 0;
    transition: opacity .5s;
    transition-delay: 0.1s;
}

.button.loader.loading::after,
.loader-wrap.loading::after,
.tiles li a.loading div.image::after,
.pagination > li a.loading::after,
.brand-list .tiles li a.loading::after,
.shipping-options .checkbox-label.loading::after,
#cartTable .quantity.loading::after,
#search-popup .suggestion-items a.loading::after,
section .section-header.loading h3::after,
section .section-header.loading .h3::after,
.select-holder.loading::after {
    top: 50%;
    left: 50%;
    margin-top: -1.4em;
    margin-left: -1.4em;
    width: 2.8em;
    height: 2.8em;
    box-sizing: border-box;
    transform-origin: center;
    transform: translateZ(0) scale(0.5);
    backface-visibility: hidden;
    opacity: 0.75;
    cursor: wait !important;
    border-radius: 50%;
    border-color: rgba(255, 255, 255, .25);
    border: 0.4em solid color-mix(in srgb, currentColor 50%, transparent 50%);
    border-top-color: currentColor;
    pointer-events: none;
    animation: loading-spin 1s linear 0s infinite;
}

.loader-wrap.loading.loader-wrap-select::after {
    left: auto;
    right: 1.2em;
    margin-top: -0.9em;
    margin-left: -0.9em;
    width: 1.8em;
    height: 1.8em;
    border-width: 0.3em;
}

#search-popup .suggestion-items:not(.suggestion-item-brand) a.loading::after {
    left: auto;
    right: 1em;
    margin-top: -0.7em;
    margin-left: -0.7em;
    width: 1.4em;
    height: 1.4em;
    border-width: 0.3em;
}

.tiles li a.loading div.image img {
    opacity: 0.5;
}

.tiles li a.loading div.image::after,
.brand-list .tiles li a.loading::after {
    margin-top: -55px;
    margin-left: -55px;
    width: 110px;
    height: 110px;
    color: #2d2d2d;
    mix-blend-mode: multiply;
    border-width: 5px;
}



#cartTable .quantity.loading::after {
    right: 50%;
    margin-right: -0.8em;
}

#cartTable .quantity.loading > * {
    opacity: 0;
    cursor: wait !important;
}

.loader-wrap-button.loading::after {
    color: #fff;
}

.loader-wrap-outlined.loading::after {
    color: #888;
}


#header-search .search-form a.search-button.loading .icon-search {
    font-size: 0;
    opacity: 0;
}


#header-search .search-form a.search-button::after {
    font-size: 11px;
}

.pagination > li a.loading {
}


.shipping-options .checkbox-label.loading > .price {
    opacity: 0;
}

section .section-header.loading h3::after,
section .section-header.loading .h3::after {
    margin: 0 0 0 0.3em;
    width: 1em;
    height: 1em;
    border-width: .2em;
    top: auto;
    left: auto;
    opacity: .25;
}

.select-holder.loading::after {
    border-width: 0.3em;
}

@keyframes loading-spin {
    0% {
        /*animation-timing-function: cubic-bezier(0.5856,0.0703,0.4143,0.9297);*/
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}
/* hack so iOS Mobile Safari will alter properties when click event changes class */
@supports (font: -apple-system-body) and (-webkit-appearance: none) {
    .button.loader.loading-text-slide,
    .loader-wrap.loading-text-slide > .button {
        transition: none 0s;
    }
}

.remove.loading {
    animation-duration: 2s;
    animation-name: spin;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.wishlist.add.loading::before {
    content: 'C';
    color: #da2917;
    animation: heartbeat 1s infinite;
}



@keyframes spin-y {
    from {
        transform: rotateY(0deg);
    }

    to {
        transform: rotateY(360deg);
    }
}


@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


@keyframes heartbeat {
    0% {
        transform: scale( 1.0 );
    }

    40% {
        transform: scale( 1.5 );
    }

    60% {
        transform: scale( 1.0 );
    }

    80% {
        transform: scale( 1.5 );
    }

    100% {
        transform: scale( 1.0 );
    }
}


.element-overlay {
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 999;
    cursor: wait;
}

.element-overlay-dark {
    background-color: #000;
}


.element-overlay::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    height: 200px;
    width: 200px;
    margin-top: -100px;
    margin-left: -100px;
    background: url(/images/loaders/oval-2D2D2D.svg) center no-repeat;
    background-size: contain;
}

.element-overlay.element-overlay-body::after {
    position: fixed;
}

@media screen and (min-width: 992px) {
    .element-overlay {
        background-size: 15%;
    }
}


/*end of vehicle landing page*/



/*form fields css*/
@media screen and (min-width: 576px) {
    .formGroupLeft, .formGroupRight {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .formGroupLeft {
        width: 47.5%;
        margin-right: 30px;
        float: left;
    }

    .formGroupRight {
        width: 47.5%;
        float: left;
    }
}
/*end of form fields css*/

/*CatalogPreOrder*/
@media screen and (min-width: 576px) {
    #preOrderCatalogsContainer {
        background-image: url(/Images/Expansions/CadillacExpansion-background-landing.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        height: 550px;
    }

    #preOrderCatalogs {
        position: absolute;
        top: 315px;
        left: 44px;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        list-style: none;
        width: 84%;
        padding: 0 !important;
        margin: 0 !important;
    }

        #preOrderCatalogs a {
            max-width: 100px;
            margin: 0 auto;
        }
}

@media screen and (min-width: 768px) {
    #preOrderCatalogsContainer {
        height: 775px;
    }

    #preOrderCatalogs {
        top: 440px;
        left: 46px;
        width: 88%;
    }

        #preOrderCatalogs a {
            max-width: 140px;
        }
}

@media screen and (min-width: 992px) {
    #preOrderCatalogsContainer {
        height: 992px;
    }

    #preOrderCatalogs {
        top: 560px;
        left: 60px;
        width: 88%;
    }

        #preOrderCatalogs a {
            max-width: 180px;
        }
}

@media screen and (min-width: 1200px) {
    #preOrderCatalogsContainer {
        height: 1200px;
    }

    #preOrderCatalogs {
        top: 685px;
        left: 60px;
        width: 90%;
    }

        #preOrderCatalogs a {
            max-width: 220px;
        }
}
/*end of CatalogPreOrder*/

/*Catalog Expansion*/
#ExpansionContainer {
    padding: 0 !important;
}

    #ExpansionContainer .expdiv {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    #ExpansionContainer a {
        margin: 0 auto 20px;
        max-width: 80%;
    }

@media screen and (min-width: 576px) {
    #ExpansionContainer a {
        max-width: 100%;
    }
}
/*end of catatlog expansion*/

/* stock status */

#stockStatusWrap {
    position: relative;
    margin: 0;
    padding: 0;
}

.stockStatus {
    position: relative;
    margin: 0;
    padding: 0;
}

    .stockStatus DT {
        display: inline-block;
        margin-right: .5em;
        font-weight: 700;
        height: 20px;
        line-height: 20px;
    }

        .stockStatus DT.outStock {
            /*    color: #555; */
            color: #d92400;
        }

        .stockStatus DT.inStock {
            color: #0dbf00;
        }

            .stockStatus DT.lowStock {
                color: #0dbf00;
            }

        .stockStatus DT.kitStock {
            color: #555;
        }

        .stockStatus DT.discontinued {
            color: #d92400;
        }

        .stockStatus DT img {
            vertical-align: sub;
            margin: 0 .2em 0 0;
        }

        .stockStatus DT.selectOption img {
        }


        .stockStatus DT.inStock img {
            background-color: #0dbf00;
        }

        .stockStatus DT.outStock img {
            background-color: #d92400;
        }

            .stockStatus DT.lowStock img {
                background-color: #0dbf00;
            }

        .stockStatus DT.discontinued img {
            background-color: #d92400;
        }

    .stockStatus DD {
        display: inline-block;
        margin: 0;
        font-size: 13px;
        color: #888;
    }

        .stockStatus DD.outStock {
            display: block;
        }


    .stockStatus DT.dropShip + DD {
        display: none; /*waiting to hear back from DL*/
    }


.stockStatusLoading {
    position: absolute;
    top: 0;
    left: 0;
    width: 31px;
    height: 31px;
    display: none;
    background-image: url(/js/colorbox/images/loading.gif);
    background-position: center;
    background-repeat: no-repeat;
    z-index: 10;
}
/* end stock status */

/* pair set */
#pair-set-save {
    align-content: center;
    border: 1px solid #187ac3;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 400;
    background: #eaf2f8;
    color: #035da3;
}

    #pair-set-save .title {
        display: flex;
        flex-wrap: nowrap;
        padding: 0px 15px;
        background: #187ac3;
        color: #FFF;
        font-size: 18px;
    }

    #pair-set-save a {
        color: #035da3;
    }

    #pair-set-save .icon-holder {
        width: 30px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        #pair-set-save .icon-holder .icon {
            font-size: 30px;
            line-height: 1;
        }

    #pair-set-save .text {
        padding: 10px 15px;
        align-items: center;
        justify-content: center;
        flex-grow: 1;
    }

    #pair-set-save ul {
        margin: 15px;
        padding: 0;
        list-style: none;
    }

    #pair-set-save li {
        margin-bottom: .5em;
    }

    #pair-set-save a {
        text-decoration: none;
    }

        #pair-set-save a:hover {
            text-decoration: underline;
        }

    #pair-set-save .price {
        font-weight: 900;
    }

/* end pair set */

/*!
 * CUSTOM CLASSES FOR CSS ANIMATION LIBRARY
 * animate.css -http://daneden.me/animate
 */
.animate__animated.animate__delay-0_1s {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.animate__animated.animate__delay-0_2s {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.animate__animated.animate__delay-0_3s {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.animate__animated.animate__delay-0_4s {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.animate__animated.animate__delay-0_5s {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.animate__animated.animate__delay-0_6s {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.animate__animated.animate__delay-0_7s {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}

.animate__animated.animate__delay-0_8s {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.animate__animated.animate__delay-0_9s {
    -webkit-animation-delay: .9s;
    animation-delay: .9s
}

.animate__shakeSmallX {
    -webkit-animation-name: shakeSmallX;
    animation-name: shakeSmallX;
}

@-webkit-keyframes shakeSmallX {
    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-3px, 0, 0);
        transform: translate3d(-3px, 0, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(3px, 0, 0);
        transform: translate3d(3px, 0, 0);
    }
}

@keyframes shakeSmallX {
    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-3px, 0, 0);
        transform: translate3d(-3px, 0, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(3px, 0, 0);
        transform: translate3d(3px, 0, 0);
    }
}

.animate__animated {
    /* hack for chrome regarding animation-fill-mode and z-indexing issues (7/3/19 rjb) */
    z-index: 1;
    /*-webkit-animation-fill-mode:none! important;
    animation-fill-mode:none! important;*/
}


.order-number {
    opacity: .5;
}





.promotion-not-found-wrapper {
    padding: 20px 0;
    height: 600px;
    background-image: url('/images/heroes/promotion-expired-gold-chevelle-portrait-bg.jpg');
}

@media (min-width: 576px) {
    .promotion-not-found-wrapper {
        height: 420px;
        background-image: url('/images/heroes/promotion-expired-gold-chevelle-landscape-bg.jpg');
        background-position-x: 35%;
    }
}

@media (min-width: 992px) {
    .promotion-not-found-wrapper {
        background-position-x: 50%;
    }
}

.promotion-not-found-wrapper > .container {
    justify-content: flex-end;
    flex-direction: column;
}

@media (min-width: 576px) {
    .promotion-not-found-wrapper > .container {
        justify-content: flex-start;
        flex-direction: row;
        padding-left: 5%;
    }
}

.promotion-not-found-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: default;
}

    .promotion-not-found-text h1,
    .promotion-not-found-text h2,
    .promotion-not-found-text h3 {
        margin: 7px 0;
        color: #fff;
        text-transform: uppercase;
        line-height: .9;
        white-space: nowrap;
    }

    .promotion-not-found-text h1 {
        font-size: 59px;
        font-weight: 900;
        color: #ffcf0f;
    }

        .promotion-not-found-text h1 span {
            display: block;
            font-size: 47px;
        }

    .promotion-not-found-text h2 {
        font-size: 30px;
    }

    .promotion-not-found-text h3 {
        font-size: 18px;
    }

    .promotion-not-found-text input {
        width: 13em;
        border: none !important;
        border-radius: 3px 0 0 3px !important;
    }

    .promotion-not-found-text a {
        font-size: 20px;
        padding: .5em 1em;
        border-radius: 0 6px 6px 0;
        color: #594432;
        background-color: #ffcf0f;
        border: none;
    }

        .promotion-not-found-text a:hover {
            color: #000000;
            background-color: #d9b00d;
        }

    .promotion-not-found-text p.small {
        font-size: 11px;
    }









/* Start Sponsorship opportunities */

.showsponsorcheckbox {
    padding: 6px 6px 6px 10px;
    background-color: #f3f3f3;
    display: unset !important;
}

    .showsponsorcheckbox .checkbox input {
        float: none !important;
        clear: none !important;
        width: unset !important;
    }

    .showsponsorcheckbox .checkbox label {
        margin: 0 40px 0 5px !important;
    }

#newsletterForm label {
    display: block;
    margin: 6px 0 0;
    text-align: left;
}

#catalogRequestWrap input[type=text],
#catalogRequestWrap input[type=email],
#catalogRequestWrap select, #newsletterForm input[type=text],
#newsletterForm input[type=email],
#newsletterForm select {
    padding-left: 4px;
    border: 1px solid #999999;
    height: 20px;
    width: 190px;
}

#catalogRequestWrap select {
    height: 24px;
    width: 200px;
}


#newsletterForm input[type=text],
#newsletterForm input[type=email],
#newsletterForm input[type=tel],
#newsletterForm input[type=number],
#newsletterForm select,
#newsletterForm textarea {
    height: 30px;
    width: 95%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

#newsletterForm textarea {
    height: 73px;
}

#newsletterForm label {
    font-weight: bold;
    margin-top: 1em;
}

#newsletterForm INPUT[type=checkbox] {
    float: left;
    clear: both;
    vertical-align: top;
}

#newsletterForm LABEL {
    display: inline-block;
}

    #newsletterForm LABEL > B {
        float: left;
        margin-left: .5em;
        margin-bottom: 1.5em;
    }
/*  End Sponsorship opportunities */

/*catalogs landing page*/
@media screen and (min-width: 576px) {
    .free-catalogs .tiles li {
        width: 50%;
    }
}

@media screen and (min-width: 762px) {
    .free-catalogs .tiles li {
        width: 33%;
    }
}

@media screen and (min-width: 992px) {
    .free-catalogs .tiles li {
        width: 25%;
    }
}
/*End catalogs landing page*/
/*  End Sponsorship opportunities */

.popup-video {
    display: none;
    max-width: 1100px;
}

#videoid {
    width: 960px;
    height: 540px;
}

#noscript-warning {
    width: 100%;
    padding: .3em .5em;
    background: #c00;
    text-align: center;
    font-size: 13px;
    color: #fff;
    overflow: auto;
    transition: none;
}


.site-warning {
    width: 100%;
    padding: .3em .5em;
    background: #ffff8d;
    text-align: center;
    font-size: 13px;
    color: #694538;
    overflow: auto;
    transition: none;
}


.show-more-show-less .show-less-link,
.show-more-show-less .show-more-text {
    display: none
}

.show-more-show-less.expanded .show-more-link {
    display: none;
}

.show-more-show-less.expanded .show-less-link,
.show-more-show-less.expanded .show-more-text {
    display: inline;
}

.show-more-link, .show-less-link {
    color: #694538;
    white-space: nowrap;
    float: right;
}





/* Mobile right nav open */
#mobile-right-nav {
    float: right;
    position: absolute;
    top: 5px;
    right: 30px;
    display: none;
    text-decoration: none;
    font-size: 14px;
}

.mobile-nav-content ul {
    padding: 0;
    margin: 0;
}

ul.dropdown {
    padding-left: 20px;
}

.mobile-nav-content a {
    text-decoration: none;
    display: block;
    padding: 10px;
    border-bottom: 1px solid #f1f1f1;
    font-weight: bold;
}

.mobile-nav-content ul.dropdown a {
    font-weight: normal;
}

.mobile-nav-content ul li {
    list-style-type: none;
}

.right-nav-show {
    display: block !important;
}

.mobile-nav-content {
}

.fbp-atag {
    border: 1px solid #d7d7d7;
    flex-grow: 1;
    text-align: center;
    padding: 10px 5px;
    font-size: 14px;
    cursor: pointer;
    font-weight: 400;
    display: flex;
    align-items: center;
    line-height: 1.2;
    text-align: center;
    justify-content: center;
    white-space: nowrap;
    border-radius: 6px;
    margin: 2px;
    text-decoration: none;
    width: 230px;
    color: #444;
}

/*.fbp-atag:hover
{
    display: block;

    height: 35px;
    background: #5ea6db;
    text-align: center;
    border-radius: 5px;
    color: white;
    font-weight: bold;    
}*/

.fbp-form {
    margin-top: 10px;
    border: 1px solid #d7d7d7;
    border-radius: 3px;
    padding: 10px 30px 20px 30px;
}

    .fbp-form .remove {
        text-align: center;
        font-size: 14px;
        cursor: pointer;
        padding: 0 5px;
        border-radius: 3px;
        color: #DA2918;
    }

    .fbp-form .msg {
        display: block;
        margin-top: 10px;
        color: #045DA3;
    }

.fbpList {
    margin-top: 10px;
    display: block;
}

.fbpWrap {
    height: 40px;
}

.inactiveLink {
    pointer-events: none;
    cursor: default;
}

#clockdiv {
    clear: both;
    float: none;
    margin-bottom: 20px;
    text-align: center;
}

    #clockdiv > div {
        width: 23%;
        display: inline-block;
        margin: 0;
    }

    #clockdiv div > span {
        font-size: 30px;
    }

.smalltext {
    margin: 5px 0;
    padding: 5px;
    font-size: 8px;
    border: solid 2px;
}

.finePrint {
    font-size: 75%;
}

@media (min-width: 440px) {
    #clockdiv div > span {
        font-size: 36px;
    }

    .smalltext {
        font-size: 12px;
    }
}

@media (min-width: 576px) {
    #clockdiv div > span {
        font-size: 40px;
    }

    .smalltext {
        font-size: 16px;
    }
}

@media (min-width: 768px) {
    #clockdiv > div {
        width: 20%;
    }
}

@media (min-width: 992px) {
    #clockdiv > div {
        width: 16%;
    }
}

@media (min-width: 1200px) {
    #clockdiv > div {
        width: 12%;
    }
}


caption {
    caption-side: bottom;
}

table.striped {
    background-color: #fff;
}


    table.striped TH {
        background-color: #f3f3f3;
        border: 1px solid #e3e3e3;
        padding: 4px 6px;
        color: #000;
        font-size: 13px;
        text-align: left;
    }

    table.striped TD {
        padding: 6px;
        border: 1px solid #f1f1f1;
        border-top: 0 none;
        font-size: 12px;
        -webkit-transition: background-color .3s;
        transition: background-color .3s
    }

    table.striped TR:nth-child(odd) TD {
        background-color: #fcfcfc;
    }

    table.striped TR:nth-child(even) TD {
        background-color: #fff;
    }

    table.striped TD:last-child {
        text-align: left;
    }

    table.striped TR:hover TD,
    table.striped TR.current TD {
        background-color: #e5f6ff;
        color: #000;
    }


table.debug {
    background-color: #fff;
    font-family: monospace;
    font-size: 11px;
}

    table.debug::before {
        content: 'for testing only';
        /*display: table-caption;*/
        display: none;
        caption-side: top;
        background-color: rgba(0, 150, 136, 1);
        color: #fff;
        text-align: center;
        font-weight: bold;
        text-transform: uppercase;
    }

    table.debug tbody {
        display: none;
    }

    table.debug TH {
        background-color: rgba(0, 150, 136, 0.33);
        border: 1px solid rgba(0, 150, 136, 0.33);
        padding: 4px;
        color: #000;
        font-size: 12px;
        text-align: left;
    }

    table.debug TD {
        padding: 4px;
        border: 1px solid rgba(0, 150, 136, .25);
        border-top: 0 none;
        -webkit-transition: background-color .3s;
        transition: background-color .3s
    }

    table.debug TR:nth-child(odd) TD {
        background-color: rgba(0, 150, 136, 0.1);
    }

    table.debug TR:nth-child(even) TD {
        background-color: #fff;
    }

    table.debug TD:last-child {
        text-align: left;
    }

    table.debug TR:hover TD,
    table.debug TR.current TD {
        background-color: rgba(255, 235, 59, 0.9);
        color: #000;
    }

    table.debug caption {
        background-color: rgba(0, 150, 136, 1);
        border-radius: 10px 10px 0px 0px;
        color: #fff;
        text-align: center;
        font-weight: bold;
        caption-side: top;
        cursor: pointer;
    }


span.debug {
    display: inline-block;
    background-color: rgba(0, 150, 136, 0.3);
    font-family: monospace;
    color: rgb(0, 73, 66);
    text-align: center;
    border-radius: 0.8em;
    padding: .1em .5em;
    font-size: .8em;
    position: relative;
}

    span.debug::before {
        content: 'debug';
        position: absolute;
        bottom: 1.7em;
        left: 0.7em;
        color: rgba(0, 150, 136, 1);
        font-size: 0.7em;
        font-weight: bold;
        text-transform: uppercase;
    }



.cart-message {
    margin-bottom: 20px;
}




#modelYearNote h2 {
    font-size: 30px;
    margin-bottom: .5em;
    border-bottom: 2px solid #ddd;
}

#modelYearNote h3 {
    font-size: 24px;
    margin: 3em 0 .5em;
    border-bottom: 2px solid #ddd;
}

#modelYearNote ul {
    margin-left: 0;
}

    #modelYearNote ul ul {
        list-style: circle;
    }

#modelYearNote p + ul {
    margin-top: -1.5em;
}


.user-select-none {
    user-select: none;
}



#email-signup-popup-wrapper {
    padding: 40px;
    background: #e2a93a center bottom no-repeat url('/images/email-popup/email-signup-popup-bg-chevelle-emblem-trunk-mobile.jpg');
    background-size: cover;
}

    #email-signup-popup-wrapper .fancybox-button {
        color: #fff;
    }

#email-signup-popup-box {
    display: none;
}

#email-signup-popup-box-sms {
    display: block;
}

.pop-up-box {
    width: auto;
    text-align: center;
    color: #fff;
    text-shadow: 0 0px 15px rgb(111, 76, 0), 0 0px 15px rgb(111, 76, 0);
}

    .pop-up-box .h2 {
        margin: 0;
        font-size: 24px;
        line-height: .9;
        font-weight: 400;
        color: #fff;
    }

    .pop-up-box .h1 {
        margin: 8px 0;
        font-size: 70px;
        font-weight: 900;
        line-height: .9;
        text-transform: uppercase;
        color: #fff;
    }

        .pop-up-box .h1 span {
            display: block;
            margin: 4px 0 0;
            font-weight: 700;
            font-size: 32px;
        }

    .pop-up-box .h3 {
        margin: 10px 0 0;
        font-size: 16px;
        line-height: .9;
        font-weight: 400;
        color: #fff;
    }

    .pop-up-box p {
        margin: 12px 0 0;
        font-size: 20px;
        line-height: 1.2;
    }

    .pop-up-box a {
        white-space: nowrap;
        width: 350px;
    }

    .pop-up-box .popup-sign-up {
        margin: 30px auto 0;
        font-size: 30px;
        text-transform: uppercase;
        text-shadow: none;
        opacity: .97;
    }

    .pop-up-box .popup-no-thanks {
        margin: 8px auto 0;
        border-width: 2px;
        font-size: 24px;
        font-weight: 400;
        color: #fff;
        text-shadow: 0 3px 3px rgba(0, 0, 0, .5);
    }

    .pop-up-box p.small {
        margin: 20px auto 0;
        font-size: 14px;
        text-shadow: 0px 3px 6px rgba(0,0,0,1), 0px 1px 6px rgba(0,0,0,1), 0px -1px 6px rgba(0,0,0,1), 1px 0px 6px rgba(0,0,0,1), -1px 0px 6px rgba(0,0,0,1);
    }

        .pop-up-box p.small a {
            color: #fff;
        }

@media screen and (min-width: 768px) {
    #email-signup-popup-wrapper {
        width: 550px;
        height: 500px;
        background-image: url('/images/email-popup/email-signup-popup-bg-chevelle-hood-pin-desktop.jpg');
        background-position-x: left;
        background-size: auto;
    }

    #email-signup-popup-box {
        display: block;
    }

    #email-signup-popup-box-sms {
        display: none;
    }

    .pop-up-box {
        margin-bottom: 140px;
    }

        .pop-up-box .h2 {
            margin: -10px 0 0;
        }

        .pop-up-box .h1 {
            font-size: 80px;
        }

        .pop-up-box p {
            font-size: 17px;
        }

            .pop-up-box p.small {
                width: 360px;
                text-shadow: 0px 2px 3px rgba(0, 0, 0, 1), 0px 1px 1px rgba(0, 0, 0, 1);
                font-size: 12px;
            }
}







/* Zendesk Chat Web Widget (Zopim)
	========================================================================== */

.chat-group {
    cursor: default;
    transition: all 1s;
}

.chat-click-to-open {
    cursor: pointer;
}

.chat-group.chat-status-unknown {
    opacity: 0 !important;
}

.chat-offline-phone-online,
.chat-offline-phone-offline {
    display: none;
}


.chat-group.chat-status-offline .chat-click-to-open {
    color: #666;
    cursor: not-allowed;
}





    .chat-group.chat-status-offline.phone-status-offline img {
        opacity: .666;
    }

        .chat-group.chat-status-offline.phone-status-offline .text .chat-online-phone-online {
            display: none;
        }

        .chat-group.chat-status-offline.phone-status-offline .text .chat-offline-phone-offline {
            display: block;
        }


    .chat-group.chat-status-offline.phone-status-offline .text .both-offline {
        display: block;
    }






.cancel-order-btn {
    width: 100% !important;
    padding-right: 30px;
}

#alert-signup a.button span {
    white-space: nowrap;
    font-weight: 400;
}


#out-off-stock-fancybox h1 {
    margin: 0;
    color: #035da3;
}

#out-off-stock-fancybox h2 {
    margin: 0;
}


#out-off-stock-fancybox input[type="email"] {
    width: 100%;
    margin-bottom: .5em;
}


#out-off-stock-messages {
    margin: .5em 0 0;
    min-height: 1.6em
}

#out-off-stock-success,
#out-off-stock-error {
    display: none;
    margin: 0;
    font-weight: bold;
    color: #28a745;
}

#out-off-stock-error {
    color: #da2917
}


.dimension {
    margin-bottom: 5px;
}

/* product return */
.policy .note {
    display: flex;
    align-content: center;
    align-items: top;
    padding: 10px 15px;
}

.policy .icon-holder .icon-alert {
    color: #000;
    font-size: 25px;
    line-height: .7;
    padding-right: 10px;
}

.policy .note strong {
    display: block;
}


.cart-summary.return-items {
}



#search-orders {
    display: flex;
    width: 100%;
    margin-top: 10px;
    white-space: nowrap;
}

@media screen and (min-width: 992px) {
    #search-orders {
        width: auto;
    }
}

#search-orders > input[type=text] {
    width: 100%;
}

#return-by-date {
    text-align: center;
}

.return-item-selected {
    padding: 10px 30px;
}

.return-confirm {
    margin: 0 0 2em;
    padding: 0;
    list-style: none;
}

    .return-confirm li {
        margin: 0 0 15px 0;
        padding: 0 0 0 40px;
        position: relative;
        font-size: 16px;
        font-weight: 400;
    }

        .return-confirm li:before {
            content: 'H';
            font-family: opgi-icons;
            display: block;
            color: #28a745;
            position: absolute;
            font-size: 18px;
            left: 10px;
            top: -1px;
        }

.over45days {
    margin: 10px 0 0 20px;
    color: Red;
}

.rborder {
    border: 1px solid #FF0000;
}

.err-cont {
    color: #FF0000;
}

#err-cont-id {
    display: none;
}

.refund-summary {
}

    .refund-summary table tr td.r {
        text-align: right;
    }

.options-select table tr td {
    padding: 5px;
}


/* Product return */
.order-list-return {
    border: 1px solid #D9D9D9;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.order-list-header {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #D9D9D9;
    background-color: #f3f3f3;
    font-size: 12px;
}

    .order-list-header > div {
        padding: 10px 14px;
    }

        .order-list-header > div:last-child {
            text-align: right;
        }

.order-list-main {
    display: flex;
    flex-direction: column;
    padding: 20px;
    overflow: auto;
}

.order-list-header > div.status {
    display: none;
}


@media (min-width: 768px) {
    .order-list-main {
        flex-direction: row;
    }

    .order-list-header > div.status {
        display: table-cell;
    }
}


.order-list-heading {
    margin-left: 4px;
    margin-bottom: -1em;
    font-weight: bold;
    font-size: 20px;
}

.order-list-sub {
    flex-grow: 1;
}

.order-list-actions {
    width: 100%;
    margin: 20px 0 10px;
}

    .order-list-actions > .button {
        white-space: nowrap;
    }

@media (min-width: 768px) {
    .order-list-actions {
        width: 25%;
        margin: 0;
    }
}


.order-list-actions > a {
    margin-top: 0.5em;
}


.order-list-item {
    display: flex;
    margin-top: 30px;
    overflow: auto;
}


.order-list-thumbnail {
}

    .order-list-thumbnail a {
        width: 80px;
        height: auto;
        max-height: 80px;
        margin-right: 20px;
        display: flex;
        flex-grow: 0;
        flex-shrink: 0;
        justify-content: center;
        align-content: center;
        overflow: hidden;
    }

.order-list-item-name {
    margin-left: 10px;
}

.order-list-item-actions {
    display: none;
    margin-top: 10px;
}


#cartTable .cart-kit-return {
    align-items: flex-start;
}

@media screen and (min-width: 992px) {
    #cartTable .cart-kit.cart-kit-return {
        flex-wrap: nowrap;
    }
}


.cart-kit-return .price {
    font-weight: bold;
}

.return-header {
    margin-left: 20px;
}

.return-address {
    margin-left: 40px;
}

.cart-return-reason {
    width: 270px;
}

@media screen and (min-width: 992px) {
    #cart-return-reason {
        width: 100%;
    }
}


@media screen and (max-width: 500px) {
    .checkbox-return-select {
        position: absolute;
        top: 10px;
        left: 10px;
    }
}

.cart-return-reason input[type="file"] {
    width: 100%;
}

.return-item-call {
    width: 100%;
    font-weight: bold;
    margin: 20px 0 0 40px;
    color: Red;
}

.questionList {
    width: 100%;
    margin-top: 10px;
}

.questionChoiceList {
    width: 100%
}

#cartTable .kit-items.expand.return-items {
    font-size: 16px;
}

#cartTable .kit-items.return-items > .kit-items-inner {
    max-height: 100%;
    padding: 20px 40px;
}

.return-options {
    margin-top: 10px;
}

.return-item-restocking {
    font-style: italic;
    text-align: center;
}

a.order-detail-link {
    white-space: nowrap;
}

    a.order-detail-link:hover {
        text-decoration: underline;
    }

.print-label {
    width: 100%;
    padding: 0 20px 20px 20px;
    border: 1px solid #d9d9d9;
}

.return-confirm-tbl {
    margin-top: 40px;
    margin-bottom: 20px;
}

.return-confirm-thumbnail {
    width: 60px;
    padding-right: 20px;
}

.return-confirm-item-name {
    width: 300px;
    vertical-align: top;
}

.return-confirm-item-label {
    vertical-align: top;
    width: 200px;
    padding-left: 20px;
}

.no-item-div {
    margin-left: 30px;
    font-size: 60px;
}

.return-comment {
}

.return-shipping-total {
    color: #035da3;
    font-weight: bold;
}

.return-customer-pay {
    color: #035da3;
    font-weight: bold;
}

#returnItemImages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

    #returnItemImages > img {
        width: 33.33%;
        padding: 10px 5px;
    }


.return-image-thumbmail {
    border: 1px solid #EEE;
    padding: 10px;
    margin: 5px 0 5px 0;
}

.return-item-upload-image-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}


.return-item-upload-image img {
    max-width: 50%;
    padding: 10px;
    max-height: 100px;
}


.package-header {
    width: 100%;
    background: #D9D9D9;
    padding: 10px 0 10px 10px;
    color: #2D2D2D;
}

.return-package {
    margin-bottom: 30px;
}

@media all and (min-width: 576px) {
    #archived-newsletter {
        background: #A8A8A8;
        padding: 20px;
    }
}


#archived-newsletter table {
    margin: 0;
}

/*#archived-newsletter img {
    max-width: revert;
}*/




.blur-background {
    -webkit-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-transform: translate3d(0,0,0);
}

/* Set credit card type icons */
.cc-icon {
    position: absolute;
    width: 34px;
    height: 22px;
    top: 50%;
    right: 10px;
    margin-top: -11px;
    background-repeat: no-repeat;
    background-size: cover;
}

.visa {
    background-image: url('/images/icons/visa.png')
}

.mastercard {
    background-image: url('/images/icons/mastercard.png')
}

.amex {
    background-image: url('/images/icons/amex.png')
}

.discover {
    background-image: url('/images/icons/discover.png')
}

/* End Set credit card type icons */

.fbpLoading {
    display: block;
    width: 100px;
    background-image: url('/Images/loaders/typing-dark.svg') !important;
    background-repeat: no-repeat;
}


/* HotJar */
div[class$="MinimizedWidgetMiddle__right"] {
    transform: translateY(-50%) scale(.75) !important;
    transform-origin: right center;
}


/*#RRRelatedProductsSection {
    display: block !important;
    min-height: 360px;
}*/

/*#price-match-wrap {
    margin-top: 10px;
    font-size: 12px;
    color: #888;
}*/

/*@media screen and (min-width: 860px) {
    #price-match-wrap {
        margin-top: 0;
        border-left: 1px solid #e4e4e4;
        padding-left: 15px;
        margin-left: 15px;
    }
}*/

#price-match-link {
    /*display: inline-flex;
    height: 20px;
    align-items: center;
    vertical-align: bottom;
    column-gap: 1px;
    margin-right: 10px;
    color: #035da3;
    font-weight: 700;*/
}

.price-match-pending,
.price-match-approved {
    color: #035da3;
    font-weight: 700;
}

/*
#price-match-link .icon-price-match:before {
    font-size: 32px;
    display: inline-block;
    transform: rotate(25deg);
    margin-top: -10px;
    transition: transform .125s;
}

#price-match-link:hover .icon-price-match:before {
    transform: rotate(15deg);
}


#price-match-link:hover .icon::before {
    text-decoration: none !important;
}
*/

#price-match-box .icon-holder {
    font-size: 400%;
    line-height: 70%;
    margin-left: -10px;
    margin-top: -10px;
}




label.price-match-error {
    font-size: 12px;
    color: red;
}

div.pac-container {
    z-index: 99999999999 !important;
}



.admin-debug-info-grid-item {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 5px 10px;
    padding: 0;
    list-style: none;
    border: #06FF03 solid 4px;
    background: rgba(0, 0, 0, 1);
    font: 11px Consolas, Courier, Monaco, monospace;
    color: #06FF03;
    opacity: 0.9;
    z-index: 10;
}

    .admin-debug-info-grid-item.admin-debug-info-top {
        animation: .5s ease-in-out forwards swingTop;
    }


    .admin-debug-info-grid-item.admin-debug-info-bottom {
        animation: .5s ease-in-out forwards swingBottom;
    }

@keyframes swingTop {
    from {
        top: 98%;
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
        top: 0;
    }
}

@keyframes swingBottom {
    from {
        transform: translateY(0);
        top: 0;
    }

    to {
        top: 98%;
        transform: translateY(-100%);
    }
}




.admin-debug-info-grid-item li {
    margin: 0;
    padding: 4px 6px;
    border: none;
    white-space: pre-wrap;
    text-align: left;
    transition: all .3s;
}

.admin-debug-info-grid-item li {
    display: table-row;
    width: 100%;
}

    .admin-debug-info-grid-item li > * {
        display: table-cell;
        padding: 4px 6px;
    }

    .admin-debug-info-grid-item li > b {
        background-color: rgba(255, 255, 255, .2);
        white-space: nowrap;
    }

    .admin-debug-info-grid-item li > span {
        width: 100%;
    }



    .admin-debug-info-grid-item li:nth-child(even) {
        background-color: rgba(255, 255, 255, .1);
    }

    .admin-debug-info-grid-item li:hover {
        background-color: rgba(0, 130, 255, .5) !important;
        color: #fff !important;
    }



/*
  EGIFT CARD CSS
*/
/**** .CloseLink shrunk all close buttons, not good. (rjb) ****/
/*.CloseLink { font-size: 16px !important; }*/
.modalBackground table tr td {
    padding: 2px;
}

.modalBackground .button-cart {
    margin-bottom: 10px;
}

.personalization-wrapper {
    width: 100%;
    padding: 20px 20px 0 20px !important;
    background: #f3f3f3;
    border-radius: 3px;
}

    .personalization-wrapper table tr td {
        padding: 2px;
    }

.options {
    /*padding: 10px 20px 10px 20px !important;*/
}

.udf-input-read-only-wrapper ul.edit-button {
    display: none;
}

.udf-input-read-only-wrapper ul {
    padding: 5px 0 0 0;
}

    .udf-input-read-only-wrapper ul .udf-input-label {
        font-weight: bold;
    }

.cart-edit-personalization {
    margin-top: 5px;
    margin-bottom: 5px;
    font-weight: bold;
    color: #035DA3;
    border: 1px solid #035DA3;
    border-radius: 6px;
}

    .cart-edit-personalization:hover {
        color: #F37528;
        border: 1px solid #F37528;
    }

.modal-outer-box {
    background: #FF0000;
}

.message-display-popup .alert .text {
    margin: 20px !important;
    font-size: 16px !important;
}


.udf-input-table .Label {
    white-space: nowrap;
    text-align: left;
    padding-right: 5px;
}

.udf-input-table input {
    width: 100%;
}

.udf-input-table tr.Theme {
    display: none !important;
}

.udf-input-read-only-wrapper ul li.Theme {
    display: none !important;
}

div.gcGallery {
    flex-direction: column !important;
}

.gcNumberLB {
    width: 100%;
    padding-top: 20px;
}

.gcPinLB {
    width: 100%;
    padding-top: 20px;
}

.gcBalanceMessage {
    font-size: 16px;
    font-weight: 500;
}


/****** WARRANTY POLICY TAB ******/
#warranty .warranty-info {
    font-size: 12px;
}

.warranty-info .warranty-icon {
    float: left;
    margin: 0 2em 0.5em 0;
    max-height: 50px;
}


/****** JQUERY UI AUTOCOMPLETE OVERRIDES ******/
.ui-widget-content.ui-autocomplete {
    padding: 0px;
    background: #fff;
    border: none;
    /*border-top: 2px solid #035da3;*/
    /*z-index: 110;*/
    box-shadow: 0 2px 4px rgba(0, 0, 0, .5);
    font-family: inherit;
    font-size: 16px;
}

.ui-menu.ui-autocomplete > .ui-menu-item {
    list-style-image: none;
}

    .ui-menu.ui-autocomplete > .ui-menu-item > .ui-menu-item-wrapper {
        margin: 0;
        padding: 4px 11px;
        width: 100%;
        list-style-image: none;
        cursor: pointer;
    }

.ui-state-active, .ui-widget-content.ui-autocomplete .ui-state-active, .ui-widget-header .ui-state-active {
    border: none;
    background: #0071ca;
    color: #fff;
}


.affirm-description .affirm-modal-trigger {
    display: none;
}


.payment-method-description {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
}

.payment-method-logo {
    margin: -15px 0 10px;
    height: 32px;
}

#affirm-processing-message {
    margin-top: 15px;
    margin-bottom: -40px;
    font-weight: normal;
}



.wishlist-item-image {
    display: flex;
    margin-right: 20px;
    justify-content: center;
    overflow: hidden;
    align-content: center;
    flex-grow: 0;
    flex-shrink: 0;
    width: auto;
}

.wishlist-image {
    align-self: center;
    display: block;
    min-width: 1px;
}


.wishlist-btn-wrap {
    display: grid;
    border-radius: 20px;
    border: 1px solid #d9d9d9;
    position: relative;
    padding: 30px 14px;
    max-height: 150px;
    margin-top: 20px;
}

.view-wishlist-btn, .cont-wishlist-btn {
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    display: block;
    width: 100%;
    margin: 0 auto;
    transition: background-color 0.3s ease-in-out;
}

.view-wishlist-btn {
    background-color: #f8f9fa;
    color: inherit;
    margin-bottom: 15px;
}

    .view-wishlist-btn a {
        text-decoration: none;
    }

.cont-wishlist-btn {
    background-color: #007bff;
}


.view-wishlist-btn:hover {
    background-color: #e2e6ea;
    color: black;
}

.cont-wishlist-btn:hover {
    background-color: #0056b3;
}


.wishlist-holder {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    min-height: 1.7em; /* stops page render repaint */
}

.wishlist-hr {
    height: 1.5px;
    margin: 15px 0;
}

.wishlist-item-image img {
    object-fit: cover;
    max-width: 300px;
}

.wishlist-holder .content .attributes {
    width: 100%;
    font-size: 13px;
}

@media screen and (min-width: 576px) {
    .wishlist-item-image img {
        max-height: 200px;
    }
}

@media (max-width: 992px) {

    .wishlist-form {
        flex-direction: column;
    }
}

@media (max-width: 768 px) {
    .wishlist-item-name {
        margin-top: 10px;
    }
}

@media (max-width: 576px) {
    .wishlist-item-image img {
        max-height: 100px;
    }
}


.progress {
    position: relative;
    background-color: #d1d5db;
    border-radius: 99px;
    padding: 0.25rem;
    z-index: 10;
}

.progress-bar {
    height: 30px;
    align-items: center;
    display: flex;
    justify-content: center;
    background-color: #3b82f6;
    background-color: #0071ca;
    color: #fff;
    border-radius: 99px;
    padding: 0.125rem;
}

.progress-bar-striped {
    background-image: linear-gradient(-45deg, rgba(255,255,255,.05) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.05) 75%, transparent 75%, transparent 100% );
    background-size: 1rem 1rem;
    background-position: 0% 50%
}

.progress-moved .progress-bar {
    width: 100%;
    animation-duration: 8s, 16s;
    animation-timing-function: ease, linear;
    animation-delay: 0s, 8s;
    animation-iteration-count: 1, infinite;
    -webkit-animation-name: progress-bar-animation-4-steps, progress-bar-background;
    animation-name: progress-bar-animation-4-steps, progress-bar-background;
}


@-webkit-keyframes progress-bar-animation-4-steps {
    0% {
        width: 0%;
    }

    15% {
        width: 25%;
    }

    20% {
        width: 25%;
    }

    40% {
        width: 50%;
    }

    45% {
        width: 50%;
    }

    65% {
        width: 75%;
    }

    70% {
        width: 75%;
    }

    100% {
        width: 100%;
    }
}

@keyframes progress-bar-animation-4-steps {
    0% {
        width: 0%;
    }

    15% {
        width: 25%;
    }

    20% {
        width: 25%;
    }

    40% {
        width: 50%;
    }

    45% {
        width: 50%;
    }

    65% {
        width: 75%;
    }

    70% {
        width: 75%;
    }

    100% {
        width: 100%;
    }
}

@-webkit-keyframes progress-bar-animation {
    to {
        width: 0%;
    }

    from {
        width: 100%;
    }
}

@keyframes progress-bar-animation {
    to {
        width: 0%;
    }

    from {
        width: 100%;
    }
}


@keyframes progress-bar-background {
    from {
        background-position: 100% 50%;
    }

    to {
        background-position: 0% 50%;
    }
}


.disabled-link {
    pointer-events: none;
    color: #035DA3;
    cursor: default;
    text-decoration: none;
}

.brand-banner-panel {
    position: relative;
    width: 100%;
    background-color: #e3e3e3;
    overflow: hidden;
}

.brand-banner-image {
    width: 100%;
    height: 120px;
    display: block;
    object-fit: cover;
}

.brand-banner-image-missing {
    filter: blur(10px) grayscale(0);
    mix-blend-mode: multiply;
    opacity: 0.33;
}

.brand-logo-position-wrapper {
    margin-left: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 30px);
    max-width: 1240px;
}

.brand-logo-container {
    width: 80px;
    height: 80px;
    margin-left: auto;
    margin-right: auto;
    top: 1px;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.brand-logo-image {
    max-width: 80%;
    max-height: 80%;
}

@media (min-width: 992px) {
    .brand-banner-image {
        height: 160px;
    }

    .brand-logo-position-wrapper {
        margin-left: 30px;
    }

    .brand-logo-container {
        width: 100px;
        height: 100px;
        margin-left: 0px;
        position: relative;
    }
}

#DigitalDetailSection {
    margin-top: 60px;
}

.digital-detail-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0 0 5px 0;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 14px;
}

.digital-detail-asset {
    list-style-type: none;
    padding: 0;
    font-size: 14px;
    font-weight: normal;
}

    .digital-detail-asset li {
        margin-bottom: 10px;
    }

        .digital-detail-asset li a {
            color: #035DA3;
        }

        .digital-detail-asset li .digital-detail-title {
            font-weight: bold;
        }

        .digital-detail-asset li .digital-detail-file li {
            list-style-type: none;
        }

            .digital-detail-asset li .digital-detail-file li::before {
                content: "\2014";
                color: #007bff;
                display: inline-block;
                width: 1em;
                margin-left: -1em;
                font-size: 1.2em;
            }

            .digital-detail-asset li .digital-detail-file li a {
                color: #007bff;
                text-decoration: underline;
            }
