/*!
 ***** CypherClean Common StyleSheet
 * Copyright © 2022 nopCypher. Reproduction in whole or in parts is prohibited.
 * 
 */ /*****!

/*********** CSS RESET **********/

.bg-primary {
    background-color: #aaa081 !important;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #aaa081;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0b5ed7;
    --bs-btn-hover-border-color: #0a58ca;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0a58ca;
    --bs-btn-active-border-color: #0a53be;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #0d6efd;
    --bs-btn-disabled-border-color: #0d6efd;
}

.header-logo a img {
    max-width: 100%;
    opacity: 1;
    max-height: 70px;
}

a {
    color: #aaa081;
    text-decoration: underline;
}

* {
    margin: 0;
    outline: none;
    padding: 0;
    text-decoration: none;
}

    *, *:before, *:after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

html {
    margin: 0;
    -webkit-text-size-adjust: none;
}

ol, ul {
    list-style: none;
    padding-left: 0;
}

a img {
    border: none;
}

a {
    text-decoration: none;
    transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
}

    a:focus, a:hover {
        text-decoration: underline;
    }

    a:active {
        outline: none;
    }

input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
    margin: 0;
    border: 0;
    padding: 0;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
    -webkit-appearance: none;
}

input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff;
}

script {
    display: none !important;
}


/*********** GLOBAL STYLES **********/

body {
    max-width: 100%;
    overflow-x: hidden;
    background-color: #fff;
}

.newsletter .alert-danger, .payment-info .alert-danger, .shipping-address-page .alert-danger {
    color: #a94442;
    background-color: transparent;
    border: none;
}

.btn, .form-control {
    font-size: 0.875rem;
}

a {
    cursor: pointer;
}

    a img {
        opacity: 0.99; /*firefox scale bug fix*/
    }

table {
    width: 100%;
    border-collapse: collapse;
}

textarea {
    min-height: 150px !important;
}

select {
    min-width: 50px;
}

input[type="button"], input[type="submit"],
button, .button-1, .button-2 {
    cursor: pointer;
}

.master-wrapper-content, .master-column-wrapper {
    position: relative;
    z-index: 0;
}

    .master-column-wrapper:after {
        content: "";
        display: block;
        clear: both;
    }

.full-wrapper {
    margin: 0 0 50px;
}

.right-side-wrapper, .left-side-wrapper {
    margin: 0 0 50px;
}

    .left-side-wrapper:after {
        content: "";
        display: block;
        clear: both;
    }

.page {
    min-height: 200px;
    text-align: center;
}

.page-title {
    min-height: 50px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ccc;
    padding: 6px 0px;
}

    .page-title h1 {
        font-size: 30px;
        font-weight: normal;
    }

    .page:after,
    .page-title:after,
    .page-body:after {
        content: "";
        display: block;
        clear: both;
    }

.full-wrapper .page-title,
.full-wrapper .title {
    text-align: center;
}

.buttons {
    margin: 0 0 30px;
}

.link-rss {
    display: none;
    width: 24px;
    height: 24px;
    background: url('../images/rss.png') center no-repeat;
    font-size: 0 !important;
}

.category-description ul,
.manufacturer-description ul,
.full-description ul,
.topic-block ul,
.topic-page ul,
.post-body ul {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: disc;
}

.category-description ol,
.manufacturer-description ol,
.full-description ol,
.topic-block ol,
.topic-page ol,
.post-body ol {
    margin: 12px 0;
    padding: 0 0 0 36px;
    list-style: decimal;
}

.category-description p,
.manufacturer-description p,
.full-description p,
.topic-block p,
.topic-page p,
.post-body p,
.news-body p {
    margin: 10px 0;
    text-align: justify;
}

/*********** GLOBAL FORMS ***********/

.fieldset, .section {
    position: relative;
    margin: 0 0 40px;
}

.fieldset {
    margin: 0px;
}

    .fieldset .title,
    .section .title {
        margin: 0 0 15px;
        padding: 0 10px;
        font-size: 20px;
    }

        .fieldset .title strong,
        .section .title strong {
            font-weight: normal;
        }

.form-fields {
    position: relative;
    border-top: 1px solid #ccc;
    padding: 30px 0px;
}

.required {
    margin: 0 0px 0 3px; /*siblings offset*/
    vertical-align: top;
    font-size: 20px;
    font-weight: normal;
    color: #a94442;
}

.message-error,
.field-validation-error,
.username-not-available-status,
.poll-vote-error, .password-error, .field-validation-valid {
    display: block;
    margin-top: 5px;
}

.field-validation-error {
    border: 1px solid transparent;
    background-color: #f2dede;
    border-color: #ebcccc;
    color: #a94442;
    border-radius: 0.25rem;
    margin-bottom: 1rem;
    font-size: 0.85rem;
    padding: 0.25rem 1.25rem;
    display: inline;
    float: left;
    margin-top: 0px;
}

.validation-summary-errors ul {
    margin-bottom: 0;
}

.field-validation-valid,
.username-available-status {
    display: block;
    text-align: center;
    font-size: 13px;
    color: #4cb17c;
}

.captcha-box {
    text-align: center;
    line-height: 0; /*firefox line-height bug fix*/
}

    .captcha-box > div {
        display: inline-block;
        max-width: 100%;
    }

    .captcha-box input {
        height: auto;
    }

/*********** GLOBAL TABLES ***********/

.table-wrapper {
    overflow-x: auto;
}

.forum-table th.replies,
.forum-table th.views,
.forum-table th.votes,
.forum-table th.latest-post,
.forum-table th.topics,
.forum-table th.posts,
.forum-table td.replies,
.forum-table td.views,
.forum-table td.votes,
.forum-table td.latest-post,
.forum-table td.topics,
.forum-table td.posts {
    display: none;
}

.forum-table td.image {
    min-width: 0;
}

.forum-table td {
    min-width: 90px;
}

.cart a,
.data-table a,
.forum-table a {
    font-weight: normal;
}

    .cart a:hover,
    .data-table a:hover,
    .forum-table a:hover {
        text-decoration: underline;
    }

.cart .product,
.data-table .product,
.data-table .message,
.data-table .info,
.data-table .name {
    min-width: 225px;
    text-align: left;
}

.forum-table .forum-details,
.forum-table .topic-details {
    text-align: left;
}

.cart .product a {
    font-weight: bold;
}

    .cart .product a:hover,
    .data-table .product a:hover,
    .data-table .info a:hover {
        text-decoration: none;
    }

.cart .product .edit-item {
    margin: 10px 0 0;
}

    .cart .product .edit-item a {
        font-weight: normal;
    }

        .cart .product .edit-item a:hover {
            text-decoration: underline;
        }

.cart .remove-from-cart,
.cart .add-to-cart,
.data-table .select-boxes,
.data-table .order {
    text-align: center;
}

.cart td.unit-price,
.data-table td.unit-price {
    white-space: nowrap;
}

.cart td.quantity input {
    width: 50px;
    text-align: center;
}

.cart td.subtotal,
.data-table td.total {
    white-space: nowrap;
}

    .cart td.subtotal .discount, .cart td.subtotal .discount-additional-info {
        font-style: italic;
    }

.data-table em a {
    font-weight: bold;
}

.data-table div.download {
    margin: 10px 0 0;
}

.tier-prices table {
    margin-bottom: 0;
}


/*********** NOTIFICATIONS & POPUPS  ***********/

.bar-notification {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    padding: 15px 25px 15px 10px;
    line-height: 16px;
    color: #fff;
    opacity: 0.95;
}

    .bar-notification.success {
        background-color: #4bb07a;
    }

    .bar-notification.error {
        background-color: #e4444c;
    }

    .bar-notification.warning {
        background-color: #f39c12;
    }

    .bar-notification .content {
        margin: 0 0px 10px 0;
        text-align: center;
    }

        .bar-notification .content a {
            color: #fff;
            text-decoration: underline;
        }

    .bar-notification .close {
        position: absolute;
        top: 0;
        right: 0;
        width: 32px;
        height: 32px;
        margin: 7px;
        background: #fff url('../images/close.png') center no-repeat;
        cursor: pointer;
    }

.noscript {
    border-bottom: 1px solid #333;
    background-color: #ff9;
    padding: 30px 15px;
    text-align: center;
    line-height: 22px;
}

.ajax-loading-block-window {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    background: url('../images/loading.gif') center no-repeat;
}

.please-wait {
    background: url('../images/ajax-loader-small.gif') no-repeat;
    padding-left: 20px;
    font-size: 14px;
}

.ui-dialog {
    max-width: 90%;
    border: 1px solid #ddd;
    box-shadow: 0 0 2px rgba(0,0,0,0.15);
    overflow: hidden;
    background-color: #fff;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-radius: 0;
    padding: 0;
}

    .ui-dialog:before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.5);
    }

.ui-dialog-titlebar {
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    background-color: #eee;
    padding: 10px 15px;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-width: 0 0 1px;
    border-radius: 0;
    background-image: none;
    padding: 10px 15px !important;
    font-weight: normal;
    cursor: auto !important;
}

    .ui-dialog-titlebar > span {
        float: left;
        font-size: 18px;
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 !important;
    }

    .ui-dialog-titlebar button {
        position: absolute;
        top: 0;
        right: 0;
        width: 42px;
        height: 42px;
        border: none;
        overflow: hidden;
        background: url('../images/close.png') center no-repeat;
        font-size: 0;
        /*override jQuery UI styles, do not delete doubled properties*/
        top: 0 !important;
        right: 0 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0;
        background: url('../images/close.png') center no-repeat !important;
        padding: 0 !important;
        outline: none !important;
    }

        .ui-dialog-titlebar button span {
            display: none !important;
        }

.ui-dialog-content {
    padding: 15px;
    line-height: 20px;
    /*override jQuery UI styles, do not delete doubled properties*/
    background-color: #fff !important;
    padding: 15px 15px 20px 15px !important;
}

    .ui-dialog-content .page {
        min-height: 0;
    }

    .ui-dialog-content .page-title {
        min-height: 0;
        margin: 0 0 15px;
        padding: 0px 10px 10px 10px;
        text-align: center;
    }

        .ui-dialog-content .page-title h1 {
            font-size: 24px;
            line-height: 30px;
        }

    .ui-dialog-content .back-in-stock-subscription-page {
        text-align: center;
    }

        .ui-dialog-content .back-in-stock-subscription-page .backinstocktooltip {
            margin-bottom: 10px;
        }

        .ui-dialog-content .back-in-stock-subscription-page .button-1 {
            border: none;
            padding: 10px 15px;
            font-size: 15px;
            color: #fff;
            text-transform: uppercase;
        }

        .ui-dialog-content .back-in-stock-subscription-page .tooltip {
            margin-bottom: 10px;
        }

.tooltip {
    position: initial;
    display: inline-block;
    color: #212529;
    opacity: 1;
}

.eu-cookie-bar-notification {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1050;
    width: 320px;
    margin: -90px 0 0 -160px;
    border: 1px solid #ccc;
    box-shadow: 0 0 2px rgba(0,0,0,0.15);
    background-color: #fff;
    padding: 20px;
    text-align: center;
}

    .eu-cookie-bar-notification .text {
        margin-bottom: 20px;
        line-height: 20px;
    }

    .eu-cookie-bar-notification button {
        min-width: 60px;
        margin: 5px 0 10px;
        border: none;
        padding: 8px 12px;
        font-size: 14px;
        color: #fff;
    }

    .eu-cookie-bar-notification a {
        display: block;
    }

        .eu-cookie-bar-notification a:hover {
            text-decoration: underline;
        }

.estimate-shipping-popup-zoom-in.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1);
}

.estimate-shipping-popup-zoom-in .mfp-with-anim {
    opacity: 0;
    transition: all 0.2s ease-in-out;
    transform: scale(0.8);
}

.estimate-shipping-popup {
    position: relative;
    background: #FFF;
    padding: 25px 10px;
    width: auto;
    max-width: 800px;
    margin: 0 auto;
}

.ship-to-title {
    margin-bottom: 10px;
}

.estimate-shipping-row {
    display: flex;
    display: -webkit-flex;
    align-items: center;
}

.estimate-shipping-row-item {
    flex: 0 1 100%;
}

.estimate-shipping-row {
    display: flex;
    display: -webkit-flex;
    align-items: center;
}

.estimate-shipping-address-control {
    width: 100%;
    height: 41px;
}

.estimate-shipping-row-item.address-item select, .estimate-shipping-row-item.address-item input {
    height: 41px;
    border: 1px solid #ddd;
    padding: 8px;
    vertical-align: middle;
}

.choose-shipping-title {
    margin-top: 20px;
}

.shipping-options {
    position: relative;
    z-index: 1;
    overflow: hidden;
    overflow-y: auto;
    max-height: 200px;
    background: #FFF no-repeat;
    background-image: -webkit-radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), -webkit-radial-gradient(50% 100%, farthest-side, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0));
    background-image: -moz-radial-gradient(50% 0, farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), -moz-radial-gradient(50% 100%, farthest-side, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0));
    background-image: radial-gradient(farthest-side at 50% 0, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 50% 100%, rgba(242, 242, 242, 1), rgba(0, 0, 0, 0));
    background-position: 0 0, 0 100%;
    background-size: 100% 7px;
}

.apply-shipping-button-container {
    margin-top: 15px;
    text-align: center;
}

.apply-shipping-button {
    border: none;
    padding: 8px 25px;
    background-color: #007bff;
    color: #fff;
}

.estimate-shipping-popup .message-failure {
    margin: 5px 0 -5px;
    font-size: 12px;
    color: #e4434b;
}

.shipping-options-header {
    top: 0;
    z-index: 1;
    position: sticky;
    background-color: #fff;
}

.estimate-shipping-row-item-radio {
    flex: 0 0 35px;
}

.estimate-shipping-row-item.shipping-header-item {
    padding: 12px 0;
    border-bottom: 1px solid #f2f2f2;
    align-self: flex-end;
}

.estimate-shipping-row-item.shipping-item {
    padding: 8px 0;
    overflow: hidden;
    overflow-wrap: break-word;
}

.estimate-shipping-row-item + .estimate-shipping-row-item {
    padding-left: 10px;
}

.estimate-shipping-row.shipping-option.active {
    font-weight: 700;
}

.estimate-shipping-row.shipping-option {
    cursor: pointer;
}

@media (min-width: 481px) {
    .estimate-shipping-popup {
        padding: 25px;
    }
}

.product-estimate-shipping .shipping-title {
    font-size: 16px;
    font-weight: bold;
    color: #212529;
    margin-bottom: 5px;
    justify-content: center;
}

.product-estimate-shipping .shipping-address {
    font-size: 14px;
    font-weight: normal;
    color: #212529;
    margin-bottom: 15px;
}

.open-estimate-shipping-popup:hover {
    text-decoration: none;
    color: #212529;
}

.open-estimate-shipping-popup {
    color: #212529;
    margin-bottom: 15px;
    display: block;
}

.product-estimate-shipping .open-estimate-shipping-popup .arrow-down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin: 0 0 3px 6px;
    border: solid black;
    border-width: 0 1px 1px 0;
    display: inline-block;
    padding: 3px;
}

.product-estimate-shipping .shipping-title .shipping-price {
    margin-left: 5px;
    vertical-align: middle;
}
/*********** HEADER ***********/
.navbar-inverse .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 1);
}

.navbar {
    padding: 0;
}

.navbar-toggleable-md .navbar-nav .nav-item > .nav-link {
    padding: 1em;
}

.navbar-toggleable-md > .navbar-nav > .nav-item > .nav-link > i {
    display: none;
}

.header .nav-item {
    position: relative;
}

.header .header-menu .navbar .nav-item .dropdown-menu li a {
    color: #444;
}

.header .header-menu .navbar .navbar-nav > .nav-item > .dropdown-menu {
    top: 53px;
}

.header .header-menu .navbar .navbar-nav .nav-item .dropdown-menu .sublist.dropdown-menu {
    top: 10px;
    left: 99% !important;
}

.header-menu .sublist li a::before {
    border-radius: 100%;
    background-color: #444;
}

.admin-header-links {
    background-color: #d5d5d5;
    text-align: center;
}

    .admin-header-links * {
        display: inline-block;
        margin: 0 10px;
        line-height: 35px;
        font-size: 12px;
        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;
            }

.header {
    position: relative;
    z-index: 10;
    width: 95%;
    margin: auto;
    text-align: center;
}

.header-upper {
    position: relative;
    z-index: 99;
}

.header-selectors-wrapper {
    border-bottom: 1px solid #ddd;
}

    .header-selectors-wrapper > div {
        display: block;
        width: 50%;
        margin: 10px auto;
        vertical-align: middle;
    }

    .header-selectors-wrapper select {
        width: 100%;
    }

.language-list {
    max-width: 100%;
    font-size: 0;
}

    .language-list li {
        display: inline-block;
        margin: 0 1px;
        vertical-align: middle;
    }

    .language-list a {
        display: block;
        position: relative;
        width: 24px;
        height: 32px;
        line-height: 0;
    }

    .language-list img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }

.header-links-wrapper {
    position: relative;
}

.header-links ul {
    font-size: 0;
}

.header-links li {
    margin: 0 10px;
}

.header-links span,
.header-links a {
    display: inline-block;
    font-size: 12px; /*reset zeroing*/
    line-height: 36px;
    text-transform: uppercase;
}

    .header-links a:hover {
        text-decoration: none;
    }

#topcartlink {
    display: block;
    width: 70%;
    max-width: 400px;
    margin: 10px auto 0;
    padding: 0 20px;
}

    #topcartlink a i {
        padding: 0px 5px 0px 0px;
        font-size: 16px;
    }

.header-lower {
    position: relative;
    z-index: 9;
    padding: 20px 0;
}

.header-logo {
    text-align: center;
}

    .header-logo a {
        display: inline-block;
        max-width: 100%;
        line-height: 0; /*firefox line-height bug fix*/
    }

        .header-logo a img {
            max-width: 100%;
            opacity: 1;
        }

.search-box form {
    display: inline-block;
}

    .search-box form:after {
        content: "";
        display: block;
        clear: both;
    }

.search-box input.search-box-text {
    float: left;
    width: 200px;
    height: 36px;
    margin: 0 -1px 0 0;
    border-radius: 0;
}

.search-box .search-box-button {
    float: left;
    min-width: 86px;
    height: 36px;
    border: none;
    padding: 0 15px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    font-size: 0.85em;
    border-radius: 0;
}

.search-box .ui-autocomplete-loading {
    background: #fff url('../images/ajax-loader-small.gif') right center no-repeat;
}

.ui-helper-hidden-accessible {
    display: none !important;
}

.ui-autocomplete {
    width: 285px !important;
    border: 1px solid #ddd;
    border-top: none;
    overflow: hidden;
    background-color: #fff;
    text-align: left;
    /*override jQuery UI styles, do not delete doubled properties*/
    border-radius: 0;
    padding: 0;
}

    .ui-autocomplete li {
        border-top: 1px solid #ddd;
    }

        .ui-autocomplete li:first-child {
            border-top: none;
        }

    .ui-autocomplete a {
        display: block;
        padding: 15px;
        font-size: 14px;
        /*override jQuery UI styles, do not delete doubled properties*/
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: none !important;
        padding: 15px !important;
        line-height: normal !important;
        color: #777 !important;
    }

        .ui-autocomplete a:hover,
        .ui-autocomplete a.ui-state-focus {
            background-color: #f6f6f6 !important;
        }

    .ui-autocomplete img {
        display: none;
        min-width: 20px;
        margin: 0 10px 0 0;
        vertical-align: middle;
    }


/*********** FOOTER ***********/

footer {
    background-color: #eee;
    text-align: center;
}

.footer-upper {
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    padding: 40px 0;
    font-size: 0;
}

.footer-block {
    margin: 1px auto;
    text-align: left;
    font-size: 14px; /*reset zeroing*/
}

    .footer-block .title {
        margin: 0 0 1px;
        background: #007bff url('../images/toggle-white.png') right center no-repeat;
        padding: 10px 15px;
        font-size: 20px;
        color: #fff;
        cursor: pointer;
    }

        .footer-block .title strong {
            font-weight: normal;
        }

    .footer-block .list {
        display: none;
        margin: 0 0 20px;
        background-color: #fff;
        padding: 10px 15px;
    }

        .footer-block .list a {
            display: block;
            padding: 10px 15px;
            line-height: 20px;
            color: #444;
        }

            .footer-block .list a:hover {
                color: #000;
            }

.follow-us .title {
    margin: 0 0 10px;
    background: none;
    cursor: auto;
}

.follow-us .social ul {
    margin: 0 0 30px;
}

.follow-us .social li {
    display: inline-block;
    margin: 0 5px;
}

.follow-us .social a {
    display: block;
    width: 25px;
    height: 25px;
}

    .follow-us .social a i {
        font-size: 1.5rem;
        color: #444;
        transition: all 0.3s ease-in-out 0s;
        -webkit-transition: all 0.3s ease-in-out 0s;
        -moz-transition: all 0.3s ease-in-out 0s;
        -o-transition: all 0.3s ease-in-out 0s;
    }

    .follow-us .social a:hover i {
        color: #000;
    }

.newsletter-email {
    display: inline-block;
    overflow: hidden;
}

    .newsletter-email input[type="text"] {
        float: left;
        width: 180px;
        height: 36px;
        margin: 0 -1px 0 0;
    }

.newsletter-subscribe-button {
    float: left;
    height: 36px;
    border: none;
    padding: 0 15px;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
}

.newsletter-email .options {
    clear: both;
    padding: 10px 0 0;
    margin-left: 5px;
}

.newsletter-validation,
.newsletter-result {
    width: 100%;
    overflow: hidden;
    padding: 0;
    margin-top: 5px;
}

.footer-lower {
    overflow: hidden;
    padding: 25px 0;
    font-size: 12px;
}

.footer-tax-shipping a {
    font-weight: bold;
}

    .footer-tax-shipping a:hover {
        text-decoration: underline;
    }

.footer-powered-by {
    margin: 10px 0 0;
}

    .footer-powered-by a {
        font-weight: bold;
    }

        .footer-powered-by a:hover {
            text-decoration: underline;
        }

.theme-selector {
    margin: 10px 0 0;
}

    .theme-selector select {
        width: 170px;
    }


/*********** SIDE COLUMN ***********/

.block {
    max-width: 100%; /*width limit in mobile*/
    min-height: 50px;
    margin: auto;
    text-align: left;
}

    .block .title strong {
        font-weight: normal;
    }

    .block .card-header h4 {
        margin-bottom: 0;
        font-size: 1.4rem;
    }

    .block .listbox {
        display: none;
        border-bottom: 1px solid #ddd;
        padding: 0px;
    }

        .block .listbox .list-group-item.active {
            background-color: transparent;
            border-color: #ddd;
        }

    .block > .listbox > .list-group-item:first-child {
        margin-top: -1px;
    }

    .block .list li {
        padding: 5px 0 5px 15px;
    }

    .block .list a {
        display: inline-block;
        position: relative;
        padding: 5px 0;
        width: 30%;
        font-size: 16px;
        -webkit-transition: all 0.1s ease;
        transition: all 0.1s ease;
    }

        .block .list a:before {
            content: "";
            position: absolute;
            top: 12px;
            left: -15px;
            width: 5px;
            height: 5px;
            background-color: #ddd;
        }

    .block a.product-picture:before {
        display: none;
    }

    .block .sublist {
        margin: 0;
        float: left;
        width: 100%;
    }

        .block .sublist a {
            font-size: 14px;
            float: left;
            width: 100%;
        }

    .block .listbox .list-group-item {
        padding: 0;
    }

        .block .listbox .list-group-item a {
            padding: 0.75rem 1.25rem;
            width: 100%;
        }

    .block .listbox .sublist .list-group-item a {
        padding: 0.75rem 1rem 0.75rem 2.5rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item a {
        padding: 0.75rem 1rem 0.75rem 3rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item a {
        padding: 0.75rem 1rem 0.75rem 3.5rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item a {
        padding: 0.75rem 1rem 0.75rem 4rem;
    }

    .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item a {
        padding: 0.75rem 1rem 0.75rem 4.5rem;
    }

    .block .listbox .list-group-item.active > a, .block .listbox .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item.active > a, .block .listbox .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item .sublist .list-group-item.active > a {
        font-weight: 700;
        background: #f5f5f5;
    }

    .block .view-all {
        margin: 1rem 0 0;
    }

        .block .view-all a {
            display: inline-block;
            margin-left: 1.25rem;
            margin-bottom: 1rem;
        }

    .block .tags {
        margin: 5px 0 10px;
    }

        .block .tags ul {
            font-size: 0;
        }

        .block .tags li,
        .product-tags-all-page li {
            display: inline-block;
            position: relative;
            margin: 0px 10px 0px 20px;
            overflow: hidden;
            font-size: 17px !important; /*setting base size*/
        }

            .block .tags li a,
            .product-tags-all-page li a {
                float: left;
                line-height: 30px;
            }

.poll strong {
    display: block;
    margin: 10px 0;
    background-color: #f6f6f6;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: normal;
    text-transform: uppercase;
}

.poll-options,
.poll-results {
    margin: 10px 0 15px;
    overflow: hidden;
    font-size: 15px;
}

    .poll-options li,
    .poll-results li {
        margin: 10px 0;
    }

        .poll-options li > input {
            margin: -5px 5px 0 0;
            cursor: pointer;
        }

        .poll-options li > label {
            display: inline-block;
            font-size: 16px;
            cursor: pointer;
        }

.poll-total-votes {
    display: block;
    margin: 10px 0 0;
    font-weight: bold;
    font-style: italic;
}

.block.block-poll.card .listbox {
    padding: 0px 20px 20px;
}

    .block.block-poll.card .listbox .poll strong {
        padding: 10px 5px;
        font-size: 14px;
    }

    .block.block-poll.card .listbox .buttons {
        margin: 0px;
    }

.home-page-polls {
    text-align: center;
}

    .home-page-polls .title {
        border-bottom: 1px solid #ddd;
        font-size: 30px;
        font-weight: normal;
        margin: 0 0 30px;
        padding: 0 0 15px;
    }

        .home-page-polls .title strong {
            font-weight: normal;
        }

    .home-page-polls li {
        display: inline-block;
        margin: 10px;
    }

.product-grid.home-page-product-grid, .product-grid.bestsellers, .home-page .news-list-homepage {
    margin-bottom: 40px;
}

.theme-custom {
    max-width: 100% !important;
    margin-top: 0px !important;
}

.left-side-wrapper .poll-options li > label {
    margin-left: 0.3rem;
}

.left-side-wrapper .poll-options li {
    margin: 0;
}


/********** CATEGORY PAGE **********/

.breadcrumb {
    margin-bottom: 2rem;
}

    .breadcrumb ul {
        font-size: 0;
    }

    .breadcrumb li {
        display: inline-block;
    }

        .breadcrumb li * {
            display: inline-block;
            font-size: 14px; /*reset zeroing*/
            line-height: 32px;
        }

    .breadcrumb strong {
        font-weight: normal;
    }

    .breadcrumb li a:hover {
        text-decoration: underline;
    }

.category-description,
.manufacturer-description,
.vendor-description {
    margin: 0 0 25px;
    line-height: 22px;
}

.contact-vendor {
    margin: 0 0 30px;
}

    .contact-vendor .button-2 {
        border: none;
        padding: 10px 15px;
        font-size: 14px;
        color: #fff;
        text-transform: uppercase;
    }

.product-selectors {
    margin: 0 0 20px;
    background: #f0f0f0;
    padding: 10px 0;
    float: left;
    width: 100%;
    border: 1px solid #ddd;
}

    .product-selectors:after {
        content: "";
        display: block;
        clear: both;
    }

    .product-selectors > div {
        display: inline-block;
    }

    .product-selectors span {
        vertical-align: middle;
        font-size: 16px;
    }

    .product-selectors .product-viewmode {
        display: none;
    }

        .product-selectors .product-viewmode span {
            display: none;
        }

.product-filters {
    display: table;
    width: 100%;
    margin: -20px 0 20px;
}

.product-filter {
    margin: 0 0 20px;
    border: 1px solid #ddd;
}

    .product-filter .filter-title {
        margin: 0 0 10px;
        background-color: #f0f0f0;
        padding: 10px;
        font-size: 17px;
        border-bottom: 1px solid #ddd;
    }

        .product-filter .filter-title strong {
            font-weight: normal;
        }

    .product-filter .filter-content {
        padding: 10px;
    }

.price-range-filter .selected-price-range .to {
    float: right;
}

.product-filter .group .item + .item {
    padding-top: 8px;
}

.product-manufacturer-filter {
    margin: 0;
}

.product-filter .available-items:after {
    content: "";
    display: block;
    clear: both;
}

.product-filter .group {
    margin: 0 0 10px;
}

    .product-filter .group li {
        font-size: 15px;
    }

        .product-filter .group li a,
        .product-filter .group li strong {
            display: inline-block;
            padding: 5px 0;
        }

        .product-filter .group li.item {
            display: inline-block;
            position: relative;
            margin: 0 15px 0 0;
        }

        .product-filter .group li.color-item {
            padding: 0;
            display: inline-block;
            height: 32px;
            margin-right: 5px;
        }

            .product-filter .group li.color-item a {
                padding: 0;
            }

            .product-filter .group li.color-item:before {
                display: none;
            }

            .product-filter .group li.color-item a:hover {
                text-decoration: none;
            }

.product-filters .product-spec-color label.attribute-squares {
    padding-left: 0;
    font-size: 0;
}

    .product-filters .product-spec-color label.attribute-squares.color-squares:before {
        position: absolute;
        content: '';
        left: 12px;
        top: 13px;
        transform: translateY(-50%) rotate( 45deg );
        z-index: 9;
        width: 7px;
        height: 16px;
        opacity: 0;
        border: 1px solid #ffffff;
    }

.product-filters .product-spec-color [type="checkbox"]:checked + label:before {
    opacity: 1;
    border-top-color: transparent;
    border-left-color: transparent;
}

.group.product-spec-group.product-spec-color input[type="checkbox"] {
    display: none;
}

.filtered-items .title {
    margin: 0 0 5px;
    font-style: italic;
}

.remove-filter {
    margin: 15px 0;
}

    .remove-filter a {
        display: inline-block;
        padding: 10px 20px;
        text-transform: uppercase;
    }

.item-box .card-body {
    padding: 0.5rem;
}

.item-grid:after {
    content: "";
    display: block;
    clear: both;
}

.item-grid {
    width: 100%;
}

.item-box {
    position: relative;
    float: left;
    margin: 0 0 30px;
    text-align: left;
}

    .item-box .picture {
        z-index: 1;
        overflow: hidden;
        background-color: #fff;
        margin: 0 0 20px;
    }

        .item-box .picture a {
            display: block;
            position: relative;
        }

            .item-box .picture a:before {
                content: "";
                display: block;
                padding-top: 100%;
            }

            .item-box .picture a img {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                max-width: 100%;
                max-height: 100%;
                margin: auto;
                -webkit-transition: all 0.3s ease;
                transition: all 0.3s ease;
                -webkit-transform: translateZ(0) scale(1.0, 1.0);
            }

    .item-box:hover .picture a img {
        opacity: 0.85;
    }

    .item-box .product-title {
        margin: 0 0 10px;
        overflow: hidden;
        font-size: 17px;
        line-height: 1.2;
        font-weight: normal;
    }

        .item-box .product-title a {
            display: block;
        }

    .item-box .sku {
        margin: 0 0 15px;
    }

    .item-box .product-rating-box {
        display: inline-block;
        margin: 0 0 10px;
    }

    .item-box .rating {
        background: url('../images/rating1.png') repeat-x;
        width: 95px;
        height: 14px;
    }

        .item-box .rating div {
            background: url('../images/rating2.png') repeat-x;
            height: 14px;
        }

    .item-box .description {
        display: none;
    }

        .item-box .description a {
            display: block;
            overflow: hidden;
        }

    .item-box .prices {
        margin: 0 0 10px;
        overflow: hidden;
    }

    .item-box .old-price {
        margin: 0 5px 0 0;
        font-size: 16px;
        color: #aaa;
        text-decoration: line-through;
    }

    .item-box .actual-price {
        margin: 0 5px 0 0;
        font-size: 16px;
    }

    .item-box .tax-shipping-info a:hover {
        text-decoration: underline;
    }

    .item-box .buttons {
        margin: 0;
        font-size: 0;
    }

    .item-box button[type="button"] {
        display: inline-block;
        height: 40px;
        border: none;
        vertical-align: middle;
    }

    .item-box .product-box-add-to-cart-button {
        width: 60%;
        text-align: center;
        font-size: 13px;
        color: #fff;
        text-transform: uppercase;
    }

    .item-box .add-to-compare-list-button,
    .item-box .add-to-wishlist-button {
        width: 20%;
        border-left: 1px solid #fff !important;
        background-color: #eaeaea;
        background-position: center;
        background-repeat: no-repeat;
        font-size: 0;
        border-radius: 0.25rem;
        -moz-border-radius: 0.25rem;
        -webkit-border-radius: 0.25rem;
    }

    .item-box .add-to-compare-list-button {
        background-image: url('../images/compare-button.png');
        background-position: center 13px;
        background-color: #6c757d;
        transition: all 0.3s ease-in-out 0s;
        -webkit-transition: all 0.3s ease-in-out 0s;
        -moz-transition: all 0.3s ease-in-out 0s;
        -o-transition: all 0.3s ease-in-out 0s;
    }

    .item-box .add-to-wishlist-button {
        background-image: url('../images/wishlist-button.png');
        background-position: center 14px;
        background-color: #6c757d;
        transition: all 0.3s ease-in-out 0s;
        -webkit-transition: all 0.3s ease-in-out 0s;
        -moz-transition: all 0.3s ease-in-out 0s;
        -o-transition: all 0.3s ease-in-out 0s;
    }

        .item-box .add-to-compare-list-button:hover,
        .item-box .add-to-wishlist-button:hover {
            background-color: #5a6268;
        }

.home-page-category-grid,
.sub-category-grid,
.manufacturer-grid,
.vendor-grid {
    margin: 0 0 20px;
}

    .home-page-category-grid .title,
    .sub-category-grid .title {
        text-align: center;
        font-size: 22px;
        font-weight: normal;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

        .home-page-category-grid .title a,
        .sub-category-grid .title a {
            display: block;
            padding: 0 0 15px;
        }

    .home-page-category-grid .picture,
    .sub-category-grid .picture {
        margin: 0;
    }

        .home-page-category-grid .picture a:before,
        .sub-category-grid .picture a:before {
            padding-top: 65%;
        }

.product-grid,
.product-list {
    margin: 0 0 30px;
}

    .product-grid .title {
        margin: 0 0 30px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 15px;
        font-size: 30px;
        font-weight: normal;
    }

        .product-grid .title strong {
            font-weight: normal;
        }

.manufacturer-grid .title {
    margin: 0 0 0.5rem;
    text-align: center;
    font-size: 22px;
}

.vendor-grid .title {
    margin: 0 0 0.5rem;
    text-align: center;
    font-size: 22px;
}

.pagination ul li {
    float: left;
    margin-bottom: 5px;
}

    .pagination ul li a, .pagination ul li span {
        background-color: #fff;
        border: 1px solid #ddd;
        color: #007bff;
        display: block;
        line-height: 1.25;
        margin-left: -1px;
        padding: 0.5rem 0.75rem;
        position: relative;
    }

    .pagination ul li.current-page span {
        background-color: #007bff;
        border-color: #007bff;
        color: #fff;
        z-index: 2;
    }

    .pagination ul li a:focus, .pagination ul li a:hover {
        background-color: #eceeef;
        border-color: #ddd;
        color: #014c8c;
        text-decoration: none;
    }

.sr-only {
    border: 0 none;
    clip: rect(0px, 0px, 0px, 0px);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.pagination .previous-page a, .pagination .first-page a {
    border-bottom-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
    margin-left: 0;
}

.pagination .next-page a, .pagination .last-page a {
    border-bottom-right-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
    margin-left: 0;
}

.previous-page, .last-page, .next-page {
    margin-left: -1px;
}

.search-products, .manufacturer-products, .vender-products, .producttags-products {
    clear: both;
}

.alert {
    padding: 0.25rem 1.25rem;
    font-size: 0.85rem;
}


/********** PRODUCT PAGE **********/


.product-essential {
    padding: 0 0 10px;
}

    .product-essential:after {
        content: "";
        display: block;
        clear: both;
    }

.gallery {
    margin: 0 auto 50px;
}

    .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: 14px;
            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: 30px;
            font-weight: normal;
        }

    .overview .short-description {
        margin: 0 0 25px;
        line-height: 22px;
    }

.product-no-reviews,
.product-reviews-overview {
    margin: 0 0 25px;
}

    .product-no-reviews a {
        text-decoration: underline;
    }

.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;
            font-size: 0;
            line-height: 0;
        }

.product-review-links a {
    text-decoration: underline;
}

.overview .value a:hover,
.variant-overview .value a:hover {
    text-decoration: underline;
}

.overview-buttons {
    margin: 0 0 25px;
    font-size: 0;
}

    .overview-buttons div {
        width: 80%;
        margin: 0 auto 10px;
    }

        .overview-buttons div:last-child {
            margin-right: 0;
        }

.overview .button-2,
.variant-overview .button-2 {
    display: block;
    width: 100%;
    background-position: left center;
    background-repeat: no-repeat;
    padding: 12px 8px 12px 33px;
    text-align: left;
    font-size: 14px; /*reset zeroing*/
}

.btn.btn-secondary.subscribe-button, .btn.btn-secondary.download-sample-button {
    background-position: 15px 15px;
}

.btn.btn-secondary.download-sample-button {
    padding: 12px 15px 12px 40px;
}

.overview .add-to-compare-list-button {
    background-image: url('../images/compare-button.png');
    background-position: 10px 17px;
    text-transform: uppercase;
    margin-right: 5px;
}

.overview .email-a-friend-button {
    background-image: url('../images/email-button.png');
    background-position: 10px 16px;
    text-transform: uppercase;
}

.overview .subscribe-button,
.variant-overview .subscribe-button {
    background-image: url('../images/email-button.png');
    padding: 12px 10px 12px 40px;
}

.overview .download-sample-button,
.variant-overview .download-sample-button {
    background-image: url('../images/download-button.png');
}

.contact-page .fieldset {
    margin-top: 30px;
}

.overview .add-to-wishlist-button,
.variant-overview .add-to-wishlist-button {
    background-image: url('../images/wishlist-button.png');
    background-position: 12px 15px;
    text-transform: uppercase;
    margin-right: 5px;
}

.product-details-page .tab-content, .profile-page .tab-content {
    padding: 15px;
    border: 1px solid #ddd;
    margin-top: -1px;
}

.nav-tabs .nav-link {
    text-transform: capitalize;
}

.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: 0px;
    }

    .overview .availability .back-in-stock-subscription,
    .variant-overview .availability .back-in-stock-subscription {
        display: inline-block;
        margin-top: 20px;
    }

.overview .additional-details,
.variant-overview .additional-details {
    margin: 0 0 20px;
}

    .overview .additional-details div,
    .variant-overview .additional-details div {
        margin: 0 0 20px;
    }

.overview .delivery,
.variant-overview .delivery {
    margin: 25px 0;
    overflow: hidden;
}

.overview .free-shipping,
.variant-overview .free-shipping {
    display: inline-block;
    margin: 0 0 20px;
    font-weight: bold;
}

.overview .min-qty-notification,
.variant-overview .min-qty-notification {
    margin: 10px 0;
    font-style: italic;
}

.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 > span,
    .variant-overview .prices > div > span {
        margin-bottom: 0.5rem;
        vertical-align: inherit;
    }

.overview .old-product-price,
.variant-overview .old-product-price,
.overview .non-discounted-price,
.variant-overview .non-discounted-price {
    font-size: 14px;
    text-decoration: line-through;
}

.overview .product-price,
.variant-overview .product-price {
    font-size: 22px;
    font-weight: bold;
}

.overview .tax-shipping-info a:hover,
.variant-overview .tax-shipping-info a:hover {
    text-decoration: underline;
}

.customer-entered-price {
    margin: 0 0 20px;
    overflow: hidden;
}

    .customer-entered-price .price-input input {
        width: 170px;
        text-align: center;
    }

    .customer-entered-price .price-range {
        margin: 5px 0 0;
    }

.overview .label, .variant-overview .label, .attributes .col-form-label, .giftcard .col-form-label {
    color: #666;
}

.tier-prices {
    margin: 0 0 20px;
}

    .tier-prices .title {
        display: none;
    }

    .tier-prices .item-price {
        font-size: 16px;
    }

.overview .add-to-cart {
    margin: 0 0 20px;
}

.overview .add-to-cart-panel,
.variant-overview .add-to-cart-panel {
    display: inline-block;
    position: relative;
    width: 100%;
}

    .overview .add-to-cart-panel > *,
    .variant-overview .add-to-cart-panel > * {
        float: left;
    }

.overview .qty-input,
.variant-overview .qty-input {
    width: 45px;
    height: 43px;
    padding: 0 12px;
    text-align: center;
    font-size: 15px;
    display: inline;
    margin-right: 10px;
}

.overview .add-to-cart-button,
.variant-overview .add-to-cart-button {
    height: 43px;
    border: none;
    padding: 0 24px;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

.product-share-button {
    display: inline-block;
    overflow: hidden;
}

.full-description {
    clear: both;
    line-height: 24px;
}

.product-collateral .title {
    margin: 0 0 10px;
    font-size: 18px;
}

    .product-collateral .title strong {
        font-weight: normal;
    }

.product-variant-line {
    margin: 0 0 30px;
    box-shadow: 0px 0px 5px #ccc;
    padding: 0 0 20px;
}

    .product-variant-line:after {
        content: "";
        display: block;
        clear: both;
    }

.variant-picture {
    position: relative;
    margin: 0 auto 15px;
    overflow: hidden;
}

.variant-overview {
    width: 100%;
}

    .variant-overview .variant-name {
        margin: 0 0 10px;
        padding: 10px 0;
        font-size: 20px;
    }

    .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-tabs {
    margin-bottom: 30px;
}

.product-tags-list {
    font-size: 0;
}

    .product-tags-list li {
        display: inline-block;
        font-size: 14px; /*reset zeroing*/
    }

        .product-tags-list li.separator {
            margin: 0 5px 0 3px;
        }

    .product-tags-list a {
        display: inline-block;
        line-height: 24px;
    }

.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;
}

.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 5px;
}

.attributes .datepicker {
    text-align: center;
}

.attributes .qty-box input {
    width: 48px;
    height: 32px;
    text-align: center;
}

#ui-datepicker-div .ui-widget-header {
    background: #007bff !important;
}

.ui-datepicker {
    width: 280px;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
    background-color: #fff;
    text-align: center;
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    padding: 0;
}

.ui-datepicker-header {
    position: relative;
    height: 32px;
    color: #fff;
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    background-image: none;
    padding: 0 !important;
    font-weight: normal;
}

    .ui-datepicker-header a {
        position: absolute;
        top: 0;
        z-index: 1;
        width: 32px;
        height: 32px;
        line-height: 32px;
        font-size: 0;
        /*override jQuery UI styles, do not delete doubled properties*/
        top: 0 !important;
        width: 32px !important;
        height: 32px !important;
        border: none !important;
    }

        .ui-datepicker-header a.ui-datepicker-prev {
            left: 0;
            background: url('../images/calendar-prev.png') center no-repeat;
        }

        .ui-datepicker-header a.ui-datepicker-next {
            right: 0;
            background: url('../images/calendar-next.png') center no-repeat;
        }

        .ui-datepicker-header a span {
            /*override jQuery UI styles, do not delete doubled properties*/
            display: none !important;
        }

.ui-datepicker-title {
    position: relative;
    z-index: 0;
    line-height: 32px;
    font-weight: bold;
    text-transform: uppercase;
    /*override jQuery UI styles, do not delete doubled properties*/
    line-height: 32px !important;
}

.ui-datepicker-calendar {
    /*override jQuery UI styles, do not delete doubled properties*/
    margin: 0 !important;
    font-size: 14px !important;
}

    .ui-datepicker-calendar th {
        background-color: #eee;
    }

    .ui-datepicker-calendar th,
    .ui-datepicker-calendar td {
        width: 14.285%;
        border: 1px solid #ddd;
        /*override jQuery UI styles, do not delete doubled properties*/
        padding: 0;
    }

        .ui-datepicker-calendar th span,
        .ui-datepicker-calendar td a {
            display: block;
            min-height: 32px;
            line-height: 32px;
        }

        .ui-datepicker-calendar td a {
            /*override jQuery UI styles, do not delete doubled properties*/
            border: none !important;
            background: none !important;
            padding: 0;
            text-align: center;
            color: #444 !important;
        }

    .ui-datepicker-calendar .ui-state-active {
        outline: 2px solid #014c8c;
        font-weight: bold;
        color: #014c8c;
        /*override jQuery UI styles, do not delete doubled properties*/
        color: #014c8c !important;
    }

.attribute-squares {
    font-size: 0;
}

    .attribute-squares li {
        display: inline-block;
        margin: 0 5px 5px;
        text-align: center;
    }

    .attribute-squares .attribute-square-container, .color-squares .color-container {
        display: block;
        position: relative;
        z-index: 0;
        padding: 1px;
    }

    .attribute-squares label {
        display: block;
        margin: 0 !important;
        overflow: hidden;
    }

    .attribute-squares .attribute-square, .color-squares .color-container .color {
        display: table !important;
        width: 32px !important;
        height: 32px !important;
        border: 2px solid #bbb !important;
        cursor: pointer;
    }

    .attribute-squares .selected-value .attribute-square, .color-squares .selected-value .color {
        border-color: #007bff !important;
    }

    .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 #eeeeee;
    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: 999;
}

.tooltip-container .tooltip-header {
    background-color: #dddddd;
    height: 35px;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    padding-left: 10px;
    padding-top: 5px;
    text-align: left;
    width: 198px;
    font-size: 15px;
    border-bottom: 1px solid #dddddd;
}

.tooltip-container .tooltip-body {
    margin: 5px;
}

    .tooltip-container .tooltip-body img {
        border: 0px #FFF;
        width: 190px;
    }

.giftcard {
    margin: 0 0 20px;
    overflow: hidden;
}

    .giftcard input,
    .giftcard textarea {
        width: 100%;
        max-width: 100%;
    }

    .giftcard textarea {
        height: 150px;
    }


/********** PRODUCT REVIEWS **********/


.product-reviews-page h1 a:before,
.product-reviews-page h1 a:after {
    content: "''";
}

.product-reviews-page .title {
    margin: 0 0 20px;
    font-size: 20px;
}

    .product-reviews-page .title strong {
        font-weight: normal;
    }

.write-review .fieldset {
    margin: 0px;
}

.write-review .review-rating label {
    margin: 0 0 5px;
    font-size: 14px;
}

.write-review .review-rating ul {
    font-size: 0;
    vertical-align: middle;
}

.write-review .review-rating li {
    display: inline-block;
    margin: 0 10px 0px 0px;
    cursor: default;
    vertical-align: middle;
    font-size: 14px;
    /*height: 17px;*/
    line-height: 2px;
}

.write-review .review-main {
    line-height: 38px;
}

.write-review .review-rating li.first {
    color: #a94442;
}

.write-review .review-rating li.rating-options input {
    vertical-align: baseline;
}

.write-review .review-rating li.last {
    color: #3c763d;
}

.captcha-box {
    margin: 15px 0px 0px -5px;
    text-align: left;
}

.write-review .button-1 {
    border: none;
    padding: 10px 25px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

.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;
    border: 1px solid #ddd;
}

    .product-review-item .review-item-head {
        border-bottom: 1px solid #ddd;
        overflow: hidden;
        background-color: #f6f6f6;
        padding: 10px;
    }

    .product-review-item .review-title {
        line-height: 20px;
        font-size: 15px;
    }

    .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;
    }

    .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: 700;
            margin-bottom: 0;
        }

        .product-review-item .review-info a,
        .product-review-helpfulness .vote {
            display: inline-block;
            padding: 0 5px;
            cursor: pointer;
        }

.product-review-helpfulness .question {
    margin: 0 5px 0 0;
    font-style: italic;
}

.product-review-helpfulness .result {
    margin: 0 0 0 10px;
}

    .product-review-helpfulness .result.alert-danger {
        color: #a94442;
        background-color: transparent;
    }

.product-reviews-overview .separator, .product-review-item .separator {
    vertical-align: top;
}

.separator {
    vertical-align: middle;
}

.review-rating {
    margin-top: 4px;
}

.contact-page .form-fields, .apply-vendor-page .form-fields, .vendorinfo-page .form-fields {
    border-top: none;
}


/********** WISHLIST & COMPARE LIST **********/

.wishlist-page .page-title {
    margin: 0 0 -1px;
}

.wishlist-content {
    margin: 0 0 20px;
}

    .wishlist-content .message-error {
        margin: 20px 0;
    }

    .wishlist-content .table-wrapper {
        margin: 0 0 30px;
    }

    .wishlist-content .product-content {
        min-width: 300px;
        text-align: left;
    }

    .wishlist-content .tax-shipping-info {
        margin: 0 0 20px;
        text-align: center;
    }

        .wishlist-content .tax-shipping-info a {
            color: #4ab3f1;
        }

            .wishlist-content .tax-shipping-info a:hover {
                text-decoration: underline;
            }

    .wishlist-content .buttons {
        font-size: 0;
        text-align: center;
    }

    .wishlist-content .button-2 {
        display: block;
        width: 250px;
        margin: 0 auto 3px;
        padding: 10px 25px;
        text-align: center;
        line-height: 20px;
        font-size: 15px;
        color: #fff;
        text-transform: uppercase;
    }

.wishlist-page .share-info {
    text-align: center;
}

    .wishlist-page .share-info span {
        display: block;
        margin: 0 0 5px;
    }

    .wishlist-page .share-info a {
        font-weight: bold;
        word-break: break-all;
    }

.wishlist-page .no-data {
    margin: 25px 0 0;
}

.compare-products-page {
    position: relative;
    overflow: hidden;
}

    .compare-products-page .clear-list {
        display: inline-block;
        margin: 0 0 20px;
        padding: 10px 15px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

    .compare-products-page .table-wrapper {
        margin: 0 0 30px;
        padding: 0 0 1px; /*IE mobile table border fix*/
    }

.compare-products-table td {
    min-width: 150px;
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 20px;
    text-align: left;
    vertical-align: top;
}

    .compare-products-table td:first-child {
        min-width: 0;
    }

    .compare-products-table td label {
        font-weight: normal;
    }

.compare-products-table .remove-button {
    display: inline-block;
    border: none;
    background: url('../images/remove.png') left center no-repeat;
    padding: 0 0 0 18px;
    font-size: 12px;
}

.compare-products-table .picture {
    display: block;
    position: relative;
    max-width: 200px;
    height: 200px;
    overflow: hidden;
}

    .compare-products-table .picture img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        max-width: 100%;
        max-height: 100%;
        margin: auto;
    }

.compare-products-table .product-name td {
    font-weight: bold;
}

.compare-products-table .full-description td {
    display: none;
}

.compare-products-page .no-data {
    margin: 25px 0 0;
}


/*********** TOPICS ***********/

.topic-block {
    margin: 0 0 25px;
}

.topic-block-title {
    min-height: 50px;
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 0 15px;
}

    .topic-block-title h2 {
        font-size: 30px;
        font-weight: normal;
    }

.topic-block-body {
    text-align: justify;
    line-height: 24px;
    font-size: 16px;
}

.topic-page .page-body {
    text-align: justify;
    line-height: 22px;
}

.topic-block a,
.topic-page a {
    text-decoration: underline;
}

.home-page .topic-block {
    margin: 0 0 50px;
}

.popup-window .topic-page {
    padding: 15px;
}

.not-found-page p {
    margin: 30px 15px;
}

.topic-password {
    text-align: center;
}

.enter-password-title {
    margin: 0 0 20px;
}

.enter-password-form {
    display: inline-block;
    overflow: hidden;
}

    .enter-password-form input[type="password"] {
        float: left;
        width: 200px;
        height: 40px;
        margin: 0 -1px 0 0;
    }

    .enter-password-form input[type="submit"] {
        float: left;
        width: auto;
        min-width: 86px;
        height: 40px;
        border: none;
        padding: 0 15px;
        color: #fff;
        text-transform: uppercase;
    }


/*********** CONTACT & EMAIL A FRIEND & APPLY FOR VENDOR ACCOUNT ***********/

.contact-page .page-title,
.email-a-friend-page .page-title,
.apply-vendor-page .page-title {
    margin: 0 0 -1px;
}

.contact-page .result,
.contact-page .message-error,
.email-a-friend-page .result,
.email-a-friend-page .message-error,
.apply-vendor-page .result,
.apply-vendor-page .message-error {
    margin: 20px 0;
}

.contact-page .button-1,
.email-a-friend-page .button-1,
.apply-vendor-page .button-1 {
    min-width: 140px;
    border: none;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

.contact-page .topic-block,
.email-a-friend-page .title,
.apply-vendor-page .title, .apply-vendor-page .topic-block {
    margin: 25px 0;
}

    .email-a-friend-page .title h2 {
        font-weight: normal;
    }


/********** REGISTRATION, LOGIN, ACCOUNT PAGES  **********/

.date-of-birth select {
    width: 31%; /*always single line*/
    max-width: 126px;
}

    .date-of-birth select + select {
        margin: 0 0 0 10px;
    }

#check-availability-button {
    margin: 10px 0 0;
    padding: 10px 15px;
    font-size: 12px;
    text-transform: uppercase;
}

.accept-privacy-policy {
    margin: 0 0 20px;
    text-align: left;
}

    .accept-privacy-policy > * {
        display: inline-block;
    }

.username-not-available-status {
    clear: both;
    color: #a94442;
}

.accept-privacy-policy span {
    cursor: pointer;
}

.registration-page .button-1,
.registration-result-page .button-1,
.login-page .button-1,
.password-recovery-page .button-1,
.account-page .button-1,
.return-request-page .button-1 {
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
}

.return-request-page .return-request-file {
    font-size: 14px;
}

    .return-request-page .return-request-file .uploadedfileinput {
        display: inline-block;
    }

.registration-page .message-error,
.login-page .message-error,
.account-page .message-error {
    margin: 0 0 10px;
}

.customer-info-page .email-to-revalidate,
.customer-info-page .readonly-username,
.customer-info-page .vat-status {
    margin: 0 5px;
    font-size: 14px;
}

.customer-info-page .vat-status {
    display: block;
}

.registration-page .vat-note,
.customer-info-page .vat-note,
.customer-info-page .email-to-revalidate-note {
    display: block;
    font-size: 14px;
    margin-top: 7px;
    white-space: normal;
}

.login-page .customer-blocks {
    margin: 0 0 30px;
}

.login-page .title {
    margin: 0 0 25px;
    font-size: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125);
    padding-bottom: 10px;
}

    .login-page .title strong {
        font-weight: normal;
    }

.login-page .new-wrapper {
    margin: 0 0 50px;
}

    .login-page .new-wrapper .text, .login-page .returning-wrapper .text {
        margin: 0 0 30px;
        border-top: 1px solid #ccc;
        padding-top: 0px;
        line-height: 22px;
        -moz-box-direction: normal;
        -moz-box-orient: vertical;
        background-color: #fff;
        border: 1px solid rgba(0, 0, 0, 0.125);
        border-radius: 0.25rem;
        display: flex;
        flex-direction: column;
        position: relative;
    }

    .login-page .new-wrapper .topic-block {
        margin: 0;
    }

    .login-page .new-wrapper .button-1 {
        margin: 0 0 5px;
    }

        .login-page .new-wrapper .button-1.checkout-as-guest-button {
            margin: 0px 5px 5px 0px;
        }

.login-page .returning-wrapper {
    margin: 0;
}

    .login-page .returning-wrapper .form-fields {
        padding: 30px 15px 0;
    }

    .login-page .returning-wrapper .inputs.reversed {
        white-space: normal;
    }

        .login-page .returning-wrapper .inputs.reversed * {
            display: inline-block;
            width: auto;
            margin: 5px;
            font-size: 14px; /*reset zeroing*/
        }

    .login-page .returning-wrapper .form-fields {
        border-top: 0px;
        padding-top: 0;
    }

    .login-page .new-wrapper .card, .login-page .returning-wrapper .card {
        border: none;
    }

.login-page .field-validation-error {
    margin-bottom: 0px;
    margin-top: 5px;
}

.login-page .returning-wrapper .custom-control.custom-checkbox, .login-page .returning-wrapper .login-button {
    margin-left: 15px;
}

.external-authentication {
    margin: 0 0 50px;
    overflow: hidden;
    text-align: center;
}

    .external-authentication .title {
        margin: 0 0 15px;
        font-size: 20px;
    }

    .external-authentication .buttons {
        margin: 0 0 30px;
        text-align: center;
        display: inline-block;
    }

.external-auth-errors {
    color: #e4444c;
}

.external-auth-association a:hover {
    text-decoration: underline;
}

.facebook-login-block {
    display: inline-block;
    margin-right: 10px;
}

.password-recovery-page .result {
    margin: 0 0 5px;
    font-weight: normal;
}

.password-recovery-page .tooltip {
    margin: 0 0 25px;
    clear: both;
    width: 100%;
}

.add-more-external-records, .registration-result-page .buttons {
    text-align: center;
}

    .add-more-external-records a:hover {
        text-decoration: underline;
    }

.news-item-page .col-form-label, .blogpost-page .col-form-label, .account-page .col-form-label, .registration-page .col-form-label, .password-recovery-page .col-form-label {
    text-align: right;
}

.registration-page .buttons .button-1, .password-recovery-page .buttons .button-1, .registration-result-page .buttons .button-1 {
    margin-left: 0px;
}

.password-recovery-page .form-fields {
    padding-bottom: 0px;
    border-top: none;
}

.date-birth select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3E%3Cpath fill=\'%23333\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3E%3C/svg%3E") no-repeat scroll right 0.75rem center / 8px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
    color: #464a4c;
    display: inline-block;
    height: calc(2.25rem + 2px);
    line-height: 1.25;
    max-width: 100%;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    vertical-align: middle;
    margin-right: 10px;
}

    .date-birth select:focus {
        border-color: #5cb3fd;
        outline: 0 none;
    }

.account-page .fieldset .title {
    text-align: center;
}

.customer-info-page .fieldset .title {
    text-align: center;
}

.registration-page .account-option div, .account-page .account-option div {
    text-align: left;
}

.account-page .description {
    margin: 0 0 25px;
}

.account-page .table-wrapper {
    margin: 0 0 30px
}

.back-in-stock-subscription-list-page .buttons, .home-page-polls .buttons, .forum-subscriptions-page .buttons {
    text-align: center;
}

.address-list-page .section .title {
    margin-bottom: 0px;
    padding: 0.75rem 1.25rem;
    float: left;
    width: 100%;
}

    .address-list-page .section .title h4 {
        margin-bottom: 0px;
        float: left;
        font-size: 1.25rem;
        line-height: 1.75rem;
        width: 60%;
        word-wrap: normal;
    }

.address-list-page .buttons {
    float: right;
    width: auto;
    margin-bottom: 0;
}

.address-list > div:nth-child(2n+1) {
    clear: both;
}

.order-list-page .section .title, .return-request-list-page .section .title {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    float: left;
    width: 100%;
}

    .order-list-page .section .title h4 {
        margin-bottom: 0;
        float: left;
        width: 60%;
        line-height: 35px;
        font-size: 1em;
    }

.order-list-page .buttons {
    text-align: right;
    float: right;
    margin-bottom: 0;
    width: auto;
}

    .order-list-page .buttons .btn-secondary, .order-list-page .buttons .btn-primary {
        text-transform: uppercase;
    }

.address-list-page .info,
.order-list-page .info {
    margin: 0 0 10px;
    padding: 20px;
    line-height: 26px;
}

.order-list-page .info {
    margin-bottom: 0;
}

    .address-list-page .info .name,
    .order-list-page .info .name {
        font-size: 16px;
        font-weight: bold;
    }

.address-list-page .button-2 {
    display: inline-block;
    margin: 0 0 0 10px;
    border: none;
    padding: 0 0 0 22px;
    font-size: 14px;
}

.address-list-page .address-item label {
    margin-bottom: 0;
}

.edit-address-button {
    background: url('../images/edit.png') left center no-repeat;
}

.delete-address-button {
    background: url('../images/remove.png') left center no-repeat;
}

.address-list-page .add-button {
    margin: 0 0 20px;
    text-align: center;
}

.address-edit-page .page-title {
    margin: 0 0 -1px;
}

.address-edit-page .message-error {
    margin: 20px 0;
}

.address-edit-page .edit-address {
    margin: 0 0 30px;
    padding: 30px 0px 0px;
}

.recurring-payments table td {
    white-space: nowrap;
}

    .recurring-payments table td:first-child {
        min-width: 120px;
        white-space: normal;
    }

.recurring-payments .button-2 {
    font-size: 14px;
}

.return-request-list-page .details {
    padding: 20px;
}

.return-request-list-page .section .title h4 {
    margin-bottom: 0;
    font-size: 1em;
}

.return-request-list-page label {
    margin: 0 5px 0 0;
}

.return-request-list-page a:hover {
    text-decoration: underline;
}

.return-request-list-page .comments div {
    margin: 10px 0 0;
    font-size: 15px;
    font-style: italic;
}

.reward-points-overview {
    margin: 0 0 25px;
}

.reward-points-history table td:first-child {
    min-width: 120px;
}

.change-password-page .result,
.change-password-page .message-error {
    margin: 20px 0;
}

.avatar-page .page-title {
    margin: 0;
}

.avatar-page .page-body {
    margin: 0 0 30px;
    overflow: hidden;
    padding: 30px 0px;
}

.avatar-page .message-error {
    margin: 0 0 10px;
}

.avatar-page .image {
    margin: 0 0 10px;
}

    .avatar-page .image img {
        border: 1px solid #ccc;
    }

.avatar-page .button-1 {
    font-size: 14px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.avatar-page .button-2 {
    padding: 10px 15px;
    font-size: 14px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.vendorinfo-page .button-2 {
    padding: 10px 15px;
    font-size: 14px;
    text-transform: uppercase;
}

.vendorinfo-page .vendor-picture {
    width: 400px;
    margin: 0 auto;
}

    .vendorinfo-page .vendor-picture * {
        display: block;
        margin-top: 15px;
    }

.forum-page .pagination, .active-discussions-page .pagination, .forums-main-page .pagination, .forum-search-page .pagination, .back-in-stock-subscription-list-page .pagination, .reward-points-page .pagination, .my-product-reviews-list-page .pagination, .forum-subscriptions-page .pagination {
    text-align: center;
    display: inline;
}

    .forum-page .pagination ul, .active-discussions-page .pagination ul, .forums-main-page .pagination ul, .forum-search-page .pagination ul, .back-in-stock-subscription-list-page .pagination ul, .forum-subscriptions-page .pagination ul {
        margin-bottom: 25px;
    }

        .forum-page .pagination ul li, .active-discussions-page .pagination ul li, .forums-main-page .pagination ul li, .forum-search-page .pagination ul li, .back-in-stock-subscription-list-page .pagination ul li, .reward-points-page .pagination ul li, .my-product-reviews-list-page .pagination ul li, .forum-subscriptions-page .pagination ul li {
            display: inline-block;
            float: none;
        }

.reward-points-page .section .title {
    padding: 0;
}

.reward-points-page .pagination ul li:first-child {
    display: inline-block;
    width: 100%;
    margin-bottom: 15px;
}

.my-product-reviews-list-page .separator {
    vertical-align: top;
}


/****** ORDER DETAILS & SHIPPING DETAILS ******/


.order-details-page .page-title {
    border-bottom: none;
}

    .order-details-page .page-title h1 {
        margin: 0 0 30px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 10px;
    }

    .order-details-page .page-title a {
        display: inline-block;
        margin: 5px 0;
        padding: 10px 20px;
        font-size: 15px;
    }

.order-details-page .order-overview {
    margin: 0 0 50px;
    line-height: 26px;
    text-align: center;
    font-size: 16px;
}

    .order-details-page .order-overview .order-number {
        margin: 0 0 10px;
        text-transform: uppercase;
    }

    .order-details-page .order-overview .order-total strong {
        font-weight: normal;
    }

.order-details-page .repost .button-2 {
    display: inline-block;
    margin: 10px 0;
    border: none;
    padding: 10px 15px;
    font-size: 12px;
    color: #fff;
    text-transform: uppercase;
}

.order-details-page .download a {
    font-weight: normal;
}

    .order-details-page .download a:hover {
        text-decoration: underline;
    }

.user-agreement-page .terms-of-agreement {
    margin: 0 0 20px;
    padding: 20px;
    text-align: center;
}

.user-agreement-page .button-1 {
    min-width: 140px;
    border: none;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

.order-details-page .tax-shipping-info {
    margin: 30px 0;
}

    .order-details-page .tax-shipping-info a:hover {
        text-decoration: underline;
    }

.order-details-page .actions {
    margin: 30px 0 0;
    font-size: 0;
}

    .order-details-page .actions input {
        display: inline-block;
        min-width: 165px;
        margin: 5px;
        padding: 10px 20px;
        font-size: 15px;
        text-transform: uppercase;
    }

.order-details-page .totals.section {
    max-width: 100%;
    margin: 0 auto 50px;
}

.order-details-page .section .title strong, .shipment-details-page .section .title strong {
    font-weight: 700;
}

.order-details-page .section label {
    margin-bottom: 0;
}

.order-details-area, .shipment-details-area {
    margin-bottom: 25px;
}

.return-request-page .table thead th, .return-request-page .table tbody td {
    vertical-align: middle;
}



/****** SEARCH & SITEMAP ******/


.search-page .page-title {
    margin: 0 0 -1px;
}

.search-input .fieldset {
    margin: 0px;
}

.search-input .form-fields {
    padding: 30px 15px 10px;
}

.search-input input + label {
    display: inline;
    margin: 0 0 0 5px;
    vertical-align: top;
}

.advanced-search .price-range, .advanced-search .price-range span {
    display: inline-block;
}

    .advanced-search .price-range input {
        width: 80px;
        display: inline-block;
    }

.search-input .button-1 {
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
}

.search-results {
    margin: 30px 0 0;
}

.sitemap-page .description {
    margin: 0 0 30px;
    text-align: center;
}

.sitemap-page .entity {
    margin: 0 0 30px;
}

.sitemap-page .entity-title {
    margin: 0 0 15px;
    padding: 0 10px;
    text-align: center;
}

    .sitemap-page .entity-title h2 {
        font-size: 20px;
        font-weight: normal;
    }

.sitemap-page .entity-body {
    border-top: 1px solid #e6e6e6;
    padding: 30px 15px;
    text-align: center;
}

.sitemap-page ul {
    font-size: 0;
}

.sitemap-page li {
    display: inline-block;
    position: relative;
    margin: 0 8px;
    padding: 0 12px;
    line-height: 50px;
    font-size: 14px; /*reset zeroing*/
}

    .sitemap-page li:before {
        content: "";
        position: absolute;
        top: 23px;
        left: 0;
        width: 5px;
        height: 5px;
        background-color: #ddd;
    }

.sitemap-page a:empty {
    display: none;
}



/********** SHOPPING CART **********/

.order-progress {
    margin: 0 0 50px;
    text-align: center;
}

    .order-progress ul {
        font-size: 0;
    }

    .order-progress li {
        display: inline-block;
        margin: 10px;
    }

    .order-progress a {
        display: block;
        font-size: 16px; /*reset zeroing*/
        font-weight: bold;
    }

        .order-progress a i {
            display: block;
            font-size: 36px;
            color: #000;
            margin-bottom: 10px;
        }

        .order-progress a:hover, .order-progress a:focus {
            text-decoration: none;
        }

    .order-progress li.active-step a {
        cursor: pointer;
    }

    .order-progress li.inactive-step a {
        opacity: 0.2;
        cursor: default;
    }

.shopping-cart-page .page-title {
    margin: 0 0 -1px;
    padding: 10px 0px;
}

.shopping-cart-page .message-error {
    margin: 20px 0;
}

.shopping-cart-page td .message-error {
    margin: 10px 0 0;
    text-align: left;
}

.shopping-cart-page .checkout-attributes a {
    color: #007bff;
}

    .shopping-cart-page .checkout-attributes a:hover {
        text-decoration: underline;
    }

.shopping-cart-page .tax-shipping-info {
    margin: 20px 0;
    text-align: center;
}

    .shopping-cart-page .tax-shipping-info a {
        color: #007bff;
    }

        .shopping-cart-page .tax-shipping-info a:hover {
            text-decoration: underline;
        }

.shopping-cart-page .common-buttons {
    margin: 0 0 30px;
    font-size: 0;
}

    .shopping-cart-page .common-buttons button {
        display: inline-block;
        min-width: 180px;
        margin: 5px 5px 5px 0px;
        padding: 10px 20px;
        font-size: 15px;
        text-transform: uppercase;
    }

.checkout-attributes {
    margin: -30px 0 30px;
}

    .checkout-attributes dd {
        margin: 0 0 20px;
    }

    .checkout-attributes input[type="text"],
    .checkout-attributes select {
        min-width: 170px;
    }

    .checkout-attributes ul {
        font-size: 0;
    }

    .checkout-attributes li {
        display: inline-block;
        margin: 5px;
        border: 1px solid #ddd;
        background-color: #fff;
        padding: 8px 10px;
        font-size: 14px; /*reset zeroing*/
    }

    .checkout-attributes .attribute-squares li {
        border: none;
        padding: 0;
        line-height: 0;
    }

    .checkout-attributes li label {
        display: inline-block;
        margin: 0 0 0 5px;
    }

.selected-checkout-attributes {
    margin: 30px 0;
}

    .selected-checkout-attributes br {
        content: "";
        display: block;
        margin: 3px;
    }

.cart-footer {
    margin: 0 0 50px;
    border-top: 1px solid #ddd;
}

    .cart-footer:after {
        content: "";
        display: block;
        clear: both;
    }

    .cart-footer .totals {
        margin: 25px auto 50px;
    }

        .cart-footer .totals label {
            margin: 0px;
        }

    .cart-footer .total-info {
        margin: 0 0 20px;
        border-bottom: 1px solid #ddd;
    }

.cart-total td {
    width: 50%;
    text-align: right;
}

    .cart-total td:first-child {
        text-align: left;
    }

.cart-total .giftcard-remaining {
    display: block;
    font-style: italic;
}

.cart-total .order-total {
    font-size: 20px;
}

.cart-total .earn-reward-points {
    font-style: italic;
}

.min-amount-warning {
    margin: 0 0 20px;
    padding: 0 30px;
    color: #e4434b;
}

.terms-of-service {
    margin: 0 0 20px;
}

    .terms-of-service label {
        cursor: pointer;
    }

    .terms-of-service a {
        margin: 0 0 0 3px;
    }

.cart-footer .checkout-button {
    display: inline-block;
    min-width: 160px;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    text-transform: uppercase;
}

.cart-footer .addon-buttons {
    margin: 20px 0 0;
    padding: 0 10px;
}

.cart-collaterals {
    max-width: 100%;
    margin: 0px;
    padding: 25px 0 0;
}

    .cart-collaterals > div {
        margin: 0 0 20px;
    }

        .cart-collaterals > div h4 {
            font-size: 1.25rem;
        }

    .cart-collaterals .button-2 {
        display: inline-block;
        padding: 10px 15px;
        text-transform: uppercase;
    }

    .cart-collaterals .title {
        margin: 0 0 5px;
        font-size: 18px;
    }

        .cart-collaterals .title strong {
            font-weight: normal;
        }

    .cart-collaterals .hint {
        margin: 0 0 10px;
    }

    .cart-collaterals .deals > div {
        margin: 0 0 20px;
    }

    .cart-collaterals .coupon-code button[type="submit"] {
        margin: 15px 0 0;
    }

    .cart-collaterals .message-failure {
        margin: 10px 0 0;
        font-size: 12px;
    }

    .cart-collaterals .message-success {
        margin: 10px 0 0;
        font-size: 12px;
    }

    .cart-collaterals .current-code {
        margin: 5px 0 0;
        color: #3c763d;
    }

.remove-discount-button,
.remove-gift-card-button {
    width: 16px;
    height: 16px;
    border: none;
    background: #fff url('../images/close.png') center 4px no-repeat;
    cursor: pointer;
}

.cart-collaterals .shipping-results {
    margin: 30px 0 0;
}

    .cart-collaterals .shipping-results li {
        margin: 20px 0;
    }

        .cart-collaterals .shipping-results li strong {
            display: block;
            margin: 0 0 5px;
        }

.shopping-cart-page .no-data {
    margin: 25px 0 0;
}

.shipping .buttons {
    margin-bottom: 0;
}

.billing-address-page .checkout-data .ship-to-same-address {
    padding: 0px;
}

.select-billing-address .address-box label, .select-shipping-address .address-box label {
    margin-bottom: 0;
}

.select-billing-address .address-item, .select-shipping-address .address-item {
    padding: 20px;
    background: #f5f5f5;
}


/********** CHECKOUT **********/

.checkout-page .section {
    margin: 0 0 30px;
}

    .checkout-page .section.order-summary {
        margin: 50px 0 30px;
    }

.checkout-page .cart-options {
    min-height: 60px;
    overflow: hidden;
}

.checkout-page .cart-footer {
    border-top: none;
}

.checkout-page .total-info {
    margin: 0;
}

.checkout-page .button-1 {
    display: inline-block;
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    color: #fff;
    text-transform: uppercase;
}

.checkout-page .address-item {
    max-width: 100%;
    margin: 0 auto 40px;
}

    .checkout-page .address-item ul {
        margin: 0 0 15px;
    }

    .checkout-page .address-item li {
        padding: 5px 0;
    }

        .checkout-page .address-item li.name {
            font-size: 16px;
            font-weight: bold;
        }

.enter-address .message-error {
    margin: 20px 0;
}

.enter-address .edit-address {
    border-top: 1px solid #ddd;
    margin: 0 0 30px;
    padding: 30px 0px;
}

.checkout-page .ship-to-same-address {
    padding: 30px 0;
    text-align: center;
}

    .checkout-page .ship-to-same-address .selector, .checkout-page .pickup-in-store .selector {
        margin: 0px;
        font-weight: bold;
    }

.checkout-page .pickup-in-store, .select-pickup-point {
    text-align: center;
}

.select-pickup-point {
    display: inline-block;
}

.checkout-page .pickup-points-map {
    min-width: 400px;
    min-height: 350px;
    vertical-align: middle;
    margin-top: 5px;
    margin-bottom: 5px;
}

.shipping-method .method-list,
.payment-method .method-list {
    margin: 0 auto 30px;
    overflow: hidden;
    text-align: center;
    font-size: 0;
}

    .shipping-method .method-list li,
    .payment-method .method-list li {
        margin: 20px 0;
        font-size: 14px; /*reset zeroing*/
    }

        .shipping-method .method-list li label,
        .payment-method .method-list li label {
            font-weight: bold;
        }

.shipping-method .method-description {
    margin: 5px 0 0;
}

.payment-method .use-reward-points {
    margin: 0px;
    text-align: center;
    font-weight: bold;
}

.payment-method .payment-logo {
    display: inline-block;
    vertical-align: middle;
}

    .payment-method .payment-logo label {
        display: block;
        font-size: 0 !important;
    }

.payment-method .payment-details {
    min-width: 180px;
    display: inline-block;
    margin: 0 0 0 10px;
    text-align: left;
    vertical-align: middle;
}

.section.payment-info select {
    -moz-appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 4 5\'%3E%3Cpath fill=\'%23333\' d=\'M2 0L0 2h4zm0 5L0 3h4z\'/%3E%3C/svg%3E") no-repeat scroll right 0.75rem center / 8px 10px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
    color: #464a4c;
    display: inline-block;
    height: calc(2.25rem + 2px);
    line-height: 1.25;
    max-width: 100%;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    vertical-align: middle;
}

.section.payment-info .info input {
    background-clip: padding-box;
    background-color: #fff;
    background-image: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem;
    color: #464a4c;
    display: block;
    font-size: 1rem;
    line-height: 1.25;
    padding: 0.5rem 0.75rem;
    transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s, -webkit-box-shadow 0.15s ease-in-out 0s;
    width: 100%;
}

    .section.payment-info .info input:focus, .section.payment-info select:focus {
        background-color: #fff;
        border-color: #5cb3fd;
        color: #464a4c;
        outline: 0 none;
    }

.payment-info .info tr {
    display: block;
    margin: 0 0 15px;
    font-size: 0;
}

.payment-info .info td {
    display: inline-block;
    width: 100% !important;
    max-width: 400px !important;
    font-size: 14px; /*reset zeroing*/
}

    .payment-info .info td:only-child {
        width: 100% !important;
        max-width: 100% !important;
    }

    .payment-info .info td input[type="text"] {
        width: 100% !important;
    }

    .payment-info .info td input[name="CardCode"] {
        width: 65px !important;
    }

    .payment-info .info td select {
        min-width: 70px;
    }

    .payment-info .info td:first-child {
        margin: 0 0 10px;
    }

    .payment-info .info td label {
        margin-bottom: 0;
    }

.payment-info .info p {
    text-align: center;
}

.confirm-order .buttons {
    padding: 10px 0;
}

.confirm-order .button-1 {
    font-size: 16px;
}

.order-review-data li,
.order-details-area li,
.shipment-details-area li {
    padding: 3px 0;
}

.order-review-data .title,
.order-details-area .title,
.shipment-details-area .title {
    margin: 0 0 5px;
    font-size: 16px;
    font-weight: bold;
    background: #eeeeee;
    padding: 10px;
}

    .order-review-data .title strong,
    .order-details-area .title strong,
    .shipment-details-area .title strong {
        font-weight: 700;
    }

.opc .order-review-data ul {
    margin-bottom: 25px;
}

.order-completed .details {
    margin: 0 0 30px;
    padding: 0px 15px;
    text-align: center;
}

    .order-completed .details div {
        margin: 5px 0;
    }

    .order-completed .details strong {
        font-weight: bold;
    }

    .order-completed .details a:hover {
        text-decoration: underline;
    }

.opc .step-title {
    margin: 0 0 3px;
    overflow: hidden;
    background-color: #f6f6f6;
}

.opc .allow .step-title {
    cursor: pointer;
}

.opc .step-title .number,
.opc .step-title .title {
    float: left;
    min-height: 40px;
    padding: 10px 15px;
    line-height: 20px;
    font-size: 16px;
    font-weight: normal;
    color: #fff;
    margin-bottom: 0;
}

.opc .allow .step-title .number,
.opc .allow .step-title .title {
    color: #fff;
    cursor: pointer;
}

.opc .allow.active .step-title .title,
.opc .step-title .title {
    color: #000;
}

.opc .step-title .number,
.opc .allow.active .step-title .number {
    width: 42px;
    border-right: 1px solid #fff;
    text-align: center;
    background: #007bff;
}

.opc .allow .step-title .number {
    background: #666;
}

.opc .allow .step-title .title {
    color: #666;
}

.opc .step {
    margin: 0;
    padding: 30px 15px;
}

.opc .section {
    margin: 0 0 30px;
}

.opc .step .edit-address .col-form-label, .billing-address-page .edit-address .col-form-label, .shipping-address-page .edit-address .col-form-label {
    padding-left: 15px !important;
}

.opc .section > label {
    display: block;
    margin: 0 0 10px;
    text-align: center;
}

.opc input[type="text"],
.opc select {
    max-width: 100%;
}

.opc .buttons {
    margin-bottom: 0;
}

.opc .back-link {
    margin: 0 0 10px;
    display: inline-block;
}

    .opc .back-link small {
        display: none;
    }

    .opc .back-link a {
        display: inline-block;
        font-size: 15px;
        min-width: 100px;
        padding: 10px 30px;
        text-align: center;
        text-transform: uppercase;
        margin-right: 5px;
    }

.opc .buttons .please-wait {
    display: block;
    margin: 10px 0 0;
    background: none;
}

.opc .section.ship-to-same-address {
    margin: 0px;
    padding: 0;
}

.opc .section.pickup-in-store {
    margin: 0 0 30px;
    padding: 0;
}

.opc .payment-info .info tr {
    text-align: left;
}

.opc .section.order-summary {
    margin: 0;
}

.checkout-data .buttons, .section.pickup-points {
    text-align: center;
}

.checkout-data .opc .edit-address .field-validation-valid, .checkout-data .opc .edit-address .required {
    text-align: left !important;
}

.new-billing-address .edit-address, .new-shipping-address .edit-address {
    padding-bottom: 0;
}



/*** FORUM & PROFILE ***/


.forums-main-page .topic-block {
    margin: 0 0 35px;
    text-align: center;
}

    .forums-main-page .topic-block p {
        text-align: center;
    }

.forums-header {
    margin: 0 0 50px;
    overflow: hidden;
}

    .forums-header:after {
        content: "";
        display: block;
        clear: both;
    }

    .forums-header .current-time {
        margin: 0 0 15px;
    }

.forum-search-box .basic {
    overflow: hidden;
    margin: 0 0 10px;
}

.forum-search-box .advanced a {
    line-height: 22px;
    text-decoration: underline;
}

.forum-search-page .page-title {
    margin: 0 0 -1px;
}

.forum-search-page .search-error,
.forum-search-page .no-result {
    margin: 0 0 15px;
    text-align: center;
    color: #a94442;
}

/* forum group */

.forums-table-section {
    margin: 0 0 30px;
}

.forums-table-section-title {
    margin: 0 0 15px;
}

    .forums-table-section-title a,
    .forums-table-section-title strong {
        font-size: 22px;
        font-weight: normal;
    }

.forums-table-section .image div {
    width: 38px;
    height: 32px;
    margin: auto;
    background: url('../images/topic-type1.png') center no-repeat;
}

    .forums-table-section .image div.sticky {
        background: url('../images/topic-type2.png') center no-repeat;
    }

    .forums-table-section .image div.announcement {
        background: url('../images/topic-type3.png') center no-repeat;
    }

.forums-table-section .forum-title,
.forums-table-section .topic-title {
    margin: 5px 0;
}

    .forums-table-section .forum-title a,
    .forums-table-section .topic-title a {
        font-size: 16px;
        font-weight: bold;
    }

        .forums-table-section .forum-title a:hover,
        .forums-table-section .topic-title a:hover {
            text-decoration: none;
        }

    .forums-table-section .topic-title span {
        display: block;
    }

.forums-table-section .forum-description,
.forums-table-section .topic-starter {
    margin: 5px 0;
}

.forums-table-section .latest-post {
    white-space: nowrap;
}

    .forums-table-section .latest-post div {
        margin: 5px 0;
    }

.forums-table-section .view-all {
    margin: 30px 0 0;
}

    .forums-table-section .view-all a {
        padding: 10px 15px;
        text-transform: uppercase;
    }

.forums-table-section .forum-table td {
    vertical-align: middle;
}

.news-list-page .link-rss, .blog-page .link-rss, .forums-table-section .link-rss, .forum-page .link-rss {
    font-size: 24px !important;
    background: none !important;
}

.forum-search-page .col-form-label, .forum-edit-page .col-form-label, .move-topic-page .col-form-label, .private-message-send-page .col-form-label {
    text-align: right;
}


/* forum-page, topic page */

.forum-page .forum-info {
    margin: 0 0 30px;
}

.forum-page .forum-name,
.forum-topic-page .topic-name {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
}

    .forum-page .forum-name h1,
    .forum-topic-page .topic-name h1 {
        font-size: 30px;
        font-weight: normal;
    }

.forum-actions,
.topic-actions {
    margin: 0 0 30px;
    font-size: 0;
}

    .forum-actions .actions a,
    .topic-actions .actions a {
        display: inline-block;
        margin: 1px;
        padding: 10px 10px 10px 33px;
        font-size: 14px;
    }

    .forum-actions .actions .new-topic {
        background: url('../images/new.png') 10px 13px no-repeat;
        background-color: #6c757d;
        margin-right: 5px;
    }

    .forum-actions .actions .watch-forum,
    .topic-actions .actions .watch-forum {
        background: url('../images/watch.png') 10px 14px no-repeat;
        background-color: #6c757d;
    }

        .forum-actions .actions .watch-forum:hover,
        .topic-actions .actions .watch-forum:hover,
        .forum-actions .actions .new-topic:hover {
            background-color: #5c656d;
        }

    .topic-actions .reply-topic-button {
        background: #eee url('../images/reply.png') left center no-repeat;
    }

    .topic-actions .watch-topic-button {
        background: #eee url('../images/watch.png') left center no-repeat;
    }

    .topic-actions .move-topic-button {
        background: #eee url('../images/move.png') left center no-repeat;
    }

    .topic-actions .edit-topic-button {
        background: #eee url('../images/edit_.png') left center no-repeat;
    }

    .topic-actions .delete-topic-button {
        background: #eee url('../images/remove_.png') left center no-repeat;
    }

    .topic-actions .watch-topic-button {
        background: #eee url('../images/watch.png') 12px center no-repeat;
    }

    .topic-actions.lower .actions {
        display: none;
    }

.active-discussions-page .forums-table-section-title {
    margin: 0 0 25px;
    border-bottom: 1px solid #ddd;
    padding: 0 10px 10px;
}

    .active-discussions-page .forums-table-section-title strong {
        font-size: 30px;
        font-weight: normal;
    }

.active-discussions-page .forums-table-section-body {
    margin: 0 0 20px;
}

.forum-page .forum-actions {
    font-size: 1rem;
}

.forum-page .pagination.upper {
    clear: both;
    margin-top: 20px;
    display: inline-block;
    width: 100%;
}


/* topic post */

.topic-post {
    margin: 0 0 30px;
    border-top: 1px solid #ddd;
}

    .topic-post:last-child {
        border-bottom: 1px solid #ddd;
    }

    .topic-post:after {
        content: "";
        display: block;
        clear: both;
    }

    .topic-post .post-info {
        margin: 30px 0;
    }

    .topic-post .user-info {
        width: 150px;
        margin: 0 auto 15px
    }

    .topic-post .username {
        display: block;
        margin: 0 0 -1px;
        border: 1px solid #ddd;
        background-color: #f6f6f6;
        padding: 11px 0;
        font-weight: bold;
    }

    .topic-post .avatar,
    .profile-info-box .avatar {
        position: relative;
        width: 150px;
        height: 150px;
        border: 1px solid #ddd;
        overflow: hidden;
    }

        .topic-post .avatar img,
        .profile-info-box .avatar img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
        }

        .topic-post .avatar img {
            border: solid 2px #CEDBE1 !important;
        }

    .topic-post .user-stats {
        margin: 0 0 15px;
    }

        .topic-post .user-stats li {
            display: inline-block;
            margin: 0 10px;
        }

        .topic-post .user-stats span,
        .profile-info-box .profile-stats span {
            margin: 0 0 0 3px;
            font-weight: bold;
        }

    .topic-post .pm-button,
    .profile-info-box .pm-button {
        display: inline-block;
        padding: 10px 20px;
        text-transform: uppercase;
    }

    .topic-post .post-time {
        margin: 0 0 15px;
        background-color: #f6f6f6;
        padding: 10px 15px;
        font-size: 13px;
        font-weight: bold;
    }

    .topic-post .post-actions {
        margin: 0 0 15px;
        font-size: 0;
    }

        .topic-post .post-actions > div {
            display: inline-block;
        }

        .topic-post .post-actions a {
            display: inline-block;
            margin: 1px 5px;
            font-size: 14px;
        }

        .topic-post .post-actions .edit-post-button,
        .topic-post .post-actions .delete-post-button {
            padding: 10px 10px 10px 33px;
        }

        .topic-post .post-actions .edit-post-button {
            background: url('../images/edit_.png') left center no-repeat;
        }

        .topic-post .post-actions .delete-post-button {
            background: url('../images/remove_.png') left center no-repeat;
        }

        .topic-post .post-actions .post-link-button {
            padding: 10px;
            font-weight: bold;
        }

            .topic-post .post-actions .post-link-button:hover {
                text-decoration: underline;
            }

        .topic-post .post-actions .quote-post-button {
            background-color: #007bff;
            padding: 10px 20px;
            color: #fff;
        }

            .topic-post .post-actions .quote-post-button:hover {
                background-color: #025aa5;
                color: #fff;
            }

    .topic-post .post-text {
        /*topic post-text also gets style from blog post-body*/
        padding: 0 10px 20px;
        line-height: 22px;
        margin-bottom: 0;
    }

    .topic-post .post-vote {
        text-align: center;
        display: table;
        margin: 0 auto 20px;
    }

    .topic-post .user-posted-image,
    .latest-posts .user-posted-image {
        max-width: 100%;
        height: auto;
    }

    .topic-post .quote,
    .latest-posts .quote {
        margin: 10px 0;
        border: 1px dashed #ccc;
        background-color: #f9f9f9;
        padding: 10px;
    }

    .topic-post .signature {
        border-top: 1px solid #ddd;
        padding: 20px;
        font-size: 13px;
        font-style: italic;
        clear: both;
    }

    .topic-post .post-vote span.vote {
        cursor: pointer;
        display: block;
        width: 40px;
        height: 24px;
    }

    .topic-post .post-vote span.up {
        background: url('../images/vote-up.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.up.selected {
        background: url('../images/vote-up-selected.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.down {
        background: url('../images/vote-down.png') no-repeat 50% 50%;
    }

    .topic-post .post-vote span.vote.down.selected {
        background: url('../images/vote-down-selected.png') no-repeat 50% 50%;
    }

    .topic-post .vote-count-post {
        display: block;
        font-size: 160%;
    }

    .topic-post .post-time label {
        margin-bottom: 0;
    }


/* forum edit & send message */

.forum-edit-page .page-title,
.move-topic-page .page-title,
.private-message-send-page .page-title {
    margin: 0 0 -1px;
}

.move-topic-page label {
    white-space: normal;
}

.forum-edit-page .message-error,
.private-message-send-page .message-error {
    margin: 20px 0;
}

.forum-edit-page .toolbar,
.private-message-send-page .toolbar {
    margin: 5px 0px 20px;
    background-color: #ddd;
    padding: 10px;
}

    .forum-edit-page .toolbar .button,
    .private-message-send-page .toolbar .button {
        margin: 0 2px 0 0;
        border: #cec6b5 1px solid;
        padding: 2px;
    }

        .forum-edit-page .toolbar .button:hover,
        .private-message-send-page .toolbar .button:hover {
            border: #333 1px solid;
        }

.forum-edit-page textarea,
.private-message-send-page textarea {
    display: block;
    margin: auto;
}

.forum-edit-page .buttons input,
.move-topic-page .buttons input,
.private-messages .buttons input {
    min-width: 140px;
    padding: 10px 30px;
    text-align: center;
    font-size: 15px;
    text-transform: uppercase;
    margin-right: 5px;
}

.private-message-send-page a, .private-message-send-page span {
    font-size: 14px;
}

.private-messages-page .select, .topic-actions {
    text-align: center;
}

    .topic-actions .pagination {
        clear: both;
        margin-top: 25px;
        display: inline-block;
        font-size: 14px;
    }



/****** BLOG & NEWS ******/

.block-blog-archive .number {
    display: block;
    cursor: auto;
    margin-top: 10px;
    margin-left: 20px;
    width: 100%;
}

.blog-page .post,
.news-list-page .news-items .news-item {
    margin: 0px;
    padding-bottom: 30px;
}

.blog-page .blog-posts, .news-list-page .news-items {
    margin-bottom: 30px;
}

.news-list-homepage .news-item {
    float: left;
}

.blog-page .post:after {
    content: "";
    display: block;
    clear: both;
}

.post-title,
.news-title {
    display: inline-block;
    padding: 20px 10px;
    line-height: 20px;
    font-size: 16px;
    font-weight: bold;
}

.post-date,
.news-date {
    display: block;
    margin: 0 0 15px;
    background-color: #f6f6f6;
    padding: 10px;
    font-style: italic;
}

.post-body,
.news-body {
    margin: 0 0 20px;
    padding: 0 10px;
}

.blog-page .tags,
.blogpost-page .tags {
    margin: 0 0 15px;
    overflow: hidden;
    padding: 0 10px;
}

    .blog-page .tags label,
    .blogpost-page .tags label {
        display: inline-block;
        margin: 0 3px 3px 0;
        font-weight: bold;
    }

    .blog-page .tags ul,
    .blogpost-page .tags ul {
        display: inline-block;
        margin: 0 0 3px 3px;
        font-size: 0;
    }

    .blog-page .tags li,
    .blogpost-page .tags li {
        display: inline-block;
        font-size: 14px; /*reset zeroing*/
    }

        .blog-page .tags li.separator,
        .blogpost-page .tags li.separator {
            margin: 0 8px 0 0;
        }

    .blog-page .tags a,
    .blogpost-page .tags a {
        display: block;
    }

        .blog-page .tags a:hover,
        .blogpost-page .tags a:hover {
            text-decoration: underline;
        }

.blog-posts .buttons,
.news-items .buttons {
    margin: 0;
    padding: 0 10px;
}

    .blog-posts .buttons .read-comments {
        display: block;
        margin: 0 0 15px;
        font-weight: bold;
    }

    .blog-posts .buttons .read-more,
    .news-items .buttons .read-more {
        display: inline-block;
        border: none;
        padding: 10px 20px;
        font-size: 12px;
        color: #fff;
        text-transform: uppercase;
    }

.new-comment {
    margin: 50px 0 60px;
}

    .new-comment .notifications {
        margin: 0 0 10px;
    }

    .new-comment .button-1 {
        border: none;
        padding: 10px 30px;
        text-align: center;
        font-size: 15px;
        color: #fff;
        text-transform: uppercase;
    }

.comment-list {
    margin: 0 0 30px;
}

    .comment-list .title {
        margin: 0 0 15px;
        padding: 0 10px;
        font-size: 20px;
    }

        .comment-list .title strong {
            font-weight: normal;
        }

    .comment-list .comment {
        margin: 0 0 40px;
        border-top: 1px solid #ddd;
    }

        .comment-list .comment:after {
            content: "";
            display: block;
            clear: both;
        }

.comment-info {
    width: 150px;
    margin: 20px auto;
}

    .comment-info .username {
        display: block;
        margin: 0 0 -1px;
        border: 1px solid #ddd;
        background-color: #f6f6f6;
        padding: 11px 0;
        font-weight: bold;
    }

    .comment-info .avatar {
        position: relative;
        width: 150px;
        height: 150px;
        border: 1px solid #ddd;
        overflow: hidden;
    }

        .comment-info .avatar img {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            max-width: 100%;
            max-height: 100%;
            margin: auto;
            border: solid 2px #CEDBE1 !important;
        }

.comment-time {
    margin: 0 0 15px;
    font-size: 13px;
    font-weight: bold;
}

.comment-title {
    margin: 0 0 15px;
    font-size: 16px;
}

.news-list-homepage {
    margin: 0 0 75px;
}

    .news-list-homepage .title {
        margin: 0 0 30px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 15px;
        font-size: 30px;
        font-weight: normal;
    }

        .news-list-homepage .title strong {
            font-weight: normal;
        }

    .news-list-homepage .view-all {
        text-align: center;
    }

    .news-list-homepage .news-item {
        margin-bottom: 20px;
    }

    .news-list-homepage .news-title {
        padding-top: 0;
    }


/* jQuery tabs */

.ui-tabs {
    /*override jQuery UI styles, do not delete doubled properties*/
    border: none;
    border-radius: 0;
    background: none;
    padding: 0;
}

.ui-tabs-nav {
    margin: 0 0 30px;
    border-bottom: 1px solid #ddd;
    overflow: hidden;
    font-size: 0;
    /*override jQuery UI styles, do not delete doubled properties*/
    margin: 0 0 30px !important;
    border-width: 0 0 1px;
    border-radius: 0;
    background: none;
    padding: 0 !important;
    line-height: normal;
    font-weight: normal;
}

    .ui-tabs-nav li {
        margin: 0 0 -1px;
        /*override jQuery UI styles, do not delete doubled properties*/
        float: none !important;
        margin: 0 0 -1px !important;
        border: none !important;
        border-radius: 0;
        background: none !important;
        padding: 0 !important;
    }

        .ui-tabs-nav li a {
            display: block;
            border: 1px solid #ddd;
            padding: 12px 24px;
            text-align: center;
            font-size: 18px;
            /*override jQuery UI styles, do not delete doubled properties*/
            float: none !important;
            padding: 12px 24px !important;
        }

        .ui-tabs-nav li.ui-state-active a {
            background-color: #eee;
        }

.ui-tabs-panel {
    /*override jQuery UI styles, do not delete doubled properties*/
    padding: 0 !important;
}

.ui-menu .ui-menu-item, .ui-menu .ui-menu-item a {
    float: left;
    width: 100%
}

.ui-autocomplete img {
    float: left;
}

.ui-autocomplete span {
    float: left;
    width: 85%;
}

/* inbox & view message */

.private-messages-page .table-wrapper,
.private-message-view-page .view-message {
    margin: 0 0 30px;
}

.private-messages-page th.select {
    text-align: center;
}

.private-messages-page td.from,
.private-messages-page td.to,
.private-messages-page td.subject {
    min-width: 150px;
}

.private-messages-page td.date {
    white-space: nowrap;
}

.private-messages-page .buttons,
.private-message-view-page .buttons {
    font-size: 0;
}

    .private-messages-page .buttons .button-1,
    .private-messages-page .buttons .button-2,
    .private-message-view-page .buttons .button-1,
    .private-message-view-page .buttons .button-2 {
        display: block;
        margin: 0 auto 10px;
        font-size: 15px; /*reset zeroing*/
    }

.private-message-view-page .view-message {
    margin: 0px;
}

.private-message-view-page .message-head span {
    font-weight: bold;
}

.private-message-view-page .message-body {
    border-top: 1px solid #ddd;
    background-color: #f9f9f9;
    padding: 30px 0px;
    line-height: 22px;
    text-align: justify;
}

.private-messages-page .data-table .pm-unread {
    font-weight: bold;
}

.private-messages-page .select label {
    margin-right: 0;
}

.private-messages-box .buttons {
    text-align: center;
}

/* profile page  */

.profile-info-box {
    overflow: hidden;
    line-height: normal;
    font-size: 14px;
}

    .profile-info-box .user-details {
        margin: 0 0 30px;
    }

    .profile-info-box .avatar {
        margin: 0 auto 15px;
    }

    .profile-info-box .title {
        margin: 0 0 10px;
        font-size: 18px;
    }

    .profile-info-box .stats {
        margin: 0 0 15px;
    }

.latest-posts {
    font-size: 14px;
}

    .latest-posts .topic {
        margin: 0 0 20px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 10px;
    }

        .latest-posts .topic:last-child {
            border-bottom: none;
        }

    .latest-posts .topic-title {
        font-size: 16px;
    }

        .latest-posts .topic-title a {
            font-weight: bold;
        }

    .latest-posts .topic-body {
        margin: 0 0 15px;
        line-height: 24px;
    }

/* BB codes */

pre {
    white-space: pre-wrap;
    white-space: normal;
    word-wrap: break-word;
}

.csharpcode {
    margin: 10px 0;
    border: 1px dashed #ccc;
    background-color: #fff;
    padding: 10px;
    font-family: "Courier New", Courier, monospace;
    color: #000;
}

    .csharpcode .rem {
        color: green;
    }

    .csharpcode .kwrd {
        color: #00f;
    }

    .csharpcode .str {
        color: #006080;
    }

    .csharpcode .op {
        color: #00c;
    }

    .csharpcode .preproc {
        color: #c63;
    }

    .csharpcode .asp {
        background-color: #ff0;
    }

    .csharpcode .html {
        color: maroon;
    }

    .csharpcode .attr {
        color: red;
    }

    .csharpcode .alt {
        width: 100%;
        margin: 0;
        background-color: #f6f6f6;
    }



/* Custom style after upgrade from 3.9.0 to 4.0.0 */

.custom-file-control::after {
    content: "Choose file...";
}

.custom-file-control::before {
    content: "Browse";
}

.top-menu.navbar-nav {
    -webkit-box-orient: horizontal;
    flex-direction: row;
    flex-wrap: wrap;
}

.block .listbox .list-group-item a {
    display: inline-block;
    width: 100%;
}

.block > .listbox > .list-group-item:first-child {
    margin-top: 0px;
}

.list-group-flush:last-child .list-group-item:last-child {
    border-bottom: 0;
}

.listbox.list-group.list-group-flush > .list-group-item:last-child, .listbox > .list.list-group.list-group-flush > .list-group-item:last-child {
    border-bottom: none;
}

.custom-control-label {
    margin-bottom: 0.5rem;
}

.newsletter-email .newsletter-subscribe-button {
    width: 100% !important;
    margin-top: 10px;
}

.contact-page, .page.email-a-friend-page, .page.product-reviews-page .button, .news-items .buttons {
    text-align: center !important;
}

.block .listbox .list-group-item.active > a > i, .block .listbox .listitem .list-group-item.active > a > i {
    transform: rotate(90deg);
}

.product-grid.featured-product-grid {
    margin-bottom: 10px;
}

.product-review-item .review-content {
    text-align: left;
}

.rating-options .custom-control, .checkout-page .custom-control {
    display: inline-block;
}

.review-rating, .contact-page .required-error {
    text-align: left;
}

.news-list-page .buttons {
    text-align: left !important;
}

.write-review .review-rating ul {
    margin-bottom: 0;
}

.male.custom-control.custom-radio,
.female.custom-control.custom-radio,
.Neutral.custom-control.custom-radio {
    display: inline-block;
    margin-right: 10px;
}

.forum-subscriptions-page .custom-control, .private-messages .custom-control, .shopping-cart-page .table-wrapper .custom-control, .wishlist-page .custom-control {
    display: inline-block;
}

.breadcrumb ol, .breadcrumb ul, .alert p {
    margin-bottom: 0;
}

.private-messages-page .nav-tabs .nav-item {
    margin-bottom: 0px;
}

.private-message-view-page .message-body {
    padding: 30px 15px;
    margin-bottom: 20px;
}

.topic-post .username {
    padding: 9px 0;
}

.shopping-cart-page .checkout-attributes {
    margin: 0px 0 15px;
    display: inline-block;
}

.mini-shopping-cart .item {
    border-bottom: 1px dashed #ddd;
}

    .mini-shopping-cart .item:last-child {
        border-bottom: none;
    }

.payment-info-page .alert.alert-danger {
    text-align: center;
}

.news-list-page .news-items .news-section, .blog-section {
    border: 1px solid #ddd;
    padding: 0px 15px 15px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    text-align: center;
}

.blog-section {
    text-align: left;
}

.news-list-page .news-items .news-section .buttons {
    text-align: center !important;
}

.news-item-page .comment-info .username {
    padding: 13px 0px;
}

.product-filters .filter-content ul li label {
    margin-bottom: 0;
}

.footer-powered-by p svg {
    width: 18px;
    margin: 0 5px;
}

.product-details-page iframe {
    width: 100%;
    height: 400px;
}

.news-item-page .new-comment .form-fields .required {
    position: absolute;
    right: 0;
    top: 0;
}

.header .header-links table {
    width: auto;
}

.breadcrumb-item + .breadcrumb-item::before {
    display: none;
}

.product-reviews-page .rating-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

    .product-reviews-page .rating-wrapper .first {
        margin-right: 10px;
        line-height: normal;
    }

    .product-reviews-page .rating-wrapper .last {
        margin-left: 10px;
        line-height: normal;
    }

.product-reviews-page .write-review .review-rating .first {
    color: #a94442;
}

.product-reviews-page .write-review .review-rating .last {
    color: #3c763d;
}

.cart .product-quantity div.up,
.cart .product-quantity div.down {
    cursor: pointer;
    width: 20px;
    height: 20px;
    background: #fff;
    box-shadow: 0 0 2px rgba(0, 0, 0, .25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.swiper-pagination-bullet-active {
    padding: 5px;
    background-color: #4ab2f1;
}

a.skip {
    position: absolute;
    top: -1000px;
    left: -1000px;
    height: 1px;
    width: 1px;
    text-align: left;
    overflow: hidden;
}

    a.skip:active,
    a.skip:focus,
    a.skip:hover {
        position: initial;
        top: 0;
        left: 0;
        display: block;
        height: auto;
        margin: 3px 0;
        overflow: visible;
        padding: 2px;
        color: #444444;
        background: #ffffff;
        text-decoration: underline;
        text-align: center;
        width: 100%;
        font-size: 16px;
    }

.product-reviews {
    margin-top: 20px;
    display: inline-block;
    width: 100%;
}

    .product-reviews .title {
        margin: 0 0 30px;
        border-bottom: 1px solid #ddd;
        padding: 0 0 15px;
        font-size: 30px;
        font-weight: normal;
        text-align: center !important;
    }

        .product-reviews .title strong {
            font-weight: normal;
        }

.write-review .form-fields {
    border-top: 0;
    padding-top: 0;
}

.shopping-cart-page .order-summary-content .table td {
    vertical-align: middle;
}

.opc-billing-address-btns {
    width: 100%;
    display: inline-block;
    text-align: center;
    margin-top: 15px;
}

.follow-us .social ul {
    display: flex;
    flex-wrap: wrap;
}

    .follow-us .social ul li svg {
        width: 21px;
    }

        .follow-us .social ul li svg path {
            fill: #444;
        }

.block ul li a {
    position: relative;
}

    .block ul li a > i {
        position: absolute;
        top: 50%;
        transform: translateY(-50%) !important;
        right: 10px;
    }

.block ul li.active a > i {
    transform: translateY(-50%) rotate(90deg) !important;
}

.block-account-navigation ul li a i {
    display: none;
}

.product-quantity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    min-width: 150px;
}

    .product-quantity input {
        width: calc(100% - 56px) !important;
    }

    .product-quantity .quantity.up {
        margin-left: 8px;
    }

    .product-quantity .quantity.down {
        margin-right: 8px;
    }

.form-check {
    display: inline-block;
}

.product-reviews-overview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

    .product-reviews-overview > div {
        margin: 0 6px 0 0;
    }

        .product-reviews-overview > div:last-child {
            margin: 0;
        }

.custom-select {
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
}

.return-items-button {
    margin-left: 5px;
}

.theme-selector select {
    margin: 0 auto
}

.message-error ul {
    margin: 0;
}
