* {
    margin: 0;
    outline: 0;
    padding: 0;
    text-decoration: none
}

*, :after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

html {
    margin: 0 !important;
    -webkit-text-size-adjust: none
}

ol, ul {
    list-style: none
}

a img {
    border: none
}

a:active {
    outline: 0
}

input[type=button]::-moz-focus-inner, input[type=file] > input[type=button]::-moz-focus-inner, input[type=reset]::-moz-focus-inner, input[type=submit]::-moz-focus-inner {
    margin: 0;
    border: 0;
    padding: 0
}

input[type=button], input[type=password], input[type=reset], input[type=submit], input[type=text], textarea {
    border-radius: 0
}

input[type=button], input[type=reset], input[type=submit] {
    -webkit-appearance: none
}

input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff
}

script {
    display: none !important
}

html {
    font-size: unset
}

body {
    font-size: 1em;
    font-family: 'Inter',sans-serif;
    color: #555
}

    body.mobile {
        overflow: hidden
    }

a {
    color: #555;
    text-decoration: none
}

    a:active, a:focus, a:hover {
        text-decoration: none;
        color: #333
    }

img {
    max-width: 100%
}

a.button, button {
    background-color: #3984eb;
    color: #fff;
    border: solid 1px transparent !important;
    padding: 5px 10px
}

button, input, select, textarea {
    padding: 5px 10px;
    border: solid 1px #ccc
}

    button[type=button], button[type=submit], input[type=button], input[type=submit], select[type=button], select[type=submit], textarea[type=button], textarea[type=submit] {
        background-color: #3984eb;
        margin: 1px;
        color: #fff;
        border: solid 1px transparent !important;
        float: none
    }

    button:focus, input:focus, select:focus, textarea:focus {
        outline: 0;
        border: solid 1px #999
    }

    button.qty-input, input.qty-input, select.qty-input, textarea.qty-input {
        width: 50px
    }

    button.add-to-cart-button, input.add-to-cart-button, select.add-to-cart-button, textarea.add-to-cart-button {
        text-transform: uppercase
    }

.label {
    font-size: 1em;
    color: #555;
    padding: 0
}

a.button-secondary, button.button-secondary, input[type=button].button-secondary, input[type=submit].button-secondary {
    padding: 5px 10px;
    background-color: #555;
    color: #fff;
    border: solid 1px #555 !important
}

h1, h2, h3, h4, h5, h6 {
    border-bottom: solid 3px #555;
    color: #555;
    padding-bottom: 15px;
    margin-bottom: 25px;
    text-align: center
}

.nopadding {
    padding: 0 !important
}

.bar-notification, .flyout-cart {
    display: none
}

.bar-notification {
    background-color: #5d0;
    color: #111;
    position: fixed;
    width: 100%;
    text-align: center;
    z-index: 5;
    padding: 5px
}

    .bar-notification a {
        color: #111;
        text-decoration: underline
    }

    .bar-notification p {
        margin-bottom: 0;
        margin-top: 10px
    }

    .bar-notification .close .fa-times {
        margin-top: 10px
    }

#topcartlink {
    position: relative
}

.flyout-cart {
    display: none;
    position: absolute;
    z-index: 5;
    background-color: #fff;
    border: solid 1px #ccc;
    padding: 10px;
    right: 0;
    top: 55px;
    width: 400px
}

    .flyout-cart.active {
        display: block
    }

    .flyout-cart a {
        padding: 0 !important
    }

    .flyout-cart .mini-shopping-cart .count {
        text-align: center;
        border-bottom: solid 1px #eee;
        margin-bottom: 10px;
        padding-bottom: 5px
    }

    .flyout-cart .mini-shopping-cart .items .item {
        clear: both;
        border-top: solid 1px #eee;
        padding: 15px 0;
        text-align: left
    }

        .flyout-cart .mini-shopping-cart .items .item.first {
            border-top: none
        }

        .flyout-cart .mini-shopping-cart .items .item .picture {
            float: left
        }

        .flyout-cart .mini-shopping-cart .items .item .product {
            padding-left: 80px
        }

    .flyout-cart .mini-shopping-cart .totals {
        clear: both;
        border-top: solid 1px #eee;
        margin-top: 10px;
        padding-top: 5px;
        text-align: center
    }

    .flyout-cart .mini-shopping-cart .buttons {
        clear: both;
        text-align: center;
        margin: 15px 0
    }

        .flyout-cart .mini-shopping-cart .buttons input {
            text-transform: uppercase
        }

.admin-header-links {
    background-color: #555;
    text-align: center;
    padding: 20px 0
}

    .admin-header-links a {
        color: #fff
    }

.header .header-upper {
    padding: 0 15px;
    border-bottom: solid 1px #ddd;
    background-color: #eef
}

    .header .header-upper #header-searchbox, .header .header-upper #header-selectors {
        padding-top: 12px
    }

    .header .header-upper .header-selectors-wrapper > div > div {
        display: inline-block;
        height: 35px;
        margin-left: 10px
    }

    .header .header-upper .header-links-wrapper .header-links {
        text-align: right
    }

        .header .header-upper .header-links-wrapper .header-links ul {
            margin-bottom: 0
        }

            .header .header-upper .header-links-wrapper .header-links ul li {
                border-left: solid 1px transparent;
                border-right: solid 1px transparent
            }

                .header .header-upper .header-links-wrapper .header-links ul li:hover {
                    background-color: #fff;
                    border-left: solid 1px #ddd;
                    border-right: solid 1px #ddd
                }

            .header .header-upper .header-links-wrapper .header-links ul a {
                padding: 17px 5px;
                display: inline-block
            }

.header .header-lower {
    padding: 10px 15px;
    border-bottom: solid 1px #ddd
}

    .header .header-lower .header-menu .menu-toggle {
        background-color: #fff;
        padding: 10px;
        margin: 25px 0 0 0;
        cursor: pointer;
        border: solid 1px #eee
    }

    .header .header-lower .header-menu ul.top-menu .sublist-toggle {
        padding-left: 10px
    }

    .header .header-lower .header-menu ul.top-menu > li {
        display: inline-block;
        position: relative
    }

        .header .header-lower .header-menu ul.top-menu > li > a {
            padding: 18px 10px;
            display: inline-block
        }

        .header .header-lower .header-menu ul.top-menu > li .sublist {
            position: absolute;
            min-width: 150px;
            z-index: 1;
            text-align: left;
            background-color: #fff;
            border: solid 1px #eee;
            box-shadow: 0 0 2px rgba(0,0,0,.5);
            display: none
        }

        .header .header-lower .header-menu ul.top-menu > li > .sublist {
            top: 45px
        }

            .header .header-lower .header-menu ul.top-menu > li > .sublist li {
                position: relative
            }

                .header .header-lower .header-menu ul.top-menu > li > .sublist li:hover {
                    background-color: #eee
                }

                .header .header-lower .header-menu ul.top-menu > li > .sublist li a {
                    padding: 5px 10px;
                    display: block
                }

                .header .header-lower .header-menu ul.top-menu > li > .sublist li .sublist {
                    left: 100%;
                    top: 0
                }

                .header .header-lower .header-menu ul.top-menu > li > .sublist li:hover > .sublist {
                    display: block
                }

        .header .header-lower .header-menu ul.top-menu > li:hover > .sublist {
            display: block
        }

    .header .header-lower .header-menu ul.top-menu.mobile {
        display: none
    }

        .header .header-lower .header-menu ul.top-menu.mobile li {
            display: block
        }

            .header .header-lower .header-menu ul.top-menu.mobile li a {
                padding: 10px 10px;
                display: block !important;
                background-color: #eef;
                border-bottom: solid 1px #fff
            }

            .header .header-lower .header-menu ul.top-menu.mobile li .sublist {
                width: auto;
                position: unset;
                box-shadow: none
            }

                .header .header-lower .header-menu ul.top-menu.mobile li .sublist a {
                    padding: 10px 5px 10px 20px
                }

.header .mobile-links a {
    padding: 10px 0;
    border-right: solid 1px #dde
}

    .header .mobile-links a:last-child {
        border-right: none
    }

.product-item {
    text-align: center;
    border: solid 1px #fff;
    border-bottom: dotted 1px #ddd;
    position: relative;
    min-height: 380px;
    margin-bottom: 10px;
    padding: 5px
}

    .product-item:hover {
        border: solid 1px #aaa
    }

        .product-item:hover .description {
            display: block
        }

    .product-item .description {
        position: absolute;
        display: none;
        background-color: #3339;
        color: #fff;
        text-align: left;
        top: 0;
        right: 0;
        left: 0;
        padding: 0
    }

    .product-item .picture {
        height: 250px
    }

        .product-item .picture img {
            max-height: 100%
        }

    .product-item .prices {
        font-size: 1.5em;
        padding: 3px 0
    }

    .product-item .product-title {
        padding: 10px 0 0 0;
        font-weight: 700;
        text-transform: uppercase
    }

.product-list .product-item {
    height: auto;
    float: left;
    width: 100%;
    min-height: 215px
}

    .product-list .product-item .description {
        position: unset;
        display: block;
        background-color: #fff;
        color: #555;
        height: auto
    }

    .product-list .product-item .picture {
        float: left;
        width: 20%;
        height: 200px
    }

    .product-list .product-item .details {
        float: left;
        width: 80%;
        text-align: left
    }

        .product-list .product-item .details .product-title {
            padding: 10px
        }

    .product-list .product-item .add-info {
        padding-left: 10px
    }

.news-item .news-head .news-title {
    font-weight: 700;
    display: block
}

.news-item .news-head .news-date {
    font-size: .8em;
    color: gray
}

.news-items + .view-all {
    text-align: center;
    padding: 15px 0
}

.breadcrumb {
    background-color: #fff;
    margin-bottom: 0;
    padding: 15px 0
}

    .breadcrumb ul li {
        display: inline
    }

.footer {
    background-color: #eef;
    color: #555;
    margin-top: 20px;
    padding-top: 20px;
    clear: both
}

    .footer .footer-block .title {
        font-size: 1.2em
    }

        .footer .footer-block .title h3 {
            text-align: left !important
        }

    .footer .footer-block ul.networks a {
        font-size: 1.5em
    }

    .footer .newsletter {
        text-align: center
    }

        .footer .newsletter h3 {
            border-bottom: none;
            margin-bottom: 0
        }

    .footer .newsletter-box {
        border-bottom: solid 1px #ddd;
        padding-bottom: 15px
    }

        .footer .newsletter-box .newsletter-subscribe .options {
            margin: 10px auto
        }

    .footer .footer-upper {
        border-top: solid 1px #fff;
        padding-top: 25px
    }

    .footer .footer-lower {
        padding: 25px 0;
        text-align: center;
        background: rgba(255,255,255,.5);
        border-top: solid 2px #ffe
    }

.side-2 {
    background-color: #fff;
    border-right: solid 1px #fff;
    padding: 15px
}

    .side-2 .sidebar-left ul.list a {
        display: block;
        padding: 5px
    }

        .side-2 .sidebar-left ul.list a.active {
            background-color: #eee
        }

    .side-2 .sidebar-left ul.list li.active > a {
        background-color: #eee
    }

    .side-2 .sidebar-left ul.list .sublist {
        padding-left: 10px
    }

    .side-2 .sidebar-left .block-recently-viewed-products ul.list li {
        height: 80px
    }

        .side-2 .sidebar-left .block-recently-viewed-products ul.list li a.product-picture {
            float: left
        }

    .side-2 .block .title {
        border-bottom: solid 1px #ddd;
        padding: 10px 0;
        margin-bottom: 10px
    }

    .side-2 .block .tags li {
        display: inline
    }

.product-filters, .product-selectors {
    margin: 15px 0;
    padding: 15px 0;
    border-bottom: solid 1px #ccc
}

.product-viewmode {
    text-align: right
}

    .product-viewmode a {
        margin-left: 5px;
        color: #999
    }

        .product-viewmode a.selected {
            font-weight: 700;
            color: #555
        }

.product-filters {
    margin: 15px 0
}

    .product-filters .filtered-items {
        background-color: #eff;
        padding: 5px 10px
    }

.product-details-page .free-shipping {
    font-size: 1.5em
}

.product-details-page .product-essential, .product-details-page .variant-overview {
    padding-bottom: 15px;
    border-bottom: solid 1px #ccc;
    margin-bottom: 15px
}

    .product-details-page .product-essential .product-name h3, .product-details-page .product-essential .variant-name h3, .product-details-page .variant-overview .product-name h3, .product-details-page .variant-overview .variant-name h3 {
        text-align: left
    }

    .product-details-page .product-essential .meta-box, .product-details-page .variant-overview .meta-box {
        border-bottom: solid 1px #ddd;
        padding: 5px 0;
        margin: 5px 0
    }

        .product-details-page .product-essential .meta-box .label, .product-details-page .variant-overview .meta-box .label {
            color: #555;
            font-size: 1em;
            padding: 0
        }

    .product-details-page .product-essential .old-product-price, .product-details-page .variant-overview .old-product-price {
        text-decoration: line-through;
        font-size: 1.5em
    }

    .product-details-page .product-essential .product-price, .product-details-page .variant-overview .product-price {
        font-size: 2em
    }

    .product-details-page .product-essential .product-variant-line .add-to-cart, .product-details-page .variant-overview .product-variant-line .add-to-cart {
        float: left
    }

.product-details-page .overview-buttons {
    margin: 10px 0;
    font-size: .9em
}

    .product-details-page .overview-buttons > div {
        display: inline-block;
        margin-right: 5px
    }

.product-details-page .product-tags-list {
    text-align: center
}

    .product-details-page .product-tags-list li {
        display: inline;
        margin: 0 5px
    }

ul.color-squares li {
    display: inline
}

    ul.color-squares li label {
        position: relative;
        border: solid 2px #fff;
        overflow: hidden;
        cursor: pointer
    }

        ul.color-squares li label .color {
            width: 30px;
            height: 30px;
            float: left
        }

        ul.color-squares li label input {
            position: absolute;
            opacity: 0;
            left: -500px
        }

    ul.color-squares li.selected-value label {
        border: solid 2px red
    }

div.cart {
    width: 100%
}

    div.cart #products-table .heading {
        background-color: #eee;
        color: #555;
        padding: 10px 0
    }

    div.cart #products-table .cart-item {
        padding: 10px 0
    }

    div.cart #products-table .common-buttons {
        padding: 10px 0;
        border-top: solid 1px #eee
    }

    div.cart .widget-box {
        background-color: #eee;
        margin-bottom: 10px;
        padding: 20px;
        border: solid 1px #ccc
    }

        div.cart .widget-box input[type=text] {
            width: 165px
        }

        div.cart .widget-box dl {
            margin-bottom: 0
        }

        div.cart .widget-box .roasted-collapsible a {
            display: block;
            color: #555;
            font-weight: 700
        }

            div.cart .widget-box .roasted-collapsible a:hover {
                text-decoration: none
            }

            div.cart .widget-box .roasted-collapsible a:active {
                text-decoration: none
            }

        div.cart .widget-box .roasted-collapsible-container {
            margin-top: 10px
        }

.fieldset .title {
    font-size: 1.2em
}

.fieldset .form-fields .inputs {
    margin: 20px 0
}

    .fieldset .form-fields .inputs > label {
        display: block
    }

    .fieldset .form-fields .inputs input[type=email], .fieldset .form-fields .inputs input[type=number], .fieldset .form-fields .inputs input[type=password], .fieldset .form-fields .inputs input[type=text], .inputs input[type=tel], .fieldset .form-fields .inputs textarea {
        width: 100%;
        max-width: 300px;
        resize: none
    }

    .fieldset .form-fields .inputs input + label {
        display: inline-block
    }

span.required {
    color: maroon
}

.inputs {
    margin: 20px 0
}

    .inputs > label {
        display: block
    }

    .inputs input[type=text], .inputs select, .inputs textarea {
        width: 100%;
        max-width: 300px
    }

    .inputs.date-of-birth select {
        width: 100%;
        max-width: 150px;
        margin-right: 5px
    }

.buttons {
    margin: 20px 0
}

.address-item {
    border: solid 1px #eee;
    padding: 10px
}

.checkout-data .tab-section {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: solid 1px #ccc
}

    .checkout-data .tab-section .step-title .number {
        width: 40px;
        height: 40px;
        background-color: #999;
        border-radius: 50% !important;
        display: inline-block;
        color: #fff;
        text-align: center;
        font-size: 1.65em;
        margin-right: 10px
    }

    .checkout-data .tab-section .step-title h2 {
        border-bottom: none;
        display: inline-block;
        color: #999;
        margin: 0
    }

    .checkout-data .tab-section.allow:not(.active) {
        cursor: pointer
    }

        .checkout-data .tab-section.allow:not(.active) .step-title .number {
            background-color: #3984eb;
            color: #3984eb;
            padding-left: 10px;
            overflow: hidden;
            float: right
        }

            .checkout-data .tab-section.allow:not(.active) .step-title .number:before {
                content: "\2713 ";
                color: #fff
            }

        .checkout-data .tab-section.allow:not(.active) .step-title h2 {
            color: #555
        }

    .checkout-data .tab-section.active {
        cursor: pointer
    }

        .checkout-data .tab-section.active .step-title .number {
            background-color: #555;
            color: #fff
        }

        .checkout-data .tab-section.active .step-title h2 {
            color: #555
        }

    .checkout-data .tab-section .payment-method .payment-details, .checkout-data .tab-section .payment-method .payment-logo {
        display: inline
    }

    .checkout-data .tab-section .payment-method li {
        padding: 10px 0;
        display: block;
        border-bottom: solid 1px #eee
    }

table.data-table {
    width: 100%
}

    table.data-table tr.even {
        background-color: #eee
    }

    table.data-table td, table.data-table th {
        padding: 10px;
        border: solid 1px #ddd
    }

        table.data-table td.spec-name, table.data-table th.spec-name {
            font-weight: 700
        }

.pager li {
    margin: 0 5px
}

    .pager li a, .pager li span {
        border-radius: 0 !important
    }

    .pager li.current-page span {
        background-color: #3984eb;
        color: #fff;
        border: solid 1px #3984eb
    }

.slider-wrapper.theme-custom {
    margin: 0;
    max-width: 100%
}

.mobile-icon.active {
    background-color: #3984eb;
    color: #fff
}

.mobile-icon-popup {
    position: fixed;
    display: block !important;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.9);
    z-index: 100;
    left: 0;
    top: 40px;
    padding-bottom: 20px;
    text-align: center;
    overflow: auto
}

    .mobile-icon-popup div {
        width: 100%;
        margin-left: 0 !important
    }

    .mobile-icon-popup input[type=text], .mobile-icon-popup select {
        width: 90%;
        margin: 5px 0
    }

    .mobile-icon-popup .title {
        color: #fff;
        padding: 15px 0
    }

    .mobile-icon-popup li {
        text-align: left;
        display: block
    }

        .mobile-icon-popup li a {
            color: #fff;
            padding: 10px 25px !important;
            display: block;
            border-bottom: solid 1px #555
        }

#user-info-menu {
    position: relative
}

    #user-info-menu > div {
        position: absolute;
        right: 0;
        display: none;
        min-width: 200px;
        width: auto;
        z-index: 1;
        text-align: left;
        top: 56px;
        border: solid 1px #ccc;
        background-color: #fff
    }

        #user-info-menu > div .title {
            text-align: center;
            border-bottom: solid 1px #ddd;
            padding: 10px 0
        }

        #user-info-menu > div li a {
            padding: 10px;
            display: block
        }

            #user-info-menu > div li a:hover {
                background-color: #eee
            }

    #user-info-menu:hover > div {
        display: block
    }

    #user-info-menu #logout-menu {
        border-top: solid 1px #ddd
    }

#eu-cookie-bar-notification {
    text-align: center;
    padding: 15px 0
}

.product-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: center
}

.featured-box {
    background: #f5f5f5;
    background: -webkit-linear-gradient(top,#fff 1%,#fcfcfc 98%) repeat scroll 0 0 transparent;
    background: linear-gradient(to bottom,#fff 1%,#fcfcfc 98%) repeat scroll 0 0 transparent;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #dfdfdf;
    border-left: 1px solid #ececec;
    border-radius: 8px;
    border-right: 1px solid #ececec;
    box-shadow: 0 1px 1px 0 rgba(0,0,0,.04);
    height: 380px;
    position: relative;
    text-align: center;
    z-index: 1;
    width: 32%;
    margin: 5px
}

    .featured-box .box-content {
        border-radius: 8px;
        border-top: 1px solid #ccc;
        border-top-width: 4px;
        padding: 15px;
        position: relative;
        transition: all .3s ease;
        height: 100%
    }

    .featured-box:hover {
        box-shadow: 0 0 7px 0 rgba(0,0,0,.5)
    }

.featured-box-primary .box-content {
    border-top-color: red
}

.featured-box-primary h4 {
    color: red
}

.no-image {
    display: flex;
    align-items: center;
    height: 260px
}

.no-para {
    height: 210px
}

.featured-box h4 {
    font-size: 1.3em;
    font-weight: 400;
    letter-spacing: -.7px;
    margin-top: 5px;
    margin-bottom: 5px;
    text-align: center
}

.featured-box .learn-more {
    display: block;
    margin-top: 10px;
    text-decoration: none
}

.featured-box .box-content:hover .learn-more {
    color: red
}

p {
    color: #777;
    line-height: 24px;
    text-align: left;
    margin: 10px 0
}

img {
    max-width: 100%
}

.hidden-text {
    display: none;
    position: absolute;
    top: 0;
    padding: 29px;
    background: rgba(0,0,0,.6);
    margin: 0;
    border-radius: 7px;
    color: #fff;
    transition: all .3s ease;
    height: 100%;
    align-items: center
}

    .hidden-text:hover {
        color: #fff
    }

.hover-item:hover .hidden-text {
    display: flex
}

.hover-item:hover .box-content {
    opacity: .2
}

.left-nav li {
    margin: 0;
    padding: 0;
    display: block;
    position: relative
}

.about-left-nav {
    float: left !important
}

