﻿/** CSS RESET **/

* {
    margin: 0;
    outline: none;
    padding: 0;
    text-decoration: none;
}

html {
    margin: 0;
    -webkit-text-size-adjust: none;
}

ol, ul {
    list-style: none;
}

a img {
    border: none;
}

a:active {
    outline: none;
}

script {
    display: none !important;
}

/** FONT **/
/* Thin 200 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-thin.eot') format('embedded-opentype'), url('../font/baltoweb-thin.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}

/* Light 300 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-light.eot') format('embedded-opentype'), url('../font/baltoweb-light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

/* Book 400 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-book.eot') format('embedded-opentype'), url('../font/baltoweb-book.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

/* Medium 500 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-medium.eot') format('embedded-opentype'), url('../font/baltoweb-medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

/* Bold 600 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-bold.eot') format('embedded-opentype'), url('../font/baltoweb-bold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

/* Black 700 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-black.eot') format('embedded-opentype'), url('../font/baltoweb-black.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

/* Super 800 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-super.eot') format('embedded-opentype'), url('../font/baltoweb-super.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}

/* Ultra 900 */
@font-face {
    font-family: 'Balto';
    src: url('../font/baltoweb-ultra.eot') format('embedded-opentype'), url('../font/baltoweb-ultra.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

/** ICON FONT **/
/*https://google.github.io/material-design-icons/#getting-icons*/

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(../lib/material/iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */
    src: local('Material Icons'), local('MaterialIcons-Regular'), url(../lib/material/iconfont/MaterialIcons-Regular.woff2) format('woff2'), url(../lib/material/iconfont/MaterialIcons-Regular.woff) format('woff'), url(../lib/material/iconfont/MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px; /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    vertical-align: middle;
    direction: ltr;
    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;
    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;
    /* Support for IE. */
    font-feature-settings: 'liga';
}

/** ELEMENTS **/
/* i.e. when we directly influence the element without classes */

body {
    background-image: url(../images/textures/concrete_seamless.png);
    max-width: 100%;
    overflow-x: hidden;
    background-color: #fff;
    font: normal 1rem Balto, Arial, Helvetica, sans-serif;
    color: #595959;
}

h1 {
    color: #A60000;
    text-transform: uppercase;
}

h2, h3, h4, h5, h6 {
    color: #595959;
}

a {
    color: inherit;
    cursor: pointer;
}

    a img {
        opacity: 0.99; /*firefox scale bug fix*/
    }

    a.underline {
        text-decoration: underline;
    }

    a.list-group-item-action:focus,
    a.list-group-item-action:hover,
    a.card:hover,
    a.card:focus {
        text-decoration: none !important;
        outline-color: currentColor !important;
        outline-offset: 2px;
    }

        a.list-group-item-action:focus span,
        a.list-group-item-action:hover span,
        a.card:focus span,
        a.card:focus p,
        a.card:hover span,
        a.card:hover p {
            text-decoration: none !important;
        }

table {
    width: 100%;
    border-collapse: collapse;
}

input, textarea, select {
    font-size: 1.1rem;
    color: inherit;
    border-radius: 0;
}

    input[type="button"],
    input[type="checkbox"] {
        min-width: unset;
    }

textarea {
    min-height: 150px;
}

select {
    min-width: 50px;
    height: 32px; /*safari padding fix*/
    padding: 6px;
}

input[type="checkbox"],
input[type="radio"],
input[type="checkbox"] + *,
input[type="radio"] + * {
    vertical-align: middle;
}

.main-wrapper {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    background-color: white;
    margin: auto;
    min-height: 800px;
}

    .main-wrapper > main {
        flex: 1;
        width: 100%;
    }

    .main-wrapper > nav {
        padding: .5rem 0 0 1.1rem;
    }

.dropdown-item {
    padding: .5rem 1.5rem;
}

/** Focus/Hover Outlines and Highlights **/

a,
button,
input,
select,
textarea,
[tabindex]:not([tabindex="-1"]),
.form-control,
[role="option"] {
    outline: 2px solid transparent;
    outline-offset: 5px;
    -webkit-transition: outline-offset .2s linear;
    transition: outline-offset .2s linear;
}

    a:focus,
    button:focus,
    input:focus,
    select:focus:focus,
    textarea:focus,
    [tabindex]:not([tabindex="-1"]):focus,
    [role="option"]:focus,
    [role="option"]:active {
        outline-color: currentColor !important;
        outline-offset: 2px;
    }

        a:focus,
        a:hover,
        a:focus span,
        a:hover span {
            color: currentColor;
            text-decoration: underline !important;
        }

    a:hover {
        outline-color: transparent;
    }

.ui-state-active {
    background: #004377 !important;
    color: white !important;
}

.btn,
.form-control {
    -webkit-transition: box-shadow .1s linear;
    transition: box-shadow .1s linear;
    box-shadow: 0 0 0 2px transparent !important;
}

    .btn svg,
    a svg {
        margin: -2px 0 0;
    }

input:hover,
select:hover,
[role="option"]:hover {
    box-shadow: 0 0 0 2px currentColor !important;
    text-decoration: none !important;
}

a:not([href]):not([tabindex]) {
    color: currentColor;
    text-decoration: none;
}

a.btn-like {
    display: inline-block;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    font-weight: 600;
    text-transform: uppercase;
}

a.skip-main,
a.skip-blog-nav {
    left: -999px;
    position: absolute;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: -999;
}

    a.skip-main:focus, a.skip-main:active,
    a.skip-blog-nav:focus, a.skip-blog-nav:active {
        color: #FFF;
        background-color: #004377;
        left: 0;
        top: auto;
        width: 30%;
        height: auto;
        overflow: auto;
        margin: 10px 35%;
        padding: 5px;
        border: 4px solid #FFF;
        text-align: center;
        font-size: 1.2em;
        z-index: 999;
        outline-color: #4ab2f1 !important;
    }

label {
    font-weight: 500;
}

/** COMMON **/

.alert {
    display: flex;
    align-items: center;
}

    .alert > ul {
        margin-bottom: 0;
    }

    .alert > svg {
        margin-left: -10px;
        margin-right: 20px;
        min-width: 24px;
    }

.alert-info {
    background-color: #D4EDF2;
}

.mobile {
    display: none;
}

.uppercase {
    text-transform: uppercase;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

.dropdown-menu {
    border-color: #D2D2D2;
}

.modal-content {
    background-clip: border-box;
}

.modal-header {
    background-color: #004377;
}

    .modal-header .modal-title {
        color: white;
        font-size: 1.25rem;
        font-weight: 500;
    }

    .modal-header .close {
        opacity: 1;
        text-shadow: none;
        color: white;
    }

.text-muted {
    color: #53595F !important;
}

.speak-none {
    speak: none;
}

.btn-success {
    background-color: #175E28;
    border-color: #1d6a2e;
}

option [selected="selected"] {
    background-color: #005AA3;
}

.small-header-like {
    font-size: 1.3rem;
    margin-bottom: .325rem;
    font-weight: 500;
    display: block;
}

.label-like {
    font-weight: 500;
    margin-bottom: .5rem;
    display: inline-block;
}

.card {
    border-radius: 0;
}

/** MARSHALLTOWN COLORS **/

.mt-text-blue {
    color: #004377 !important;
}

    .mt-text-blue svg {
        fill: #004377 !important;
    }

.mt-bg-blue {
    color: white !important;
    background-color: #004377 !important;
}

.mt-border-blue {
    border: solid;
    border-width: 1px;
    border-color: #004377 !important;
}

.mt-text-red {
    color: #A60000 !important;
}

.mt-bg-red {
    color: white !important;
    background-color: #A60000 !important;
}

.mt-text-black {
    color: #595959 !important;
}

.mt-shadow {
    -webkit-box-shadow: 12px 14px 9px -12px rgba(0,0,0,0.52);
    -moz-box-shadow: 12px 14px 9px -12px rgba(0,0,0,0.52);
    box-shadow: 12px 14px 9px -12px rgba(0,0,0,0.52);
}

/** BUTTONS **/

.btn {
    border-radius: 0 !important;
    font-weight: 600;
    text-transform: uppercase;
    padding: .375rem .65rem;
}

    .btn:disabled {
        color: #6c757d;
        background-color: #e9ecef;
        border-color: #ced4da;
    }

.btn-primary {
    background-color: #004377;
    color: white;
    border-color: #004377;
}

    .btn:hover,
    .btn:focus,
    .btn-primary:hover,
    .bnt-primary:focus,
    .btn-outline-secondary:hover,
    .btn-outline-secondary:focus {
        box-shadow: 0 0 0 2px #004377 !important;
        background-color: #0056B3;
        color: white !important;
        text-decoration: none !important;
    }

        .btn:hover svg,
        .btn:focus svg {
            fill: white !important;
        }

.btn-success:hover,
.btn-success:focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}

.btn-danger:hover,
.btn-danger:focus {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
}

.input-group-sm > .input-group-append > .btn.has-icon,
.btn.has-icon {
    padding: .15rem .25rem;
}

.input-group > .input-group-prepend > .input-group-text {
    color: rgb(26, 86, 163);
    background-color: white;
    text-transform: uppercase;
    font-weight: bold;
    border-radius: 0;
}

.page {
    padding: 1.2rem 1.1rem;
}

.sticky-stuck {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
}

.to-be-stuck-bottom {
    position: sticky;
    position: -webkit-sticky;
    bottom: 0;
    z-index: 9;
    background: white;
}

.to-be-stuck-footer {
    position: fixed;
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    bottom: 0;
    z-index: 9;
    background: white;
}

[data-toggle="popover"] {
    cursor: pointer;
}

.tooltip-inner {
    max-width: 300px;
    padding: 5px 8px;
    color: black;
    text-align: left;
    background-color: white;
    border-radius: 8px;
    border: solid 1px #3c8dbc;
}

.form-control, .form-control:focus {
    color: black;
    border-radius: 0;
}

/** HEADER **/
header {
    z-index: 10;
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

.header-upper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}

.header-logo {
    width: 14rem;
    padding: .325rem;
    margin-right: 1rem;
}

    .header-logo img {
        max-width: 100%;
        opacity: 1;
    }

.phone-link-wrapper {
    position: relative;
    float: left;
}

.header-links {
    display: inline-block;
    padding: .375rem;
}

    .header-links .account-links {
        display: flex;
        align-items: center;
        padding-top: .1rem;
        flex-wrap: wrap;
    }

.phone-link {
    float: left;
    padding: .375rem .75rem;
    line-height: 1.5;
    vertical-align: middle;
    margin-top: 4px;
}

    .header-links #topcartlink a:hover,
    .phone-link a:hover {
        color: white;
    }

    .header-links #topcartlink a,
    .header-links span,
    .phone-link a,
    .header-links .btn-account {
        color: white;
        line-height: normal;
        font-size: 1.1rem;
        font-weight: 600; /*BOLD*/
        text-transform: uppercase;
    }

.btn-account:hover,
.btn-account:focus {
    box-shadow: 0 0 0 2px white !important;
}

.header-lower {
    position: relative;
    padding: .325rem;
    height: auto;
    width: 100%;
    background-color: white;
}

    .header-lower > div {
        display: inline-block;
    }

.header-menu {
    display: inline-block;
    width: 100%;
    margin: 0;
    border: none;
    padding: 0;
}

    .header-menu .btn-products,
    .header-menu a {
        font-size: 1.1rem;
        font-weight: 600; /*BOLD*/
        color: #004377;
    }

#topcartlink {
    display: inline-block;
    width: auto;
    max-width: 400px;
    background-color: transparent;
    padding-left: 0;
}

.btn-products-group {
    vertical-align: unset;
}

/** FLYOUT CART **/

.flyout-cart {
    position: absolute;
    top: 61px;
    right: -2px;
    z-index: 100;
    width: 300px;
    box-shadow: 0 0 2px rgba(0,0,0,0.25);
    background-color: #fff;
    display: none;
}

    .flyout-cart.active {
        display: block;
    }

.mini-shopping-cart {
    padding: 12px;
    text-align: left;
    font-size: 1rem;
}

    .mini-shopping-cart .count {
        padding: 5px 0 15px;
        color: #444;
    }

        .mini-shopping-cart .count a {
            margin: 0 2px;
            font-weight: bold;
            color: #444;
        }

    .mini-shopping-cart .items {
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
        margin: 0 0 20px;
    }

    .mini-shopping-cart .item {
        overflow: hidden;
        padding: 10px 0;
    }

    .mini-shopping-cart .picture {
        float: left;
        width: 70px;
        text-align: center;
    }

        .mini-shopping-cart .picture a {
            display: block;
            position: relative;
            overflow: hidden;
        }

            .mini-shopping-cart .picture a:before {
                content: "";
                display: block;
                padding-top: 100%;
            }

        .mini-shopping-cart .picture img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            max-width: 100%;
        }

        .mini-shopping-cart .picture + .product {
            margin: 0 0 0 80px;
        }

    .mini-shopping-cart .name {
        margin: 0 0 10px;
        font-size: 1.2rem;
    }

        .mini-shopping-cart .name a {
            color: #4ab2f1;
        }

            .mini-shopping-cart .name a:hover {
                color: #248ece;
            }

    .mini-shopping-cart .attributes {
        margin: 5px 0;
        color: #444;
    }

    .mini-shopping-cart .totals {
        margin: 0 0 12px;
        font-size: 1.1rem;
    }

        .mini-shopping-cart .totals strong {
            font-size: 1.2rem;
            color: #444;
        }

    .mini-shopping-cart .buttons {
        margin: 0 0 5px;
    }

    .mini-shopping-cart input[type="button"] {
        display: inline-block;
        border: none;
        background-color: #4ab2f1;
        padding: 10px 20px;
        font-size: 1rem;
        color: #fff;
        text-transform: uppercase;
    }

        .mini-shopping-cart input[type="button"]:hover {
            background-color: #248ece;
        }

/** SEARCH BOX **/

.search-box.store-search-box {
    display: flex;
    align-items: center;
    flex-grow: 3;
    padding: 6px .325rem .325rem
}

.search-box input.search-box-text {
    color: black;
    padding: 0 0 0 20px;
    font-size: 1.2em;
    font-weight: 400;
    float: left;
    width: 280px;
    height: 36px;
    margin: 0 -1px 0 0;
    border: 1px solid #004377;
}

    .search-box input.search-box-text::-webkit-input-placeholder {
        color: #004377;
        opacity: 1;
        font-weight: 400; /*BOOK*/
    }

    .search-box input.search-box-text:focus::-webkit-input-placeholder {
        color: gainsboro;
    }

.search-box .btn-primary {
    border-color: white;
}

    .search-box .btn-primary:hover,
    .search-box .btn-primary:focus {
        box-shadow: 0 0 0 1px white !important;
    }

.search-box form {
    display: inline-block;
    width: 100%;
    border: 1px solid white;
    transition: box-shadow .2s linear;
}

    .search-box form:after {
        content: "";
        display: block;
        clear: both;
    }

    .search-box form:hover,
    .search-box form:focus-within {
        border-color: #0056B3;
        box-shadow: 0px 0px 14px 6px #0056B3;
    }

    .search-box form input:hover,
    .search-box form input:focus,
    .search-box form form-control:focus
    .search-box form form-control:hover {
        background-color: #fff !important;
        border-color: #004377 !important;
        outline: 0;
        box-shadow: 0px 0px 0 2px white !important;
        border-width: 2px;
    }

.search-box .search-box-button {
    background-color: transparent;
    font-size: 1.2em;
    margin-left: -74px;
    float: left;
    min-width: 86px;
    height: 36px;
    border: none;
    padding: 0 15px;
    text-align: center;
    text-transform: uppercase;
}

.search-box .ui-autocomplete-loading {
    background: #fff url('../images/ajax-loader-small.gif') right center no-repeat;
}

/** TOP MENU **/

.menu-toggle,
.sublist-toggle {
    display: none;
}

.header-menu > ul.mobile {
    display: none;
}

.header-menu ul li:hover > .sublist {
    display: block;
}

.header-menu .sublist .sublist {
    top: -10px;
    left: 100% !important;
}

/** HEADER CATEGORY MENU **/
.header-category-menu {
    min-width: 300px;
}

    .header-category-menu ul {
        margin-bottom: 0;
    }

        .header-category-menu ul li {
            display: block;
            margin: 0;
            border-top: 1px solid #595959;
        }

            .header-category-menu ul li a:focus,
            .header-category-menu ul li a:hover {
                background: #004377 !important;
                color: white;
            }

            .header-category-menu ul li:first-child {
                border-top: none;
            }

.dropdown-menu .order-menu li {
    display: block;
    margin: 0;
    list-style: none;
    padding: 5px 5px 5px 10px;
    font-size: 1.1rem;
    color: #444;
    font-weight: normal;
}

.dropdown-menu .top-menu li a {
    display: block;
    position: relative;
    padding: 10px;
    font-size: 1.2rem;
    color: #004377;
    font-weight: 600;
    text-transform: uppercase;
    min-width: 200px;
}

.dropdown-menu .top-menu li:hover > a {
    background-color: #f6f6f6;
}

.dropdown-menu .top-menu .sublist {
    z-index: 8;
}

.dropdown-menu .top-menu .sublist {
    margin: 0;
}

    .dropdown-menu .top-menu .sublist.first-level {
        margin: -44px 0 0 12rem;
    }

.dropdown-menu .top-menu .menu-toggle, .sublist-toggle {
    display: none;
}

.dropdown-menu .top-menu .sublist {
    display: none;
    position: absolute;
    width: 200px;
    box-shadow: 0 0 2px rgba(0,0,0,0.2);
    background-color: #fff;
    padding: 10px 0;
    text-align: left;
}

    .dropdown-menu .top-menu .sublist li {
        position: relative;
    }

.top-menu ul li:hover > .sublist {
    display: block;
}

.dropdown-menu form {
    margin: 5px 15px;
}

    .dropdown-menu form .title {
        margin: 5px 0;
    }

/** ADMIN HEADER LINK **/

.admin-header-links {
    background-color: #333;
    text-align: center;
    color: #eee;
}

    .admin-header-links * {
        display: inline-block;
        margin: 0 10px;
        line-height: 35px;
        font-size: 1rem;
        font-weight: bold;
    }

    .admin-header-links .impersonate {
        display: inline-block;
    }

        .admin-header-links .impersonate a {
            background-color: #555;
            padding: 0 15px;
        }

            .admin-header-links .impersonate a:hover {
                background-color: #666;
            }

/** BREADCRUMB **/

.breadcrumb {
    background: white;
    border-radius: 0;
    padding: 0 1.1rem .5rem;
    width: 100%;
    max-width: 1200px;
    background-color: white;
    margin: 0 auto;
}

    .breadcrumb ul {
        width: 100%;
        border-top: solid 1px #004377;
        margin-bottom: 0;
        padding: .325rem 0;
    }

    .breadcrumb li {
        display: inline-block;
    }

        .breadcrumb li a,
        .breadcrumb li .current-item {
            display: inline-block;
            margin: 0;
            line-height: 32px;
            font-weight: 600;
            text-transform: uppercase;
            color: #004377;
        }

        .breadcrumb li .current-item {
            color: #595959 !important;
        }

        .breadcrumb li .delimiter {
            margin: 0 10px;
            font-weight: bold;
            color: #004377;
            speak: none;
        }

/** HERO IMAGE **/

.hero-image {
    background-color: #004377;
    background-position: left;
    background-repeat: no-repeat;
    background-size: cover;
    color: white;
    position: relative;
    display: block;
    height: auto;
    margin: 0 0 .5rem;
}

    .hero-image img {
        width: 100%;
    }

/** FEATURED **/
.featured-products .featured-products-title {
    background-color: #a60000;
    text-align: center;
    padding: .5rem;
}

    .featured-products .featured-products-title h1 {
        background-color: #a60000;
        color: white;
        font-weight: 600;
        margin: 0;
    }

/** OUR HISTORY **/

.our-history {
    margin: 0;
}

.our-history-text {
    text-align: left;
    color: white !important;
}

    .our-history-text h1,
    .our-history-text h2 {
        line-height: 1;
        margin: 0;
    }

    .our-history-text h1 {
        margin-bottom: -9px;
        font-size: 1.2em;
        font-weight: 500; /*SUPER*/
        color: white;
    }

    .our-history-text h2 {
        font-weight: 700; /*BLACK*/
        color: white;
        font-size: 2.5em;
    }

        .our-history-text h2 small {
            font-weight: 700;
            font-size: 75%;
        }

    .our-history-text p {
        font-weight: 400; /*BOOK*/
        font-size: 1.2em;
        color: white;
        margin-bottom: 0;
    }

.history-text button:hover {
    background-color: white;
}

.history-text .our-history {
    margin-bottom: -9px;
    font-size: 1.2em;
}

.our-history.bottom-highlight {
    background-image: url('../images/homepage/20190712/history.jpg');
    padding-top: 192px;
}

    .our-history.bottom-highlight .our-history-text {
        text-align: left;
        padding: 15px 24px;
        width: 100%;
        overflow: hidden;
        background: linear-gradient(0deg, rgba(0,0,0,1) 10%, rgba(0,0,0,0.75) 76%, rgba(0,0,0,0) 100%);
    }

/** FEATURED PRODUCTS **/

.featured-products {
    height: auto;
    overflow: hidden;
    width: 100%;
    margin: .5rem auto;
}

    .featured-products > a {
        float: left;
    }

/** IMAGE WITH BOTTOM BANNER **/

.image-with-banner {
    display: block;
    position: relative;
    text-align: center;
    color: white;
    width: 390px;
    height: 275px;
    margin: 5px;
}

    .image-with-banner img {
        width: 100%;
    }

    .image-with-banner .image-banner {
        position: absolute;
        left: 50%;
        bottom: -24px;
        transform: translate(-50%, -50%);
        background-color: rgba(0, 0, 0, 0.5);
        padding: 10px;
        font-size: 1.7em;
        font-weight: 500;
        text-transform: uppercase;
        width: 100%;
    }

a.image-with-banner:focus,
a.image-with-banner:hover {
    color: white !important;
}

a.image-with-banner:focus {
    outline-color: #004377 !important;
}

/** TRUSTED STORE SECTION **/

.trusted-store {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    height: auto;
    overflow: hidden;
    padding: 5px 15px;
}

    .trusted-store .contact {
        float: left;
        padding: 0;
        margin: 10px;
        list-style: none;
    }

        .trusted-store .contact h2 {
            font-size: 1.25rem;
            color: white;
        }

    .trusted-store ul.list li {
        margin: 8px 0;
    }

        .trusted-store ul.list li a {
            font-weight: 400;
        }

    .trusted-store .payment-terms {
        float: right;
        text-align: right;
        margin: 10px;
    }

        .trusted-store .payment-terms ul {
            margin: 5px 0;
            float: none;
            overflow: hidden;
            height: auto;
        }

            .trusted-store .payment-terms ul li {
                float: right;
                margin: 0 0 0 5px;
                font-size: 2em;
                color: white;
            }

                .trusted-store .payment-terms ul li img {
                    width: 50px;
                }

        .trusted-store .payment-terms a {
            float: right;
            clear: both;
            margin: 5px 0;
        }

/** FOOTER **/
footer {
    background-color: white;
    width: 100%;
    max-width: 1200px;
    margin: auto;
    overflow: hidden;
    color: #595959;
}

.footer-social .social-links a img {
    width: 30px;
    margin: 0 2px;
}

.footer-links {
    font-size: 1rem;
    float: left;
    clear: both;
}

.footer-new-products {
    display: block;
    margin: 0 auto;
    max-width: 819px;
}

.footer-block {
    display: inline-block;
    width: auto;
    margin: 0 1.1rem 0;
    vertical-align: top;
    text-align: left;
}

    .footer-block .title:first-child {
        margin-top: 0;
    }

    .footer-block .title {
        margin-top: 2rem;
        background: none;
        padding: 0;
        cursor: auto;
        font-weight: 600;
    }

        .footer-block .title:first-child {
            margin-top: 0;
        }

    .footer-block ul {
        margin-bottom: 0;
    }

        .footer-block ul.list li {
            margin: 1rem 0 0;
        }

            .footer-block ul.list li a {
                font-weight: 400;
            }

.footer-lower {
    margin: auto;
    overflow: hidden;
    font-size: 1rem;
    width: 100%;
    max-width: 1200px;
    padding: 25px 20px;
    text-align: center;
}

.footer-cookie {
    margin: auto;
    overflow: hidden;
    font-size: 1.1rem;
    width: 100%;
    max-width: 1200px;
    text-align: center;
    padding: 10px 10px;
    background-color: white;
}

/********** PRODUCT PAGE **********/

.product-page {
    padding: 0 0 1rem;
    margin: 0 1rem 0;
}

    .product-page #product-images,
    .product-page #product-details {
        margin-top: 1rem;
    }

    .product-page section {
        width: 100%;
        padding-bottom: 2rem;
    }

        .product-page section h2 {
            font-size: 1.5rem;
            font-weight: 500;
            color: #595959;
            margin-bottom: .8rem;
        }

        .product-page section h3 {
            font-size: 1.2rem;
            font-weight: 500;
            color: #595959;
            margin-bottom: .8rem;
        }

    .product-page .more-information {
        color: #595959;
        text-align: center;
        margin: 1rem 0 0;
    }

        .product-page .more-information > * {
            display: inline-block;
            margin: 1rem 1rem 0;
        }

.product-name h1 {
    font-weight: 700;
    text-transform: none;
}

/** -- Product Images **/

.product-gallery {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
}

    .product-gallery .thumbnails {
        width: 60px;
    }

    .product-gallery .main-panel {
        position: relative;
        width: 500px;
        cursor: pointer;
    }

        .product-gallery .main-panel img {
            width: 100%;
        }

    .product-gallery .main-panel-overlay {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100%;
        width: 100%;
        opacity: 0;
        transition: .3s ease;
        border: 2px solid #004377;
    }

    .product-gallery .main-panel:hover .main-panel-overlay,
    .product-gallery .main-panel:focus .main-panel-overlay {
        opacity: 1;
    }

    .product-gallery .main-panel-fullscreen i {
        color: #004377;
        font-size: 100px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        text-align: center;
    }

    .product-gallery .thumb {
        margin: 5px;
        float: left;
    }

        .product-gallery .thumb img {
            border: 1px solid #D2D2D2;
            padding: .25rem;
            width: 50px;
            height: 50px;
            cursor: pointer;
        }

        .product-gallery .thumb.thumb-active img {
            border: 2px solid #004377;
        }

    /* video overlay */
    .product-gallery .img-container {
        position: relative;
    }

.overlay {
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
}

video::-webkit-media-controls-panel {
    display: flex !important;
    opacity: 1 !important;
}
/** -- Product Details **/

#product-details .product-bullet-points ul li span {
    display: block;
    position: relative;
    padding: 0 0 5px 10px;
    font-size: 1.1rem;
    color: black;
    font-weight: normal;
}

    #product-details .product-bullet-points ul li span:before {
        content: "";
        position: absolute;
        top: 5px;
        left: 0;
        width: 5px;
        height: 5px;
        background-color: #595959;
        border-radius: 25px;
    }

#product-details .attributes .input-group {
    margin: 10px 0;
}

    #product-details .attributes .input-group > .input-group-prepend > .input-group-text {
        min-width: 150px;
    }

#product-details .sku-pn-details {
    height: auto;
    overflow: hidden;
}

    #product-details .sku-pn-details > div {
        margin: 0 0 5px;
        clear: both;
    }

    #product-details .sku-pn-details .label,
    #product-details .sku-pn-details .value {
        font-size: 1.2em;
        margin: 5px 5px 0 0;
        font-weight: bold;
        min-width: 75px;
    }

    #product-details .sku-pn-details .label {
        color: #595959;
    }

#product-details .product-price {
    font-size: 2.5em;
    margin: 8px 0 10px 0;
    font-weight: bold;
}

    #product-details .product-price.disabled {
        color: #595959 !important;
    }

#product-details .product-share-buttons {
    margin: 20px 0;
}

    #product-details .product-share-buttons a {
        float: left;
        margin: 0;
    }

    #product-details .product-share-buttons img {
        -webkit-filter: grayscale(100%);
        filter: grayscale(100%);
        width: 38px;
    }

#product-details .product-description {
    font-weight: 400;
    color: black;
    margin: 10px 0;
}

#purchase-details {
    max-width: 400px;
    float: right;
}

.add-to-cart-btn {
    font-weight: bold;
}

.please-wait {
    background: url('../images/ajax-loader-small.gif') no-repeat;
    padding-left: 20px;
    font-size: 1.1rem;
    display: none;
}

.successful-add {
    color: white;
    display: none;
}

/** -- All Variants Table **/

#all-variants-table th {
    cursor: pointer;
}

/** -- Product Tabs **/

.product-tabs .nav-pills .nav-link {
    text-align: left;
    font-size: 1.5em;
    text-transform: uppercase;
    font-weight: bold;
    color: #004377;
}

    .product-tabs .nav-pills .nav-link.active {
        background-color: white;
        color: #004377;
        border-bottom: 5px solid #004377;
        border-radius: 0;
    }

.product-tabs .tab-content {
    min-height: 200px;
    padding: 15px;
    border: 1px solid #D2D2D2;
}

.gallery {
    margin: 0 auto 50px;
    width: 100%;
}

    .gallery .picture-wrapper {
        margin: 0 0 10px;
    }

    .gallery .picture {
        position: relative;
        max-width: 100%;
        margin: 0 auto 10px;
        overflow: hidden;
    }

        .gallery .picture:before {
            content: "";
            display: block;
            padding-top: 100%;
        }

        .gallery .picture img,
        .gallery .picture-thumbs img,
        .variant-picture img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
        }

    .gallery .picture-thumbs {
        overflow: hidden;
        font-size: 0;
    }

        .gallery .picture-thumbs .thumb-item {
            display: inline-block;
            position: relative;
            width: 100px;
            height: 100px;
            margin: 0 5px 10px;
            overflow: hidden;
            cursor: pointer;
        }

.overview {
    position: relative;
    margin: 0 0 50px;
}

    .overview .discontinued-product {
        background: #f3f3f3;
        margin: 0 0 20px;
    }

        .overview .discontinued-product h4 {
            display: inline-block;
            font-size: 1.1rem;
            padding: 17px 17px 17px 40px;
            background: url('../images/discontinued-product-icon.png') no-repeat 13px center;
            color: #de444c;
        }

    .overview .product-name {
        margin: 0 0 25px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 10px;
    }

        .overview .product-name h1 {
            font-size: 2rem;
            font-weight: normal;
        }

    .overview .short-description {
        margin: 0 0 25px;
        line-height: 22px;
        color: #666;
    }

.product-no-reviews,
.product-reviews-overview {
    margin: 0 0 25px;
    color: #444;
}

.product-review-box {
    display: inline-block;
    margin: 0 0 8px;
}

    .product-review-box .rating {
        width: 95px;
        height: 14px;
        background: url('../images/rating1.png') repeat-x;
    }

        .product-review-box .rating div {
            height: 14px;
            background: url('../images/rating2.png') repeat-x;
        }

.product-review-links a:hover {
    color: #4ab2f1;
}

.overview .value,
.variant-overview .value {
    color: #444;
}

    .overview .value a,
    .variant-overview .value a {
        color: #4ab2f1;
    }

.overview-buttons {
    margin: 0 0 25px;
    font-size: 0;
}

    .overview-buttons div {
        width: 80%;
        margin: 0 auto 3px;
    }

.overview .button-2,
.variant-overview .button-2 {
    display: block;
    width: 100%;
    border: none;
    background-color: #eaeaea;
    background-position: left center;
    background-repeat: no-repeat;
    padding: 12px 15px 12px 40px;
    text-align: left;
    font-size: 1.1rem; /*reset zeroing*/
    color: #666;
}

    .overview .button-2:hover,
    .variant-overview .button-2:hover {
        background-color: #ddd;
    }

.overview .add-to-compare-list-button {
    background-image: url('../images/compare-button.png');
}

.overview .email-a-friend-button {
    background-image: url('../images/email-button.png');
}

.overview .subscribe-button,
.variant-overview .subscribe-button {
    background-image: url('../images/email-button.png');
}

.overview .download-sample-button,
.variant-overview .download-sample-button {
    background-image: url('../images/download-button.png');
}

.overview .add-to-wishlist-button,
.variant-overview .add-to-wishlist-button {
    background-image: url('../images/wishlist-button.png');
}

.overview .manufacturers {
    margin: 0 0 20px;
}

.overview .availability,
.variant-overview .availability {
    margin: 0 0 20px;
    overflow: hidden;
}

    .overview .availability .stock,
    .variant-overview .availability .stock {
        margin: 0 0 10px;
    }

    .overview .availability .back-in-stock-subscription,
    .variant-overview .availability .back-in-stock-subscription {
        display: inline-block;
    }

.overview .additional-details,
.variant-overview .additional-details {
    margin: 0 0 20px;
}

    .overview .additional-details div,
    .variant-overview .additional-details div {
        margin: 0 0 8px;
    }

.overview .delivery,
.variant-overview .delivery {
    overflow: hidden;
}

.overview .free-shipping,
.variant-overview .free-shipping {
    display: none;
    margin: 10px 0;
    background: url('../images/shipping.png') left center no-repeat;
    padding: 2px 0 2px 28px;
    font-weight: bold;
    color: #444;
}

    .overview .free-shipping.visible,
    .variant-overview .free-shipping.visible {
        display: inline-block;
    }

.overview .delivery-date,
.variant-overview .delivery-date {
    margin: 10px 0;
}

.overview .min-qty-notification,
.variant-overview .min-qty-notification {
    margin: 10px 0;
    font-style: italic;
    color: #444;
}

.overview .download-sample,
.variant-overview .download-sample {
    display: inline-block;
    margin: 0 0 25px;
}

.overview .prices,
.variant-overview .prices {
    margin: 0 0 10px;
    overflow: hidden;
}

    .overview .prices > div,
    .variant-overview .prices > div {
        margin: 0 0 5px;
    }

        .overview .prices > div > span,
        .variant-overview .prices > div > span {
            vertical-align: middle;
        }

.overview .old-product-price,
.variant-overview .old-product-price,
.overview .non-discounted-price,
.variant-overview .non-discounted-price {
    font-size: 1.1rem;
    text-decoration: line-through;
}

.overview .product-price,
.variant-overview .product-price {
    font-size: 1.5rem;
    font-weight: bold;
}

.overview .tax-shipping-info a,
.variant-overview .tax-shipping-info a {
    color: #4ab2f1;
}

    .overview .tax-shipping-info a:hover,
    .variant-overview .tax-shipping-info a:hover {
        text-decoration: underline;
    }

.tier-prices {
    margin: 0 0 20px;
}

    .tier-prices .title {
        display: none;
    }

    .tier-prices table td {
        border: 1px solid #D2D2D2;
        padding: 10px;
        color: #444;
    }

    .tier-prices .field-header {
        min-width: 80px;
    }

    .tier-prices .item-price {
        background-color: #f9f9f9;
        font-size: 1.2rem;
        color: #e4434b;
    }

.overview .add-to-cart {
    margin: 0 0 20px;
}

.overview .add-to-cart-panel,
.variant-overview .add-to-cart-panel {
    display: inline-block;
    position: relative;
}

    .overview .add-to-cart-panel > *,
    .variant-overview .add-to-cart-panel > * {
        float: left;
    }

.overview .qty-label,
.variant-overview .qty-label {
    display: none !important;
}

.overview .qty-input,
.variant-overview .qty-input {
    width: 45px;
    height: 43px;
    padding: 0 12px;
    text-align: center;
    font-size: 1.2rem;
    color: #444;
}

.overview .qty-dropdown,
.variant-overview .qty-dropdown {
    height: 43px;
    padding: 0 12px;
    font-size: 1.2rem;
    color: #444;
}

.overview .add-to-cart-button,
.variant-overview .add-to-cart-button {
    height: 43px;
    border: none;
    background-color: #4ab2f1;
    padding: 0 24px;
    font-size: 1.2rem;
    color: #fff;
    text-transform: uppercase;
}

    .overview .add-to-cart-button:hover,
    .variant-overview .add-to-cart-button:hover {
        background-color: #248ece;
    }

.product-share-button {
    display: inline-block;
    overflow: hidden;
}

.full-description {
    clear: both;
    line-height: 24px;
}

.product-collateral {
    margin: 0 0 75px;
}

    .product-collateral .title {
        margin: 0 0 10px;
        font-size: 1.4rem;
        color: #444;
    }

        .product-collateral .title strong {
            font-weight: normal;
        }

.product-variant-line {
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
    padding: 0 0 20px;
}

    .product-variant-line:after {
        content: "";
        display: block;
        clear: both;
    }

.variant-picture {
    position: relative;
    width: 220px;
    height: 220px;
    margin: 0 auto 15px;
    overflow: hidden;
}

.variant-overview {
    width: 100%;
}

    .variant-overview .variant-name {
        margin: 0 0 10px;
        padding: 10px 0;
        font-size: 1.2rem;
        font-weight: bold;
        color: #4ab2f1;
    }

    .variant-overview .variant-description {
        margin: 0 0 15px;
        line-height: 22px;
    }

    .variant-overview .add-to-wishlist {
        margin: 0 0 25px;
    }

    .variant-overview .add-to-wishlist-button {
        display: inline-block;
        width: auto;
    }

    .variant-overview .add-to-cart {
        margin: 0 0 10px;
    }

.product-specs-box {
    margin: 0 0 40px;
}

    .product-specs-box td {
        border: 1px solid #D2D2D2;
        padding: 10px;
    }

.product-tags-list {
    font-size: 0;
}

    .product-tags-list li {
        display: inline-block;
        font-size: 1.1rem; /*reset zeroing*/
    }

        .product-tags-list li.separator {
            margin: 0 5px 0 3px;
        }

    .product-tags-list a {
        display: inline-block;
        line-height: 24px;
    }

        .product-tags-list a:hover {
            color: #444;
        }

.attributes {
    margin: 20px 0;
}

    .attributes dl {
        overflow: hidden;
        padding: 0 2px; /* fix for Chrome in Mac, the checkboxes get cut off */
    }

    .attributes dt,
    .attribute-label {
        display: block;
        margin: 0 0 5px;
        white-space: nowrap;
        font-weight: bold;
        color: #444;
    }

    .attributes dd,
    .attribute-data {
        margin: 0 0 10px;
    }

    .attributes li {
        margin: 8px 0 12px;
    }

    .attributes select {
        width: auto;
        min-width: 100px;
        max-width: 100%;
    }

    .attributes .option-list label {
        margin: 0 5px;
    }

    .attributes .datepicker {
        width: 280px;
        text-align: center;
        color: #444;
    }

    .attributes .qty-box input {
        width: 48px;
        height: 32px;
        text-align: center;
    }

.attribute-squares {
    font-size: 0;
}

    .attribute-squares li {
        display: inline-block;
        margin: 0 5px 5px;
        text-align: center;
    }

    .attribute-squares .attribute-square-container {
        display: block;
        position: relative;
        z-index: 0;
        padding: 1px;
    }

    .attribute-squares label {
        display: block;
        margin: 0 !important;
        overflow: hidden;
    }

    .attribute-squares .attribute-square {
        display: table !important;
        width: 32px !important;
        height: 32px !important;
        border: 1px solid #D2D2D2 !important;
        cursor: pointer;
    }

    .attribute-squares .selected-value .attribute-square-container {
        background-color: #4ab2f1;
    }

    .attribute-squares li input {
        position: relative;
        z-index: -1;
        margin: -32px 0 0;
    }

.tooltip-container {
    position: absolute;
    width: 200px;
    color: #000000;
    background: #FFFFFF;
    border: 1px solid #D2D2D2;
    text-align: center;
    visibility: hidden;
    border-radius: 5px;
}

    .tooltip-container:before {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -7px;
        width: 0;
        height: 0;
        border-bottom: 7px solid #eeeeee;
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
    }

    .tooltip-container:after {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        margin-left: -6px;
        width: 0;
        height: 0;
        border-bottom: 6px solid #FFFFFF;
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
    }

.attribute-squares li:hover .tooltip-container {
    visibility: visible;
    margin-left: -83px;
    margin-top: 5px;
    z-index: 595959;
}

.tooltip-container .tooltip-header {
    background-color: #F6F6F6;
    height: 25px;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    padding-left: 10px;
    padding-top: 5px;
    text-align: left;
    width: 198px;
    font-size: 1.2rem;
    border-bottom: 1px #EEEEEE solid;
}

.tooltip-container .tooltip-body {
    margin: 5px;
}

    .tooltip-container .tooltip-body img {
        border: 0px #FFF;
        width: 190px;
    }

/********** PRODUCT REVIEWS **********/

.product-reviews-page h1 a {
    color: #4ab2f1;
}

    .product-reviews-page h1 a:before,
    .product-reviews-page h1 a:after {
        content: "''";
    }

.product-reviews-page .title {
    margin: 0 0 20px;
    font-size: 1.5rem;
    color: #444;
}

    .product-reviews-page .title strong {
        font-weight: normal;
    }

.write-review {
    margin: 0 0 60px;
}

    .write-review .fieldset {
        margin: 0 0 30px;
    }

.tooltip {
    position: initial;
    display: inline-block;
    border-bottom: 1px dotted black;
    color: #444;
}

    .tooltip .tooltiptext {
        visibility: hidden;
        width: auto;
        background: #f0f0f0 no-repeat 100% 5%;
        border: #c0c0c0 1px dotted;
        text-align: Left;
        padding: 10px 10px 5px 5px;
        position: absolute;
        z-index: 1;
        left: 10%;
        opacity: 0;
        transition: opacity 0.3s;
    }

        .tooltip .tooltiptext::after {
            content: "";
            position: absolute;
        }

    .tooltip:hover .tooltiptext {
        visibility: visible;
        opacity: 1;
        cursor: help;
    }

.write-review .review-rating {
    text-align: left;
    padding-top: 10px;
    padding-bottom: 10px;
}

    .write-review .review-rating label {
        display: block;
        margin: 0 0 5px;
        font-size: 1.2rem;
        color: #444;
    }

    .write-review .review-rating div.first {
        color: #e4444c;
    }

    .write-review .review-rating div.rating-options {
        padding-top: 2px;
    }

        .write-review .review-rating div.rating-options input {
            vertical-align: baseline;
        }

    .write-review .review-rating div.last {
        color: #4cb17c;
    }

.write-review .captcha-box {
    margin: 15px 0 0;
}

.write-review .button-1 {
    border: none;
    background-color: #4ab2f1;
    padding: 10px 25px;
    text-align: center;
    font-size: 1.2rem;
    color: #fff;
    text-transform: uppercase;
}

    .write-review .button-1:hover {
        background-color: #248ece;
    }

.product-reviews-page .result,
.product-reviews-page .message-error {
    margin: 0 0 20px;
}

.product-review-list {
    overflow: hidden;
}

.product-review-item {
    margin: 0 0 40px;
}

    .product-review-item .review-item-head {
        border-top: 1px solid #ddd;
        overflow: hidden;
        background-color: #f6f6f6;
        padding: 10px;
    }

    .product-review-item .review-title {
        line-height: 20px;
        font-size: 1.2rem;
        color: #444;
    }

    .product-review-item .product-review-box {
        margin: 3px 0 0;
    }

    .product-review-item .review-content {
        padding: 20px 10px;
    }

    .product-review-item .review-text {
        margin: 0 0 15px;
        line-height: 22px;
        color: #444;
    }

    .product-review-item .reply {
        margin: 15px 0;
        border-top: 1px solid #ddd;
    }

    .product-review-item .reply-header {
        margin: 15px 0;
        font-weight: bold;
    }

    .product-review-item .reply-text {
        line-height: 22px;
    }

    .product-review-item .review-info {
        margin: 0 0 5px;
    }

        .product-review-item .review-info label {
            font-weight: normal;
        }

        .product-review-item .review-info a,
        .product-review-helpfulness .vote {
            display: inline-block;
            padding: 0 5px;
            color: #4ab2f1;
            cursor: pointer;
        }

.product-review-helpfulness .question {
    margin: 0 5px 0 0;
    font-style: italic;
}

.product-review-helpfulness .result {
    margin: 0 0 0 10px;
}

/** PRODUCT BOXES **/

.product-box-container .row .col-md-4,
.product-box-container .row .col-md-3 {
    padding: 4px;
}

.product-box {
    display: flex;
    flex-flow: column;
    height: 100%;
    border: 1px solid #D2D2D2;
}

    .product-box .picture {
        margin: 5px auto;
        max-width: 210px;
    }

        .product-box .picture img {
            width: 100%;
        }

    .product-box .title {
        flex: 1 1 auto;
        text-align: center;
        font-size: 1.1rem;
        text-transform: uppercase;
        padding: 10px;
        font-weight: 600;
        background-color: #004377;
        color: white;
    }

    .product-box:focus .title,
    .product-box:hover .title {
        background-color: #0056B3;
    }

.featured-products .product-box .picture {
    width: 100%;
    margin: 0;
    max-width: unset;
}

.featured-product .product-box .title {
    font-size: 1.2rem;
}

/** CATEGORY LANDING **/

.category-page {
    display: flex;
    flex-flow: row wrap;
    padding: 0 .5rem 1.5rem;
    width: 100%;
}

    .category-page .category-navigation {
        width: 25%;
        flex-grow: 1;
    }

    .category-page .category-grid-display {
        width: 75%;
        flex-grow: 1;
    }

.category-grid-display .page-title {
    text-align: center;
    text-transform: uppercase;
    color: white;
    background-color: #a60000;
    min-height: 100px;
    text-align: center;
    padding: 36px 0;
}

    .category-grid-display .page-title h1 {
        color: white;
        font-weight: 800;
        font-size: 2.2em;
        width: 100%;
        margin-bottom: 0;
    }

    .category-grid-display .page-title h3 {
        color: white;
        margin: 0;
        position: absolute;
        top: 80%;
        left: 50%;
        transform: translate(-50%, -50%);
        text-transform: initial;
        width: 100%;
    }

.header-category-menu ul li {
    display: block;
    margin: 0;
    border-top: 1px solid #D2D2D2;
}

    .header-category-menu ul li a:focus,
    .header-category-menu ul li a:hover {
        background: #004377 !important;
        color: white;
    }

    .header-category-menu ul li:first-child {
        border-top: none;
    }

.category-navigation ul li,
.search-link a {
    margin-top: .325rem;
}

    .category-navigation ul li a {
        font-size: 1rem;
        color: #004377;
        font-weight: 600;
        padding: .325rem 0;
        display: block;
        width: 250px;
        white-space: pre-line;
        word-wrap: normal;
        line-height: normal;
    }

        .category-navigation ul li a > svg {
            margin-right: 4px;
        }

        .category-navigation ul li a.has-icon,
        .category-navigation ul li a.has-icon {
            white-space: inherit;
            padding: 12px 5px;
        }

        .category-navigation ul li a.active {
            font-weight: 600;
            color: #595959 !important;
        }

            .category-navigation ul li a.active > svg {
                fill: #595959 !important;
            }

.category-navigation ul .sublist {
    margin: 0 5px;
}

    .category-navigation ul .sublist a {
        font-weight: 500; /*MEDIUM*/
    }

.category-description {
    font-weight: 400; /*BOOK*/
    color: black;
    margin: 10px 0;
}

ul ul li {
    font-size: 1rem !important;
    margin-left: 15px;
}

ul ul ul li {
    font-size: 1rem !important;
    margin-left: 30px;
}

/** ORDER-SUMMARY **/
/*i.e. what's shown in cart and during summary checkout*/
.order-summary th {
    white-space: nowrap;
}

.order-summary .mobile-label,
.note-line .mobile-label {
    display: none;
}

.order-summary .cart-qty-input {
    max-width: 75px;
}

.order-summary .cart-remove-check {
    margin-top: .5rem;
}

.order-list-page {
    max-width: 770px;
}

/*MARSHALLTOWN - Grid Order Statuses*/
div.grid-report-item,
span.grid-report-item {
    padding: .2em .6em .3em;
    color: #2e2e2e;
    text-align: center;
    min-width: 150px;
    border: 2px solid;
    font-weight: 500;
}

    /*Pending, Ready to Rate*/
    div.grid-report-item.orange,
    span.grid-report-item.orange {
        border-color: orange;
        color: black;
    }

    /*Processing*/
    div.grid-report-item.blue,
    span.grid-report-item.blue {
        border-color: #00c0ef;
        color: black;
    }

    /*Complete*/
    div.grid-report-item.green,
    span.grid-report-item.green {
        border-color: #00B800;
        color: black;
    }

    /*Canceled*/
    div.grid-report-item.red,
    span.grid-report-item.red {
        border-color: #E57566;
        color: black;
    }

    /*Failed Import, Payment Update Requested*/
    div.grid-report-item.orangered,
    span.grid-report-item.orangered {
        border-color: #FF6933;
        color: black;
    }

    /*None*/
    div.grid-report-item.grey,
    span.grid-report-item.grey {
        border-color: #9C9C9C;
        color: black;
    }

/*----------------------------------------------------
    ORDER DETAILS - ACCOUNTS SECTION
------------------------------------------------------*/

.order-details-header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    align-content: center;
}

.order-details-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
}

    .order-details-section > div {
        min-width: 150px;
    }

.mobile-order-item {
    display: none;
    border: 1px solid #565656;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 4px;
    padding: 10px;
}

/*----------------------------------------------------
    Address - ACCOUNTS SECTION
------------------------------------------------------*/

.address-item {
    padding: .5rem;
    margin: 1rem 0;
    border: 1px solid #004377;
}

/*------------------------------------------------------*/

.list-group-item {
    border-color: #004377;
}

    .list-group-item:last-child {
        margin-bottom: 0;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
    }

    .list-group-item:first-child {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

.cart-product {
    display: flex;
    flex-wrap: wrap;
}

    .cart-product .cart-product-image {
        margin-right: .5rem;
    }

.attributes {
    margin: 5px 0 0 0;
    border-top: 1px solid #dee2e6;
}

    .attributes ul {
        margin-bottom: 0;
    }

    .attributes li {
        margin: 2px;
    }

    .attributes .attribute-name {
        font-weight: 500;
    }

    .attributes .attribute-name,
    .attributes .attribute-value {
        white-space: nowrap;
    }

.order-summary .cart-options,
.order-summary .cart-footer {
    overflow: auto;
}

    .order-summary .cart-options .cart-buttons {
        overflow: auto;
        margin: .5rem 0 1.5rem;
    }

        .order-summary .cart-options .cart-buttons input {
            float: right;
            margin: .5rem 0 .5rem .5rem;
        }

.order-summary .cart-footer {
    border-top: 2px solid #dee2e6;
    padding: 10px 0;
}

    .order-summary .cart-footer .checkout-btn {
        float: right;
    }

    .order-summary .cart-footer .cart-subtotal-checkout,
    .order-summary .cart-footer .cart-update-discard {
        overflow: hidden;
        float: right;
    }

    .order-summary .cart-footer .checkout-buttons {
        float: right;
    }

    .order-summary .cart-footer .cart-subtotal-checkout .checkout-subtotal {
        display: inline-block;
        max-width: 500px;
    }

    .order-summary .cart-footer .cart-update-discard .input-group {
        max-width: 270px;
        float: right;
    }

        .order-summary .cart-footer .cart-update-discard .input-group .btn {
            margin: 0 5px;
        }

    .order-summary .cart-footer .cart-subtotal-checkout .alert,
    .order-summary .cart-footer .cart-update-discard .alert {
        max-width: 435px;
        float: left;
    }

    .order-summary .cart-footer .totals {
        overflow: auto;
    }

        .order-summary .cart-footer .totals .cart-subtotal {
            float: right;
            margin: .5rem;
            font-size: 1.8rem;
        }

            .order-summary .cart-footer .totals .cart-subtotal .cart-subtotal-title {
                font-weight: 600;
                margin-right: .5rem;
            }

.order-summary .discount-messages {
    color: #28a745 !important;
    margin-top: .5rem;
}

.order-summary .shipment-messages {
    color: deepskyblue !important;
    margin-top: .5rem;
}

/** ORDER SUMMARY LINES **/

.order-line,
.order-line-header {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid rgba(0,0,0,.1);
    min-height: 125px;
    color: #595959;
}

.note-Line,
.note-line-header {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px solid rgba(0,0,0,.1);
}

.order-line-header {
    min-height: 0;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 9;
    color: #fff;
    background-color: #343a40;
    border-color: #454d55;
    white-space: nowrap;
}

.note-line-header {
    min-height: unset;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 1000;
    color: #fff;
    white-space: nowrap;
}

.order-line > div,
.order-line-header > div {
    margin: 2px 5px;
    width: 105px;
    padding: .75rem;
}

.order-line .order-line-number,
.order-line-header .order-line-number {
    width: 75px;
}

.order-line .order-line-product,
.order-line-header .order-line-product {
    width: 300px;
    flex-grow: 4;
}

.note-line > div,
.note-line-header > div {
    margin: 2px 5px;
    width: 275px;
}

.note-line .note-line-note,
.note-line .note-line-date {
    width: 275px;
    flex-grow: 4;
}


.checkout-order-line {
    min-height: unset;
}

    .checkout-order-line > div,
    .checkout-order-line-header > div {
        padding: .5rem;
    }

.checkout-order-line-header {
    background-color: #D2D2D2;
    margin-top: 10px;
    border: 1px solid #375370;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    color: #595959;
}

.itemid-partnumber,
.dollar-amount {
    white-space: nowrap;
}

.variant-lookup-add {
    overflow: hidden;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0 0 5px 0;
}

    .variant-lookup-add .add-entry,
    .variant-lookup-add .variant-lookup-add-results {
        min-height: 132px;
        float: left;
        width: 480px;
        margin: 10px 5px 10px 0;
    }

        .variant-lookup-add .add-entry .add-entry-inputs {
            display: flex;
            flex-wrap: wrap;
        }

            .variant-lookup-add .add-entry .add-entry-inputs .add-entry-input {
                width: 140px;
                margin: 2px;
            }

    .variant-lookup-add .variant-overview {
        min-height: 132px;
    }

a[data-toggle="collapse"] {
    position: relative;
}

a.download {
    background: #fff;
    color: #7386D5;
}

a.article,
a.article:hover {
    background: #6d7fcc !important;
    color: #fff !important;
}

.account-nav-header {
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    color: #A60000;
}

/*----------------------------------------------------
    PAYMENTS PAGE - ACCOUNTS SECTION
------------------------------------------------------*/
.invoice-line-header {
    display: flex;
    justify-content: flex-start;
    min-height: 125px;
    min-height: unset;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 1000;
    color: #595959;
    background-color: #f2f2f2;
    white-space: nowrap;
    border: 1px solid #375370;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.invoice-line {
    display: flex;
    justify-content: flex-start;
}

.invoice-detail-line {
    min-height: 75px !important;
}

.invoice-line > div {
    margin: 2px 5px, 0px;
    width: 125px;
    padding: .5rem;
}

.invoice-line .invoice-line-id,
.invoice-line-header .invoice-line-id,
.invoice-line .invoice-line-total,
.invoice-line-header .invoice-line-total {
    margin: 2px 5px;
    width: 175px;
    padding: .5rem;
}

.invoice-line .invoice-line-subtotal,
.invoice-line-header .invoice-line-subtotal,
.invoice-line .invoice-line-cash-discount,
.invoice-line-header .invoice-line-cash-discount {
    margin: 2px 5px;
    width: 175px;
    padding: .5rem;
}

/* ---------------------------------------------------
    LOGIN/REGISTRATION Page
----------------------------------------------------- */
.login-header {
    color: #004377;
    font-weight: 500 !important;
}

.login-success {
    color: #4d4d4d !important;
}

.login-question-text {
    color: #004377 !important;
}

.login-label-wrapper {
    display: table;
    min-height: 28px;
    padding-left: 10px;
}

.ico-help {
    /*display: table-cell;*/
    color: #3c8dbc;
}

.g-recaptcha {
    margin: 10px 0 10px -16px;
}

/* Small adjustments to CAPTCHA */

.captcha-adjustment {
    float: right;
    margin-right: -5px;
}

.add-bullet-points {
    list-style-type: disc;
}

[data-md-tooltip] {
    position: relative;
}

    [data-md-tooltip]:before {
        content: attr(data-md-tooltip);
        position: absolute;
        bottom: 25px;
        left: -210%;
        right: 10px;
        padding: 8px;
        transform: scale(0);
        transition: transform 0.3s ease-in-out;
        transform-origin: top;
        background: white;
        color: black;
        border-radius: 8px;
        border-color: #3c8dbc;
        border-style: solid;
        border-width: thin;
        font-size: 1.1rem;
        font-family: Arial,sans-serif;
        font-weight: 400;
        text-wrap: normal;
        width: 250px;
        white-space: normal;
        line-height: 1.5;
    }

    [data-md-tooltip]:hover:before {
        transform: scale(1);
    }

.privacy-link {
    color: blue;
    cursor: pointer;
    clear: both;
}

/** MINIMUM LAYOUT **/

.minimum-layout .header-logo {
    top: 8px;
    right: 40%;
    width: 240px;
}

.minimum-layout .header-upper {
    height: 60px;
}

.minimum-layout .header-lower {
    height: 45px;
}

/** CHECKOUT **/
/* Checkout Step */
.step-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    background-color: white;
    padding: .325rem 1rem;
    overflow: hidden;
}

.step-section {
    float: left;
    padding-left: 20px;
    padding-right: 20px;
    height: 40px;
    text-align: center;
    font-weight: 600;
}

.step-arrow {
    border-color: #375370 transparent transparent transparent;
    margin: 0 auto 7px;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    width: 0;
    height: 0;
}

.step-padding {
    margin: 0 auto 17px;
}

.unvisited-step {
    color: #4F4F4F;
    font-weight: normal;
}

/** Payment Method **/

.payment-method {
    overflow: hidden;
    width: auto;
    border: 1px solid #dee2e6;
    font-size: 1rem;
    padding: 1rem;
    margin: 0 0 .5rem 0;
    min-height: 75px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

    .payment-method .form-check-label {
        font-size: 1rem;
        font-weight: 500;
        color: #444;
    }

        .payment-method .form-check-label img.card-logo {
            width: 50px;
            float: left;
            margin: -5px 2px;
        }

            .payment-method .form-check-label img.card-logo:first-child {
                margin-left: 20px;
            }

/* Checkout Review and Submit */

.checkout-review div[class^="col-"] {
    padding: 0;
    min-height: 182px;
    border-left: solid 1px #375370;
    border-top: solid 1px #375370;
    border-bottom: solid 1px #375370;
}

.checkout-review .section-header {
    height: 25px;
    background-color: #f2f2f2;
    padding: 2px 5px;
    border-bottom: 1px solid #375370;
    margin-bottom: 10px;
}

.checkout-review div[class^="col-"]:first-child {
    border-bottom-left-radius: 4px;
}

    .checkout-review div[class^="col-"]:first-child,
    .checkout-review div[class^="col-"]:first-child .section-header {
        border-top-left-radius: 4px;
    }

.checkout-review div[class^="col-"]:last-child {
    border-right: solid 1px #375370;
    border-bottom-right-radius: 4px;
}

    .checkout-review div[class^="col-"]:last-child,
    .checkout-review div[class^="col-"]:last-child .section-header {
        border-top-right-radius: 4px;
    }

.checkout-review .section-content {
    margin: 5px;
}

.mif-visa,
.mif-discover,
.mif-amex,
.mif-mastercard {
    font-size: 2.5rem;
    color: #375370;
}

/* Table Like */
.table.order-summary > tbody > tr > td {
    line-height: 0.5;
    border-top: none;
}

.table-like {
    color: #424242;
    display: table;
    border-collapse: collapse;
    page-break-inside: auto;
    width: 100%;
    margin: 0;
    padding: 0;
}

    .table-like .tl-row.tl-header {
        background-color: #d5d5d5 !important;
        margin-top: 10px;
        border: 1px solid #375370;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        font-weight: 500;
        display: table-header-group
    }

    .table-like .tl-row {
        border-bottom: 1px solid #ddd;
        display: table-row;
        page-break-inside: avoid;
        page-break-after: auto
    }

        .table-like .tl-row .tl-cell {
            padding: .5rem;
            display: table-cell;
        }

        .table-like .tl-row:nth-child(odd) {
            background-color: #eee;
        }

ul.leaders {
    width: 100%;
    padding: 0;
    overflow-x: hidden;
    list-style: none;
    font-size: 1.2rem;
}

    ul.leaders li {
        margin: 5px 0;
    }

        ul.leaders li:before {
            float: left;
            width: 0;
            white-space: nowrap;
            content: ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . " ". . . . . . . . . . . . . . . . . . . . ";
        }

    ul.leaders span:first-child {
        padding-right: 0.33em;
        background: white;
    }

    ul.leaders span + span {
        float: right;
        padding-left: 0.33em;
        background: white;
    }

.search-link {
    border-bottom: solid 1px #888;
    padding: 15px 15px 10px 0;
    margin: 0 15px 0 10px;
    text-align: right;
    font-size: 20px !important;
}

    .search-link a {
        display: inline-block;
        position: relative;
        font-size: 1.5rem;
        color: #444;
        -webkit-transition: all 0.1s ease;
        transition: all 0.1s ease;
        font-weight: 600;
    }

        .search-link a:hover,
        .search-link a.active {
            font-weight: 600;
            color: #004377 !important;
        }

.search-results-header {
    font-weight: 600;
    display: inline-block;
}

.search-results-category {
    font-style: italic;
    color: #666 !important;
    font-size: 1.3em;
}

.search-results-pipe {
    color: #666 !important;
    font-size: 1.3em;
    padding-left: 3px;
    padding-right: 3px;
}

.search-results-text {
    color: #444;
}

    .search-results-text a {
        color: #595959 !important;
        font-weight: 600;
    }

.search-results-products-text {
    font-size: 1.2em;
    font-weight: 600; /*BOLD*/
    color: #004377;
}

.search-product-box {
    border: 1px solid #f6f6f6;
    margin: 5px;
    cursor: pointer;
    width: 160px !important;
    height: 160px;
}

    .search-product-box .picture {
        margin: 0 auto;
        width: 100%;
    }

        .search-product-box .picture a img {
            width: 100%;
        }

.card-horizontal {
    display: flex;
    flex: 1 1 auto;
}

.search-image-img {
    width: 150px !important;
    height: 150px;
}

.search-video-overlay {
    position: absolute;
    margin: auto;
    top: 17%;
    left: 3%;
    width: 165px;
    height: 165px;
    padding: .25rem;
    opacity: 30%;
}

.search-display-all {
    display: none;
}

.search-display-fullDesc {
    display: none;
}

.search-card-body {
    cursor: pointer;
}


.pager {
    margin: 20px;
    display: inline-block;
    position: relative;
    float: right;
}

    .pager ul {
        text-align: right;
        font-size: 0;
        margin-bottom: 0;
    }

    .pager li {
        display: inline-block;
        margin: 0 3px;
        vertical-align: top;
    }

        .pager li a,
        .pager li span {
            display: block;
            min-width: 2rem;
            min-height: 2rem;
            border: 1px solid #ddd;
            background-color: #004377;
            color: white;
            padding: .3rem .5rem;
            text-align: center;
            font-size: 1.2rem; /*reset zeroing*/
            font-weight: 600;
            cursor: pointer;
        }

        .pager li span {
            border-color: transparent;
            background-color: #ddd;
            color: #595959;
        }

        .pager li.previous-page *,
        .pager li.next-page *,
        .pager li.first-page *,
        .pager li.last-page * {
            background-position: center;
            background-repeat: no-repeat;
            font-size: 0;
            color: #595959;
        }

        .pager li.previous-page * {
            background-image: url(previous.svg);
            color: white;
        }

        .pager li.next-page * {
            background-image: url(next.svg);
            color: white;
        }

        .pager li.first-page * {
            background-image: url(first_page.svg);
            color: white;
        }

        .pager li.last-page * {
            background-image: url(last_page.svg);
            color: white;
        }

        .pager li a:hover,
        .pager li a:focus {
            box-shadow: 0 0 0 2px #004377;
            background-color: #0056B3;
            color: white !important;
        }

        .pager li.total-summary span {
            background-color: transparent;
            font-weight: 400;
            font-size: 1rem;
        }

/*News Pages*/
.news-items .news-item {
    margin: 0 0 30px;
}

.blog-page .post:after {
    content: "";
    display: block;
    clear: both;
}

.post-title,
.news-title {
    display: inline-block;
    padding: 20px 10px;
    line-height: 20px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #444;
}

    .post-title:hover,
    .news-title:hover {
        color: #4ab2f1;
    }

.post-date,
.news-date {
    display: block;
    margin: 0 0 15px;
    background-color: #f6f6f6;
    padding: 10px;
    font-style: italic;
    color: #444;
}

.post-body,
.news-body {
    margin: 0 0 20px;
    padding: 0 10px;
    line-height: 22px;
}

.material-icons.md-48 {
    font-size: 3rem;
}

/*Needed for iPads to collapse panels*/
.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Opera and Firefox */
    cursor: pointer;
}

.card-border-color {
    border: 1px solid #004377 !important;
}

.mt-loader-icon {
    width: 16px;
    height: 16px;
    background-image: url('../images/ajax-loader-small.gif');
    float: left;
    margin-top: 10px;
}

/** Team MARSHALLTOWN **/

.tm-points {
    font-weight: bold;
    color: #A60000;
}

.tm-reward-points {
    background: linear-gradient(180deg, rgba(0,67,119,1) 0%, rgba(0,44,90,1) 57%, rgba(0,29,70,1) 100%);
    overflow: hidden;
    position: relative;
}

    .tm-reward-points.alternate-background {
        background: white;
        border: 1px solid #dee2e6;
    }

    .tm-reward-points .tm-message-container {
        height: 152px;
        padding-top: 16px;
        background-color: #f2f2f2;
        float: left;
    }

    .tm-reward-points .tm-logo {
        float: left;
    }

    .tm-reward-points .container-fluid {
        float: left;
        max-width: 600px;
        margin-top: 20px;
    }

    .tm-reward-points .tm-member-form {
        background-color: #f2f2f2;
        width: 326px;
        float: left;
        padding: 20px 10px 0;
        height: 152px;
    }

    /*lock specific dimensions if member only box*/
    .tm-reward-points.tm-member {
        width: 371px;
    }

        .tm-reward-points.tm-member .tm-message-container {
            width: 287px;
        }

    .tm-reward-points .tm-points-header {
        color: #004377;
    }

    .tm-reward-points .tm-points {
        margin: 0 0 10px 0;
    }

    .tm-reward-points .tm-points-message {
        font-weight: bold;
        color: #004377;
        margin: 0 0 10px 0;
        display: block;
    }

    .tm-reward-points input[type=number] {
        -moz-appearance: textfield;
    }

    .tm-reward-points input::-webkit-outer-spin-button,
    .tm-reward-points input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

.tm-triangle-left {
    height: 0;
    width: 0;
    border-left: 42px solid transparent;
    border-right: 0 solid #f2f2f2;
    border-bottom: 77px solid #f2f2f2;
    border-top: 75px solid #f2f2f2;
    float: left;
}

.tm-triangle-right {
    height: 0;
    width: 0;
    border-left: 0 solid #f2f2f2;
    border-right: 43px solid transparent;
    border-bottom: 77px solid #f2f2f2;
    border-top: 75px solid #f2f2f2;
    position: absolute;
    right: 0;
}

.tm-triangle-mobile {
    display: none;
}

.tm-points-display {
    border: 2px solid #A60000;
    text-align: center;
}

    .tm-points-display .header {
        color: #A60000;
        font-size: 1.75rem;
        margin-bottom: 5px;
        font-weight: 600
    }

    .tm-points-display .welcome {
        color: #565656;
        font-size: 1.2rem;
        margin-bottom: 5px;
        font-weight: 500;
    }

    .tm-points-display .membership-id {
        font-style: italic;
        font-weight: 400;
        font-size: 1rem;
    }

    .tm-points-display .tm-points {
        background: #A60000;
        color: white;
        padding: .5rem;
        margin: .5rem;
    }

        .tm-points-display .tm-points .points {
            font-size: 3.25rem;
            font-weight: 600;
        }

        .tm-points-display .tm-points .label {
            font-size: 1.75rem;
            font-weight: 600;
        }

.tm-freeshipping-amount {
    color: #004377;
    font-weight: 600;
    font-style: italic;
    font-size: 1rem;
}

.tm-freeshipping-display .tm-freeshipping-continue {
    color: #004377;
    font-weight: 400;
    font-size: .8rem;
    background: transparent;
    border: solid 3px #A60000;
    margin: 2px 0;
    padding: 1px;
    width: 100%;
}

.tm-product-freeshipping .input-group-prepend .input-group-text {
    color: transparent;
    border-color: transparent;
}

.tm-product-freeshipping .form-control {
    border-color: #e9ecef;
    font-size: .9rem;
    font-weight: 500;
    font-style: italic;
    text-align: center;
    border-radius: 0;
}

.meets-prepaid {
    color: #175E28;
}

#free-shipping-notice {
    display: inline;
    color: #004377;
}

    #free-shipping-notice .meets-prepaid {
        color: #175E28;
    }

.tm-logo {
    display: block;
    height: 150px;
    max-width: 200px;
    position: relative;
    overflow: hidden;
}

    .tm-logo img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

@keyframes shine {
    0% {
        top: -120%;
        left: -120%;
    }

    10% {
        left: 100%;
        top: 100%;
    }

    20% {
        left: 100%;
        top: 100%;
    }

    100% {
        left: 100%;
        top: 100%;
    }
}

.tm-info-container {
    width: 100%;
    display: flex;
}

.tm-info-left {
    width: 300px;
}

.tm-info-left-reg {
    height: 100%;
    width: 300px;
    position: relative;
}

.tm-info-right {
    width: 880px;
    padding-left: 25px;
}

    .tm-info-right p {
        font-size: 1.2rem;
        font-weight: 400;
    }

.tm-info-bottom {
    display: none;
}


/*========================*/
/*     MEDIA QUERIES      */
/*========================*/

@media (max-width: 1200px) {
    .product-gallery .thumbnails {
        width: 100%;
    }
}

@media (max-width: 1024px) {
    /** COMMON **/

    .desktop-only {
        display: none;
    }

    .search-box.store-search-box {
        order: 2;
    }

    /** TOP MENU **/
    .menu-toggle {
        display: block;
    }

    .top-menu.mobile {
        width: 320px;
    }

    .top-menu > li {
        position: relative;
        margin: 1px 0;
        background-color: #f6f6f6;
    }

        .top-menu > li > a {
            display: block;
            min-height: 55px;
            padding: 18px;
            font-size: 1.2rem;
            color: #555;
        }

    .top-menu .sublist {
        display: none;
        background-color: #fff;
        padding: 5px 0;
    }

        .top-menu .sublist li {
            position: relative;
            margin: 1px 0 1px 20px;
        }

            .top-menu .sublist li a {
                display: block;
                padding: 15px 18px;
                font-size: 1.2rem;
                width: 80%;
            }

    .sublist-toggle {
        position: absolute;
        top: 0;
        right: 0;
        width: 55px;
        height: 55px;
        border-left: 1px solid black;
        padding: 15px;
        font-size: 1.2rem;
        font-weight: bold;
        color: black;
        text-transform: uppercase;
        cursor: pointer;
        display: block;
    }

    .sublist .sublist-toggle {
        height: 49px;
    }

    .sublist .sublist li {
        background-color: #f6f6f6;
    }

    .sublist .sublist .sublist li {
        background-color: #fff;
    }

    .header-menu ul li:hover > .sublist {
        display: none;
    }

    ul.sublist li:hover > .sublist {
        display: none;
    }

    /** HERO IMAGE **/

    .hero-text {
        top: 55%;
    }

    /** PRODUCT PAGE **/

    #product-details .attributes .input-group > .input-group-prepend > .input-group-text {
        min-width: unset;
    }

    /** SHOPPING CART **/
    .variant-lookup-add .add-entry,
    .variant-lookup-add .variant-lookup-add-results {
        min-height: unset;
    }

    /** MINIMUM LAYOUT **/
    .minimum-layout .header-logo {
        width: 180px;
        top: 10px;
        right: 38%;
        left: unset;
    }
}

@media (max-width: 1220px) {
    /** Team MARSHALLTOWN **/
    .tm-reward-points.tm-guest {
        width: 401px;
        height: 300px;
    }

    .tm-reward-points .tm-member-form {
        width: 100%;
    }

    .tm-triangle-right.tm-triangle-mobile {
        display: block !important;
    }

    .tm-reward-points.tm-guest .tm-triangle-right {
        display: none;
    }

    .tm-info-left-reg {
        width: 240px;
    }
}

@media (max-width: 942px) {
    /** PRODUCT PAGE **/

    .product-page .product-images {
        width: 100%;
        order: 2;
    }

    .product-page #product-details {
        order: 1;
    }

    .product-page .product-tabs {
        order: 3;
    }

    .product-gallery .main-panel {
        min-height: unset;
    }

    .product-gallery .thumb-panel .thumb-images .thumb {
        min-height: unset;
    }

    /** CATEGORY LANDING **/
    .category-page .category-navigation {
        margin-top: 15px;
        border-top: 1px solid black;
        width: 100%;
        order: 2;
    }

    .category-grid-display .page-title h1 {
        font-size: 1.5em;
    }

    /** SHOPPING CART **/
    .order-line, .note-line {
        flex-wrap: wrap;
        justify-content: flex-start;
        border: 1px solid #454d55;
        border-radius: .25rem;
        margin: 5px;
        align-items: center;
        padding: 0;
    }

        .order-line > div {
            padding: .15rem;
        }

        .note-line > div,
        .note-line-header > div {
            width: 175px;
            padding: .15rem;
        }

        .order-line .order-line-number {
            width: 100%;
            color: #fff;
            background-color: #343a40;
            margin: 0;
            padding: 5px;
        }

        .order-line .order-line-product {
            margin: 5px 0;
            border-top: 1px dashed rgba(0,0,0,.1);
            border-bottom: 1px dashed rgba(0,0,0,.1);
        }

        .order-line .mobile-label,
        .note-line .mobile-label,
        .invoice-line .mobile-label {
            display: inline-block;
            font-weight: bold;
        }

    .order-line-header, .note-line-header,
    .invoice-line-header {
        display: none;
    }

    /** CHECKOUT REVIEW **/
    .checkout-order-line {
        margin: 5px 0;
    }

    .footer-social-links {
        width: 100%;
    }

    .footer-new-products {
        float: none;
        clear: both;
        width: 100%;
    }

    /** TEAM MARSHALLTOWN **/
    .tm-reward-points .tm-logo {
        float: none;
    }

    .tm-reward-points .container-fluid {
        float: none;
        max-width: unset;
        margin-top: 5px;
    }

    .tm-info-container {
        display: block;
    }

    .tm-info-left,
    .tm-info-left-reg {
        display: none;
    }

    .tm-info-right {
        width: 100%;
        padding: 0;
    }

        .tm-info-right h1 {
            font-size: 2.2rem;
        }

    .tm-info-bottom {
        display: block;
    }
}

@media (max-width: 1200px) {
    .main-wrapper > nav {
        width: 100%;
        order: 2;
    }
}

@media (max-width: 768px) {
    .footer-block .title:first-child {
        margin-top: 2rem;
    }

    /* ---------------------------------------------------
            MEDIAQUERIES for Sidebar
    ----------------------------------------------------- */
    #sidebar {
        min-width: 80px;
        max-width: 80px;
        text-align: center;
        margin-left: -80px !important;
    }

        #sidebar.active {
            margin-left: 0 !important;
            min-width: 50px;
            max-width: 50px;
            text-align: center;
        }

        #sidebar .sidebar-header h5,
        #sidebar .CTAs {
            display: none;
        }

        #sidebar .sidebar-header strong {
            display: block;
        }

        #sidebar ul li a {
            padding: 20px 10px;
        }

            #sidebar ul li a span {
                font-size: 0.85em;
            }

            #sidebar ul li a i {
                margin-right: 0;
                display: block;
            }

        #sidebar ul ul a {
            padding: 10px !important;
        }

        #sidebar ul li a i {
            font-size: 1.3em;
        }

    #sidebar {
        margin-left: 0;
    }

        #sidebar .sidebarCollapse span {
            display: none;
        }

    /** CHECKOUT REVIEW **/
    .checkout-review div[class^="col-"] {
        border: solid 1px #375370;
        border-radius: 4px;
        margin-top: 10px;
    }

        .checkout-review div[class^="col-"] .section-header {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
        }

    .order-summary-table {
        display: none;
    }

    .mobile-order-item {
        display: block;
    }
}

@media (max-width: 668px) {
    /** HERO IMAGE **/
    .hero-text {
        top: 46%;
    }

    /** FEATURED PRODUCTS **/
    .featured-products {
        width: 100%;
        margin: 0 auto;
    }

        .featured-products > div {
            display: block;
            margin: 5px auto;
            float: none;
        }

    /** SHOPPING CART **/
    .order-summary {
        display: block;
    }

        .order-summary colgroup,
        .order-summary thead {
            display: none;
        }

        .order-summary tbody {
            display: block;
            overflow: hidden;
        }

        .order-summary tr {
            display: block;
            float: left;
            width: 100%;
            margin: 40px 0 0;
            border: 1px solid #ddd;
        }

        .order-summary td {
            display: block;
            border: none;
            padding: 10px;
        }

    .add-multiple-items-nav-item {
        display: none;
    }

    /** VARIANT LOOKUP ADD **/
    .variant-lookup-add {
        flex-wrap: wrap;
    }

        .variant-lookup-add .add-entry,
        .variant-lookup-add .variant-lookup-add-results {
            width: 300px;
            margin: 2px 0;
        }

        .variant-lookup-add .cart-product-image {
            display: none;
        }

    .po-number-label span {
        display: none;
    }

    .po-number-label:after {
        content: "PO #";
    }

    /** MINIMUM LAYOUT **/
    .minimum-layout .header-logo {
        right: 34%;
    }

    ul.leaders {
        font-size: 1rem;
    }

    /** Team MARSHALLTOWN **/
    .tm-reward-points {
        background: #f2f2f2;
        border: 1px solid #dee2e6;
    }

        .tm-reward-points .tm-message-container {
            width: 100%;
            height: unset;
        }

        .tm-reward-points.tm-member .tm-message-container {
            width: 100%;
        }

        .tm-reward-points.tm-member,
        .tm-reward-points.tm-guest {
            width: 320px;
            margin: 10px auto;
            padding: 5px;
        }

            .tm-reward-points.tm-member > div,
            .tm-reward-points.tm-guest > div {
                width: 100%;
            }

    .tm-triangle-right.tm-triangle-mobile,
    .tm-triangle-right,
    .tm-triangle-left {
        display: none !important;
    }

    /** FIX QTY INPUT SIZE **/
    .input-group-lg > .input-group-prepend > .input-group-text,
    .input-group-lg > .input-group-append > .btn,
    .input-group-lg > .form-control {
        font-size: 1rem;
    }

    .tm-product-freeshipping .form-control {
        height: 70px !important;
    }
}

@media (max-width: 414px) {
    .page {
        margin: 0;
    }

    /** HERO IMAGE **/

    .our-hero-text {
        top: 35%;
        right: 15px;
    }

    /** IMAGE WITH BOTTOM BANNER **/
    .image-with-banner .image-banner {
        text-align: left;
        font-size: 1.5em;
        bottom: -22px;
    }

    /** FEATURED **/
    .image-with-banner {
        width: 100%;
    }

        .image-with-banner .image-banner {
            font-size: 1.2em;
            bottom: -20px;
        }

    /** TRUSTED STORE SECTION **/
    .trusted-store .payment-terms,
    .trusted-store .payment-terms a {
        float: left;
    }

        .trusted-store .payment-terms ul li {
            float: left;
            margin: 0 5px 0 0;
        }

    /** PRODUCT PAGE **/

    .product-page #product-details {
        width: 100%;
    }

    /** SHOPPING CART **/
    .order-summary .cart-footer .checkout-btn {
        float: none;
        margin: 5px 0;
    }

    /** MINIMUM LAYOUT **/
    .minimum-layout .header-logo {
        left: 0;
    }

    ul.leaders {
        font-size: 1rem;
    }

    /** Team MARSHALLTOWN **/
    .tm-reward-points.tm-member,
    .tm-reward-points.tm-guest {
        width: 100%;
        margin: 10px 0;
        padding: 2px;
    }

        .tm-reward-points.tm-member > div,
        .tm-reward-points.tm-guest > div {
            width: 100%;
        }
}

@media (max-width: 320px) {
    .captcha-adjustment {
        float: none;
        margin-right: 0;
    }
}

/** POPUP DIALOG ADJUSTMENTS **/
.ui-dialog .ui-dialog-titlebar-close {
    padding: 0;
    height: auto;
}

.ui-dialog-titlebar-close::before {
    content: 'x';
    color: black;
    font-weight: 300;
}

[name*="__privateStripeFrame"] {
    height: calc(1.5em + .75rem + 2px) !important;
}

#card-element {
    padding-top: .6rem;
}

input[type="radio"], input[type="checkbox"] {
    height: 1rem;
    width: 1rem;
}
