/* -----------------------------------------------------------------------------
Title:			Netmatter Framework CSS - Magento 2x
Author:			Netmatter Ltd
Author URI:		https://www.netmatter.co.uk/

TABLE OF CONTENTS

:: Resets - located in grid.css, loaded prior to default.css
:: Fonts
:: HTML
	:: sections
	:: grouping content
	:: text-level semantics
	:: embedded content
	:: links
	:: tabular data
	:: forms & buttons
:: Generic
	:: utilities
	:: social links as icons
    :: flexslider
    :: background images
:: Magento Generic
	:: float clearing
	:: system messages & errors
	:: cookie notice
	:: tooltips
	:: loading spinner
	:: links
	:: forms
	:: buttons & actions
	:: actions-toolbar buttons and actions
:: Magento Content
    :: main wrapper
	:: blocks
	:: page titles
	:: admin-controlled content (wysiwyg)
	:: data tables
	:: widgets
	:: reviews
:: Magento Off Canvas
:: Header
    :: menu toggle
	:: logo
	:: search
	:: switcher
	:: header links
	:: minicart
:: Menu
:: Breadcrumbs
:: Products
	:: items
	:: images
	:: details
	:: prices
	:: availability
	:: wish list, compare and email links
:: Categories
	:: content
	:: title
	:: descripton
	:: promo content
	:: essentials range, used on home and shop home
	:: subcategories (landing page layout)
	:: sidebar main (layered navigation)
	:: sidebar additional (products, compare, widgets)
	:: toolbar
	:: pagination
	:: products
	:: shop home
:: Search results
:: Product, Netmatter Custom Layouts
:: Product
	:: images
	:: main info
	:: prices
	:: add to
	:: delivery widget
	:: product info tabs
	:: product info tabs - description
	:: product info tabs - attributes
	:: product info tabs - reviews
	:: configurable
	:: bundle
	:: grouped
	:: downloadable
	:: virtual
:: Related Products
:: Upsell Products
:: Product Compare
:: Cart
	:: cart tables
	:: cross sell
	:: cart summary
	:: estimate shipping & tax
	:: coupons
	:: totals
	:: cart summary widgets
	:: checkout multishipping
	:: checkout methods
:: Checkout
	:: global
	:: signin
	:: progress bar
	:: estimated total
	:: checkout messages
	:: checkout wrapper & steps
	:: shipping addresses
	:: shipping methods
	:: payment methods
	:: coupons
	:: sidebar, order summary
	:: sidebar, order summary, products in cart
	:: sidebar, order summary, shipping
	:: checkout success
:: Account
	:: login, register
	:: forgot password
	:: sidebar
	:: global
	:: forms
	:: dashboard, reviews
	:: dashboard, orders
	:: orders
	:: orders, downloadable
	:: account information
	:: payment methods
	:: billing agreements
	:: reviews
	:: newsletter
	:: wishlist
	:: compare
:: CMS Pages
	:: home
	:: contact
	:: about us
	:: 404
	:: terms & conditions
:: Footer
    :: page-bottom
	:: newsletter
	:: copyright
:: Responsive
	:: min-width: 320px
	:: min-width: 360px
	:: min-width: 480px
	:: min-width: 600px
	:: min-width: 768px
	:: max-width: 768px
	:: min-width: 1024px
	:: max-width: 1024px
	:: min-width: 1100px
	:: min-width: 1200px
	:: min-width: 1280px
	:: min-width: 1400px
	:: min-width: 1600px
----------------------------------------------------------------------------- */

/* -----------------------------------------------
:: Fonts
----------------------------------------------- */
@font-face {
    font-family: "noto_serifregular";
    src: url("../fonts/notoserif/NotoSerif-Regular-webfont.eot");
    src: url("../fonts/notoserif/NotoSerif-Regular-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/notoserif/NotoSerif-Regular-webfont.woff") format("woff"),
        url("../fonts/notoserif/NotoSerif-Regular-webfont.ttf")
            format("truetype"),
        url("../fonts/notoserif/NotoSerif-Regular-webfont.svg#noto_serifregular")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "noto_serifitalic";
    src: url("../fonts/notoserif/NotoSerif-Italic-webfont.eot");
    src: url("../fonts/notoserif/NotoSerif-Italic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/notoserif/NotoSerif-Italic-webfont.woff") format("woff"),
        url("../fonts/notoserif/NotoSerif-Italic-webfont.ttf")
            format("truetype"),
        url("../fonts/notoserif/NotoSerif-Italic-webfont.svg#noto_serifitalic")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "noto_serifbold";
    src: url("../fonts/notoserif/NotoSerif-Bold-webfont.eot");
    src: url("../fonts/notoserif/NotoSerif-Bold-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/notoserif/NotoSerif-Bold-webfont.woff") format("woff"),
        url("../fonts/notoserif/NotoSerif-Bold-webfont.ttf") format("truetype"),
        url("../fonts/notoserif/NotoSerif-Bold-webfont.svg#noto_serifbold")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: "noto_serifbold_italic";
    src: url("../fonts/notoserif/NotoSerif-BoldItalic-webfont.eot");
    src: url("../fonts/notoserif/NotoSerif-BoldItalic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/notoserif/NotoSerif-BoldItalic-webfont.woff")
            format("woff"),
        url("../fonts/notoserif/NotoSerif-BoldItalic-webfont.ttf")
            format("truetype"),
        url("../fonts/notoserif/NotoSerif-BoldItalic-webfont.svg#noto_serifbold_italic")
            format("svg");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "OpenSansBoldItalic";
    src: url("../fonts/opensans/OpenSans-BoldItalic-webfont.eot");
    src: url("../fonts/opensans/OpenSans-BoldItalic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-BoldItalic-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-BoldItalic-webfont.ttf")
            format("truetype"),
        url("../fonts/opensans/OpenSans-BoldItalic-webfont.svg#RobotoLight")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansBoldItalic";
        src: url("../fonts/opensans/OpenSans-BoldItalic-webfont.svg#RobotoLight")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansBold";
    src: url("../fonts/opensans/OpenSans-Bold-webfont.eot");
    src: url("../fonts/opensans/OpenSans-Bold-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-Bold-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-Bold-webfont.ttf") format("truetype"),
        url("../fonts/opensans/OpenSans-Bold-webfont.svg#RobotoRegular")
            format("svg");
    font-weight: normal;
    font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansBold";
        src: url("../fonts/opensans/OpenSans-Bold-webfont.svg#RobotoRegular")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansExtraBoldItalic";
    src: url("../fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot");
    src: url("../fonts/opensans/OpenSans-ExtraBoldItalic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-ExtraBoldItalic-webfont.woff")
            format("woff"),
        url("../fonts/opensans/OpenSans-ExtraBoldItalic-webfont.ttf")
            format("truetype"),
        url("../fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg#RobotoItalic")
            format("svg");
    font-weight: normal;
    font-style: normal;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansExtraBoldItalic";
        src: url("../fonts/opensans/OpenSans-ExtraBoldItalic-webfont.svg#RobotoItalic")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansExtraBold";
    src: url("../fonts/opensans/OpenSans-ExtraBold-webfont.eot");
    src: url("../fonts/opensans/OpenSans-ExtraBold-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-ExtraBold-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-ExtraBold-webfont.ttf")
            format("truetype"),
        url("../fonts/opensans/OpenSans-ExtraBold-webfont.svg#RobotoMedium")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansExtraBold";
        src: url("../fonts/opensans/OpenSans-ExtraBold-webfont.svg#RobotoMedium")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansItalic";
    src: url("../fonts/opensans/OpenSans-Italic-webfont.eot");
    src: url("../fonts/opensans/OpenSans-Italic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-Italic-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-Italic-webfont.ttf") format("truetype"),
        url("../fonts/opensans/OpenSans-Italic-webfont.svg#RobotoBold")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansItalic";
        src: url("../fonts/opensans/OpenSans-Italic-webfont.svg#RobotoBold")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansLightItalic";
    src: url("../fonts/opensans/OpenSans-LightItalic-webfont.eot");
    src: url("../fonts/opensans/OpenSans-LightItalic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-LightItalic-webfont.woff")
            format("woff"),
        url("../fonts/opensans/OpenSans-LightItalic-webfont.ttf")
            format("truetype"),
        url("../fonts/opensans/OpenSans-LightItalic-webfont.svg#RobotoBlack")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansLightItalic";
        src: url("../fonts/opensans/OpenSans-LightItalic-webfont.svg#RobotoBlack")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansLight";
    src: url("../fonts/opensans/OpenSans-Light-webfont.eot");
    src: url("../fonts/opensans/OpenSans-Light-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-Light-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-Light-webfont.ttf") format("truetype"),
        url("../fonts/opensans/OpenSans-Light-webfont.svg#RobotoLightItalic")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansLight";
        src: url("../fonts/opensans/OpenSans-Light-webfont.svg#RobotoLightItalic")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansRegular";
    src: url("../fonts/opensans/OpenSans-Regular-webfont.eot");
    src: url("../fonts/opensans/OpenSans-Regular-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-Regular-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-Regular-webfont.ttf") format("truetype"),
        url("../fonts/opensans/OpenSans-Regular-webfont.svg#roboto_slablight")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansRegular";
        src: url("../fonts/opensans/OpenSans-Regular-webfont.svg#roboto_slablight")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansSemiBoldItalic";
    src: url("../fonts/opensans/OpenSans-SemiboldItalic-webfont.eot");
    src: url("../fonts/opensans/OpenSans-SemiboldItalic-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-SemiboldItalic-webfont.woff")
            format("woff"),
        url("../fonts/opensans/OpenSans-SemiboldItalic-webfont.ttf")
            format("truetype"),
        url("../fonts/opensans/OpenSans-SemiboldItalic-webfont.svg#roboto_slabregular")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansSemiBoldItalic";
        src: url("../fonts/opensans/OpenSans-SemiboldItalic-webfont.svg#roboto_slabregular")
            format("svg");
    }
}

@font-face {
    font-family: "OpenSansSemiBold";
    src: url("../fonts/opensans/OpenSans-Semibold-webfont.eot");
    src: url("../fonts/opensans/OpenSans-Semibold-webfont.eot?#iefix")
            format("embedded-opentype"),
        url("../fonts/opensans/OpenSans-Semibold-webfont.woff") format("woff"),
        url("../fonts/opensans/OpenSans-Semibold-webfont.ttf")
            format("truetype"),
        url("../fonts/opensans/OpenSans-Semibold-webfont.svg#roboto_slabbold")
            format("svg");
    font-weight: normal;
    font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @font-face {
        font-family: "OpenSansSemiBold";
        src: url("../fonts/opensans/OpenSans-Semibold-webfont.svg#roboto_slabbold")
            format("svg");
    }
}

/* -----------------------------------------------
:: HTML
----------------------------------------------- */

/*
:: sections
*/
body {
    font-family: OpenSansRegular, Arial, sans-serif;
    font-size: 100%;
    font-weight: normal;
    line-height: 1.5em;
    color: #555555;
    -webkit-transition: opacity 250ms ease-out 100ms;
    -moz-transition: opacity 250ms ease-out 100ms;
    transition: opacity 250ms ease-out 100ms;
}

p::-moz-selection,
l1::-moz-selection {
    background-color: #8c627f;
    color: #fff;
}
p::selection,
li::selection {
    background-color: #8c627f;
    color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.1em;
    color: #333333;
}

h1 {
    font-family: noto_serifregular;
    font-size: 40px;
    font-size: 2.5rem;
}

h2 {
    font-family: OpenSansSemiBold;
    font-size: 24px;
    font-size: 1.5rem;
}

h3 {
    font-family: OpenSansSemiBold;
    font-size: 20px;
    font-size: 1.25rem;
}

h4,
h5,
h6 {
    font-family: noto_serifbold;
    font-size: 16px;
    font-size: 1rem;
}

.red-titles h1,
.red-titles h2,
.red-titles h3,
.red-titles h4,
.red-titles h5 {
    color: #e31b35;
}

/*
:: grouping content
*/
p,
address {
    font-size: 14px;
    font-size: 0.875rem;
}

/*
:: text-level semantics
*/

/*
:: links
*/

/*
:: forms
*/
.fieldset > .field > .label,
.fieldset > .fields > .field > .label {
    color: #495057;
}

.fieldset > .field > .label span,
.fieldset > .fields > .field > .label span {
    font-size: 14px;
    font-size: 0.875rem;
    color: #495057;
}

input.input-text:focus,
input[type="text"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
    outline: none;
    color: #495057;
    border: 1px solid #bbb;
    -webkit-box-shadow: 0px 0px 3px 0px #bbb;
    -moz-box-shadow: 0px 0px 3px 0px #bbb;
    box-shadow: 0px 0px 3px 0px #bbb;
}

/*
:: tabular data
*/

/* -----------------------------------------------
:: Generic
----------------------------------------------- */

/*
:: utilities
*/
.social a:before {
    color: #333;
}

.centered {
    text-align: center;
}

/*
:: list items with icons
*/

/*
:: flexslider
*/

/*
:: background images
*/
.background-image {
    position: relative;
    height: 500px;
    background-size: cover !important;
    background-position: 60% 0;
    text-align: center;
}

.background-image .overlay {
    position: absolute;
    left: 2em;
    top: 2em;
    width: 50%;
    text-align: left;
}

.background-image .overlay h3 {
    font-family: noto_serifregular;
    font-size: 32px;
    font-size: 2rem;
    text-transform: uppercase;
}

.background-image .overlay p {
    line-height: 1.5em;
}

/* -----------------------------------------------
:: Magento Generic
----------------------------------------------- */

/*
:: float clearing
*/

/*
:: system messages & errors
*/

/*
:: cookie notice
*/

/*
:: tooltips
*/

/*
:: loading spinner
*/

/*
:: links
*/

/*
:: forms
*/

/*
:: buttons & actions
*/
button span {
    padding: 0.95em 4em 1em 4em;
    font-family: noto_serifregular;
    font-size: 14px;
    font-size: 0.875rem;
    color: #fff;
    text-transform: none;
    background-color: #e31b35;
}

a.button,
span.button,
.action.primary span {
    display: inline-block;
    padding: 0.75em 3em 0.75em 3em;
    color: #fff;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
    font-family: "noto_serifregular";
    text-align: center;
    background-color: #e31b35;
}

a.button.small {
    padding: 0.5em 2em 0.5em 2em;
    font-size: 12px;
    font-size: 0.75rem;
}

.action.primary:hover span {
    color: #fff;
    background-color: #e31b35;
}

a.action {
    color: #e31b35;
}

a.button.transparent,
span.button.transparent {
    border: 1px solid #fff;
    background-color: transparent;
}

.box-tocart .fieldset .field.qty .control {
    border: none;
}

.box-tocart .fieldset .field.qty .control button {
    width: 20px;
    border-right: none;
    border-left: none;
}

.product-info-main .product-add-form input.input-text.qty.incrementer {
    padding: inherit;
    width: 40px;
}

/*
:: actions-toolbar buttons and actions
*/

/* -----------------------------------------------
:: Magento Content
----------------------------------------------- */

/*
:: main wrapper
*/

/*
:: blocks
*/

/*
:: page titles
*/

/*
:: admin-controlled content (wysiwyg)
*/

/*
:: data tables
*/

/*
:: widgets
*/

/*
:: reviews
*/
.reviews-actions .action.view,
.reviews-actions .action.add {
    color: #555555;
}

/* -----------------------------------------------
:: Magento Off Canvas
----------------------------------------------- */

/* -----------------------------------------------
:: Header
----------------------------------------------- */

#header {
    margin-bottom: 0;
}

#header .panel.wrapper {
    display: none;
}

#header .inner {
    padding: 1em 0;
}

/*
:: menu toggle
*/
.nav-toggle {
    top: 1.25em;
}

.nav-toggle:before {
    font-size: 33px;
    color: #e31b35;
}

/*
:: logo
*/
#header .logo img {
    max-width: 175px;
}

/*
:: search
*/
#header .toggle-search {
    top: 1.5em;
    right: 4.75em;
}

#header .toggle-search:before {
    color: #444444;
}

.search-open #header .toggle-search:before {
    top: -4px;
}

#header .block-search input {
    border: 1px solid #bbb;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}

/*
:: switcher
*/
#header .switcher .options .action.toggle img {
    position: relative;
    top: 4px;
}

#header .switcher.website .options ul.dropdown {
    padding: 0.25em 0.5em 0.25em 26px;
    margin: 0.25em 0 0 -27px;
    width: 100px;
}

#header .switcher.website .options li {
    margin-bottom: 5px;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: normal;
}

#header .switcher.website .options li a {
    display: block;
}

#header .switcher.website .options li a img {
    display: block;
    float: left;
    margin-right: 4px;
}

/*
:: header social
*/

/*
:: header promo
*/

/*
:: header links
*/

/*
:: minicart
*/
.minicart-wrapper {
    top: 1em;
}

.minicart-wrapper .action.showcart {
    padding-left: 20px;
    min-height: 26px;
    background: url("../images/shopping-bag.png") no-repeat 0 6px;
}

.minicart-wrapper .action.showcart:before {
    content: normal;
}

.minicart-wrapper .action.showcart .counter.qty {
    margin: 0;
}

.minicart-wrapper .action.showcart .counter.qty.empty {
    display: inline-block;
}

.minicart-wrapper .action.showcart .counter-number {
    padding: 6px 4px;
    color: #555555;
    background-color: transparent;
}

.minicart-wrapper .action.showcart .counter.qty.empty .counter-number {
    color: #666666;
    background-color: transparent;
}

.minicart-wrapper .block-minicart .filter-content .action.primary.checkout {
    background-color: #41574c;
}

/* -----------------------------------------------
:: Menu
----------------------------------------------- */

/* -----------------------------------------------
:: Breadcrumbs
----------------------------------------------- */

/* -----------------------------------------------
:: Products
----------------------------------------------- */

/*
:: items
*/

/*
:: images
*/

/*
:: details
*/
.product-item .product-item-info {
    margin-bottom: 4em;
}

.product-item .product-item-name {
    display: block;
    margin: 0 0 0.5em 0;
    font-family: noto_serifbold;
    font-size: 1.125rem;
    line-height: 1.25em;
}
.page-products .product-item .product-item-name {
    font-family: noto_serifregular;
    font-size: 1rem;
    line-height: 1.25em;
    margin-bottom: 8px;
    text-align: left;
}
.location-price {
    display: flex;
    justify-content: space-between;
}

.location-price  .price-container {
    white-space: nowrap;
    line-height: 2em;
}
.page-products .product-item-info {
    margin-bottom: 2.5em;
}
.page-products .product-item-info .location-info {
    font-weight: 400;
    text-align: right;
    font-size: 15px;
}
.product-item .product-item-name a {
    color: #555555;
}

.product-item .short-description {
    margin-bottom: 1em;
}

.product-item .short-description p {
    margin-bottom: 0.5em;
    line-height: 1.25em;
}

.product-item .short-description ul {
    padding-left: 25px;
    list-style-type: disc;
}

.product-item .short-description ul li {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: normal;
}

.product-item .purchase-info {
    text-align: center;
}

.product-item .purchase-info .price-box {
    position: relative;
    height: 40px;
    margin-bottom: 2.5em;
}

.product-item .purchase-info .price-box .price-container,
.product-item .purchase-info .price-box .special-price {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
}

.product-item .purchase-info .price-box .old-price {
    position: absolute;
    top: 1.25em;
    right: 0;
    left: 0;
}

.product-item .purchase-info .price-box .old-price .price-label {
    display: none;
}

.product-item .purchase-info .price-box .old-price .price {
    font-size: 12px !important;
    font-size: 0.75rem !important;
}

/*
:: prices
*/
.price-container .price {
    font-family: OpenSansBold;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: normal;
    color: #e31135;
}

.old-price .price-container .price {
    font-family: OpenSansRegular;
}

/*
:: availability
*/

/*
:: wish list, compare and email links
*/
a.towishlist,
a.tocompare,
a.mailto.friend {
    color: #777 !important;
}

/*
:: swatch options
*/
.swatch-option.text:not(.disabled):hover {
    background-color: #e31b35;
    outline: 1px solid #e31b35;
}

.swatch-option.selected {
    background-color: #e31b35;
    outline: 1px solid #e31b35;
    color: #fff;
}

/* -----------------------------------------------
:: Categories
----------------------------------------------- */

/*
:: content
*/
.category-header h1 {
    font-size: 40px;
    font-size: 2.5rem;
    font-weight: normal;
    color: #e31b35;
}

/*
:: title
*/

/*
:: description
*/

/*
:: subcategories (landing page layout)
*/
.category-banner {
    margin-bottom: 15px;
}

.category-banner .category-image {
    height: 250px;
    background-size: cover !important;
    background-position: center top;
    text-align: center;
}

.category-banner .category-image .overlay {
    display: table;
    height: 100%;
    width: 100%;
}

.category-banner .category-image .overlay-colour {
    background: rgba(0, 0, 0, 0.3);
}

.category-banner .category-image .overlay .inner {
    display: table-cell;
    vertical-align: middle;
}

.category-banner .category-image .overlay .inner h1,
.category-banner .category-image .overlay .inner p {
    color: #fff;
}

.category-banner .category-image .overlay .inner p {
    max-width: 600px;
    margin: 0 auto;
    font-size: 16px;
    font-size: 1rem;
}

.subcategories figcaption {
    position: static;
    width: auto;
    text-align: center;
}

.subcategories.staggered h2 {
    font-size: 40px;
    font-size: 2.5rem;
    color: #534f4e;
}

.subcategories .short-description * {
    margin-bottom: 3em;
    font-size: 16px;
    font-size: 1rem;
}

.subcategories .action.view {
    padding: 0.75em 5em;
    font-family: noto_serifregular;
    font-size: 16px;
    font-size: 1rem;
    color: #fff;
    text-transform: none;
    background-color: #e31b35;
}

/*
:: sidebar main (layered navigation)
*/
.sidebar-main .block.filter .filter-title {
    display: block;
    padding: 1em 0;
    font-size: 14px;
    font-size: 0.875rem;
    text-align: center;
    text-transform: uppercase;
    background-color: #e31b35;
    color: #fff;
    border: none;
}

.sidebar-main .block.filter .filter-title:before,
.sidebar-main .block.filter.active .filter-title:before,
.sidebar-main .block.filter .filter-options-title:after,
.sidebar-main
    .block.filter
    .filter-options-item.active
    .filter-options-title::after {
    display: none;
}

.sidebar-main .block.filter .filter-title strong {
    position: relative;
    font-family: "OpenSansBold", Georgia, Times New Roman, serif;
}

.sidebar-main .block.filter .filter-title strong:after {
    position: absolute;
    padding-left: 10px;
    font-size: 24px;
    font-size: 1.5rem;
    font-family: "FontAwesome";
    content: "\f107";
    color: #fff;
}

.sidebar-main .block.filter.active .filter-title strong:after {
    font-family: "FontAwesome";
    content: "\f106";
}

.sidebar-main .block.filter .filter-options-title {
    font-size: 16px;
    font-size: 1rem;
    font-family: "OpenSansBold", Georgia, Times New Roman, serif;
    text-transform: uppercase;
    color: #222;
    border-bottom: 1px solid #333;
}

.sidebar-main .block.filter .filter-options-title span:after {
    position: absolute;
    padding-left: 10px;
    font-size: 20px;
    font-size: 1.25rem;
    font-family: "FontAwesome";
    content: "\f105";
    color: #ccc;
}

.sidebar-main
    .block.filter
    .filter-options-item.active
    .filter-options-title
    span::after {
    font-size: 12px;
    font-size: 0.75rem;
    font-family: "FontAwesome";
    content: "\f068";
}

.sidebar-main .block.filter .filter-options-content {
    margin-left: 1em;
}

.sidebar-main .block.filter .filter-current .action.remove {
    top: -2px;
}

.sidebar-main .block.filter .filter-current .action.remove:before {
    color: #e31b35;
}

.sidebar-main .block.filter .filter-actions .clear {
    padding: 0.25em 0.75em 0.25em 0.75em;
    background-color: #e31b35;
    -webki-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
    color: #fff;
}

/*
:: sidebar additional (products, compare, widgets)
*/

/*
:: toolbar
*/

/*
:: pagination
*/
.toolbar-products .pages {
    display: none;
}

/*
:: products
*/

/* -----------------------------------------------
:: Search results
----------------------------------------------- */
.catalogsearch-result-index h1 {
    font-size: 40px;
    font-size: 2.5rem;
    font-weight: normal;
    color: #e31b35;
}

/* -----------------------------------------------
:: Product, Netmatter Custom Layouts
----------------------------------------------- */

/* -----------------------------------------------
:: Product
----------------------------------------------- */

/*
:: breadcrumbs
*/

/*
:: images
*/
.fotorama__caption {
    display: none !important;
}

.fotorama__thumb-border {
    border: 1px solid #e31b35 !important;
}

/*
:: main info
*/
.product-info-main {
    text-align: left;
}

.product-info-main h1 {
    font-size: 24px;
    line-height: 1.25em;
}

.product-info-main .product-add-form {
    padding: 1em 2em;
    -webkit-box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
    -moz-box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
    box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
}

/*
:: prices
*/
.product-info-main .product-info-price {
    margin-bottom: 1em;
}

.product-info-main .product-info-price .price {
    font-size: 30px;
    font-size: 1.875rem;
}

.product-info-main .product-info-price .old-price .price-container .price {
}

/*
:: tiered pricing
*/

/*
:: booking form
*/
.product-add-form select,
.product-add-form option {
    background-color: #f4f4f4;
    font-size: 14px;
    font-size: 0.875rem;
    color: #495057;
    cursor: pointer;
}

/*
:: add to
*/
.product-info-main .product-add-form .fieldset .field.qty {
    margin-bottom: 1em;
}

.product-info-main .box-tocart .fieldset .actions {
    display: inline-block;
}

.product-info-main .box-tocart .fieldset button span {
    padding: 0.75em 4em;
    font-size: 16px;
    font-size: 1rem;
}

/*
:: delivery widget
*/
.product-info-main .product-delivery {
    margin-bottom: 2em;
    text-align: center;
    background-color: #e2e2e2;
}

.product-info-main .product-delivery .inner {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    line-height: 1em;
}

.product-info-main .product-delivery .inner:before {
    display: inline-block;
    width: 88px;
    height: 60px;
    content: " ";
    background: url(../images/icon-delivery-truck.png) no-repeat 50% 70%;
}

.product-info-main .product-delivery h4 {
    font-family: OpenSansBold;
    font-size: 16px;
    font-size: 1rem;
    color: #e31135;
}

/*
:: product map
*/
.product-info-main .product-map {
    padding: 1.5em 2em 1em 2em;
    -webkit-box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
    -moz-box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
    box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
}

.product-info-main .product-map h2 {
    padding: 0 0 0 0.5em;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: bold;
}

.product-info-main .product-map h2:before {
    position: relative;
    left: -0.5em;
    font-family: FontAwesome;
    content: "\f041";
    color: #3fab1c;
}

.product-info-main #map {
    -webkit-box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
    -moz-box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
    box-shadow: 0px 0px 16px 0px rgba(199, 199, 199, 0.5);
}

/*
:: product info tabs
*/
.product.info.detailed {
    margin-bottom: 0;
}

.product.info.detailed .data.title,
.product.info.detailed .data.title a {
    cursor: pointer;
    text-transform: none;
}

.product.info.detailed .data.title {
    position: relative;
    margin-bottom: 1em;
    text-decoration: none;
    background-color: #f4f4f4;
    border: none;
}

.product.info.detailed .data.title:before {
    position: absolute;
    top: 18px;
    left: 14px;
    font-family: FontAwesome;
    font-size: 20px;
    font-size: 1.25rem;
}

.product.info.detailed .data.title a:before {
    top: 6px;
    right: 18px;
    font-size: 32px;
    font-size: 2rem;
}

.product.info.detailed .data.title.active a:before {
    top: 3px;
    right: 20px;
}

.product.info.detailed .data.title a {
    padding: 0.85em 0 0.85em 2.5em;
    font-family: OpenSansSemiBold;
    font-size: 18px;
    font-size: 1.125rem;
    text-decoration: none;
}

.product.info.detailed .data.title[aria-controls="description"]:before {
    content: "\f002";
}

.product.info.detailed
    .data.title[aria-controls="product.info.important.information"]:before {
    content: "\f05a";
}

.product.info.detailed .data.title[aria-controls="reviews"]:before,
.product.info.detailed
    .data.title[aria-controls="product.info.trustpilot.reviews"]:before {
    content: "\f005";
    color: #00b67a;
}

.product.info.detailed .data.title[aria-controls="amfbreview.list"]:before {
    left: 16px;
    content: "\f09a";
    color: #385898;
}

.product.info.detailed > .item.content:before,
.product.info.detailed > .item.content:after {
    content: "";
    display: table;
}

.product.info.detailed > .item.content:after {
    clear: both;
}

.product.info.detailed > .item.content.active {
    display: block;
}

.product.info.detailed .product.attribute h2 {
    font-size: 18px;
    font-size: 1.125rem;
}

.product.info.detailed .product.attribute p,
.product.info.detailed .product.attribute li,
.product.info.detailed .product.attribute div,
.product.info.detailed .product.attribute span {
    font-size: 14px;
    font-size: 0.875rem;
}

/*
:: product info tabs - description
*/

/*
:: product info tabs - information
*/
.product.info.detailed .product.attribute.important-information span.value {
    display: block;
    margin-bottom: 0.5em;
    padding: 0 1em;
    border-bottom: 1px solid #e2e2e2;
}

.product.info.detailed .product.attribute.important-information a {
    color: #007bdb;
}

/*
:: product info tabs - attributes
*/

/*
:: product info tabs - reviews
*/

/*
:: configurable
*/

/*
:: bundle
*/

/*
:: grouped
*/

/*
:: downloadable
*/

/*
:: virtual
*/

/*
:: yotpo reviews
*/
.catalog-product-view .yotpoBottomLine {
    margin-bottom: 2em;
}

.catalog-product-view .yotpo.yotpo-main-widget {
    clear: none;
    margin-bottom: 3em;
}

/* -----------------------------------------------
:: Related Products
----------------------------------------------- */

.block.related {
    clear: none;
    margin-bottom: 0;
}

.block.related .block-title,
.block.upsell .block-title,
.block.crosssell .block-title {
    padding: 0 0 1em 0;
    text-align: left;
    border-top: none;
}

/* -----------------------------------------------
:: Upsell Products
----------------------------------------------- */

.block.upsell {
    clear: none;
    margin-bottom: 0;
}

/* -----------------------------------------------
:: Product Compare
----------------------------------------------- */

/* -----------------------------------------------
:: Recently Viewed
----------------------------------------------- */
.block-viewed-products-grid {
    padding: 3em 0;
}

.arv-wrapper .block-viewed-products-grid {
    padding: 1em 0 1em 0;
}

.block-viewed-products-grid .block-title {
    padding: 0.85em 0;
    font-family: OpenSansSemiBold;
    font-size: 18px;
    font-size: 1.125rem;
    text-decoration: none;
    text-transform: none;
}

.block-viewed-products-grid .product-items.row {
    max-width: none;
}

.block-viewed-products-grid .product-item .product-item-info {
    margin-bottom: 0;
}

.block-viewed-products-grid .actions-secondary {
    display: none;
}

.arv-wrapper .block-viewed-products-grid .w1024-4 {
    width: 10%;
}

/* -----------------------------------------------
:: Cart
----------------------------------------------- */

.checkout-cart-index #content {
    max-width: 1200px;
}

.checkout-cart-index .page-title-wrapper {
    margin-bottom: 2em;
    text-align: center !important;
}

.checkout-cart-index h1 {
    color: #e31135;
}

/*
:: cart tables
*/
.cart.table td.col.item {
    padding: 1.5em 0.5em 0.5em 205px;
}

.cart.table .product-item-details {
    min-height: 165px;
}

.cart.table .price-including-tax .price,
.cart.table .price-excluding-tax .price {
    color: #e31135;
}

.cart-container .cart.actions .action span {
    font-family: noto_serifregular;
    color: #e31b35;
    text-transform: none;
    background-color: transparent;
    border: 2px solid #e31b35;
    -webkit-border-radius: 40px;
    -moz-border-radius: 40px;
    border-radius: 40px;
}

.cart-container .cart.actions .action:hover span {
    background-color: transparent;
    border: 2px solid #444;
}

/*
:: cross sell
*/

/*
:: cart summary
*/
.cart-container .cart-summary .summary.title {
    margin-bottom: 1.5em;
    font-family: noto_serifregular;
    color: #e31b35;
    text-transform: none;
    text-align: center;
}

/*
:: estimate shipping & tax
*/
.block.shipping {
    display: none;
}

/*
:: coupons
*/
.block.discount .actions-toolbar .primary button span {
    padding: 0.5em 1em;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}

/*
:: totals
*/

/*
:: cart summary widgets
*/

/*
:: checkout multishipping
*/

/*
:: checkout methods
*/

/* -----------------------------------------------
:: Checkout
----------------------------------------------- */

/*
:: global
*/
.checkout-index-index #header {
    padding-top: 1em;
}

.checkout-index-index #header .inner {
    padding: 0.25em 0 0.25em 0;
}

.checkout-index-index #header .logo {
    margin-top: 0;
}

.checkout-index-index #header .logo,
.checkout-index-index #header .logo img {
    max-width: none;
}

.checkout-index-index .page-title-wrapper {
    padding: 2em 0 2em 0;
}

.checkout-index-index .page-title {
    text-transform: none;
    color: #e31b35;
}

#iosc-summary button.action.checkout {
    background-color: #e31b35 !important;
}

.checkout-index-index .checkout-authentication-block {
    padding-bottom: 5px;
}

/*
:: signin
*/

/*
:: progress bar
*/

/*
:: estimated total
*/

/*
:: checkout messages
*/

/*
:: checkout wrapper & steps
*/
.oscheckout .opc-wrapper form.form-login {
    padding: 0 2em 1em 2em !important;
    margin: 0 -2em 2em -2em;
    background-color: #f5f5f5;
    border-bottom: 2em solid #fff;
}

.oscheckout .opc-wrapper form.form-login .step-title {
    margin-bottom: 0 !important;
}

.oscheckout .opc-wrapper .title-number {
    display: none !important;
}

.oscheckout .opc-wrapper #shipping,
.oscheckout .opc-wrapper #opc-shipping_method,
.oscheckout .opc-wrapper #payment,
.oscheckout .opc-wrapper #opc-custom-checkout-form {
    padding: 2em 2em 1em 2em !important;
    margin-bottom: 2em;
    border: none !important;
    background-color: #f5f5f5;
}

.oscheckout .opc-wrapper #opc-custom-checkout-form {
    padding: 2em 2em 0em 2em !important;
}

.oscheckout .opc-wrapper li#opc-custom-checkout-form .label vspan {
    font-size: 14px;
    font-size: 0.875rem;
}

.oscheckout .opc-wrapper #opc-custom-checkout-form .label {
    display: block;
    padding-top: 0.25em;
    float: left;
    width: 44%;
}

.oscheckout .opc-wrapper #opc-custom-checkout-form .control {
    display: block;
    float: left;
    float: right;
    width: 55%;
}

/*
:: shipping addresses
*/

/*
:: shipping methods
*/

/*
:: payment methods
*/

/*
:: coupons
*/

/*
:: sidebar, order summary
*/
.oscheckout #iosc-summary .step-title {
    padding: 1em;
    margin-bottom: 0 !important;
    background-color: #fff;
}

#iosc-summary ._collapsible .action-toggle {
    font-family: OpenSansBold, Arial, sans-serif;
}

#iosc-summary .iosc-subscribe {
    padding: 1em 1em 0.25em 1em;
    margin-bottom: 1em;
    background-color: #ffffff;
}

/*
:: sidebar, order summary, products in cart
*/

/*
:: sidebar, order summary, shipping
*/

/*
:: checkout success
*/

/* -----------------------------------------------
:: Account
----------------------------------------------- */

/*
:: login, register
*/

/*
:: forgot password
*/

/*
:: sidebar
*/

/*
:: global
*/

/*
:: forms
*/

/*
:: dashboard, reviews
*/

/*
:: dashboard, orders
*/

/*
:: orders
*/

/*
:: orders, downloadable
*/

/*
:: account information
*/

/*
:: payment methods
*/

/*
:: billing agreements
*/

/*
:: reviews
*/

/*
:: newsletter
*/

/*
:: wishlist
*/

/*
:: compare
*/

/* -----------------------------------------------
:: CMS Pages
----------------------------------------------- */

/*
:: global
*/
.cms-page .sidebar-main h2 {
    padding-top: 0;
}

.cms-page-view .cms-menu {
    background-color: #e31b35;
}

.cms-page-view .cms-menu h2,
.cms-page-view .cms-menu li,
.cms-page-view .cms-menu li a,
.cms-page-view #cms-navigation li a:hover,
.cms-page-view #cms-navigation li a.active {
    color: #fff;
}

.cms-page-view #cms-navigation li {
    font-size: 14px;
    font-size: 0.875rem;
}

.cms-content ol {
    list-style-type: none;
    counter-reset: item;
    margin-left: 0;
    width: auto;
}

.cms-content > ol > li {
    margin-bottom: 3em;
}

.cms-content ol li {
    margin-bottom: 0.5em;
}

.cms-content ol li:before {
    font-family: OpenSansBold, Arial, sans-serif;
    counter-increment: item;
    content: counter(item) ". ";
}

.cms-content ol ol {
    margin: 1em 1em 1em 1em;
}

.cms-content ol ol li:before {
    font-family: OpenSansBold, Arial, sans-serif;
    content: counters(item, ".") " ";
}

.cms-content p,
.cms-content li,
.cms-content div,
.cms-content span {
    font-size: 14px;
    font-size: 0.875rem;
}

.cms-content .product-items {
    margin-bottom: 0px;
}

.cms-page-view h1.page-title {
    text-align: center;
}

.cms-page-view h1,
.cms-page-view h1 span {
    font-size: 40px;
    font-size: 2.5rem;
    color: #e31b35;
}

.cms-content .cls {
    margin-bottom: 1em;
}

.cms-content .row.collapse .cls {
    padding-left: 1px;
    padding-right: 1px;
}

.cms-content .section {
    margin-bottom: 5em !important;
}

.cms-index-index .cms-content .section {
    margin-bottom: 0 !important;
}

.cms-content .intro {
    margin: 0 auto 5em auto !important;
    max-width: 600px !important;
    text-align: center;
}

.cms-content .intro h2 {
    margin: 0 0 0.25em 0;
    padding-top: 0;
}

.cms-content .intro p {
    font-size: 16px;
    font-size: 1rem;
}

.cms-content .promo.category ul {
    width: auto;
    list-style-type: none;
}

.cms-content .promo.category:not(.home-categories) figcaption {
    margin: -15px auto 0 auto;
    padding: 3em 0.5em 0 0.5em;
    max-width: 600px;
}

.cms-content .promo.category figcaption h3 {
    padding-top: 0;
    margin-bottom: 1em;
}

.cms-content .promo.category.home-categories figcaption {
    margin: -1em auto 0 auto;
    padding: 1em 0.5em 1em 0.5em;
    max-width: 600px;
}

.cms-content .promo.category.home-categories figcaption h3 {
    padding-top: 0;
    margin-bottom: 0;
    font-size: 1rem;
    height: 18px;
}

.cms-content .promo.category figcaption p a.button {
    color: #555555;
    font-family: OpenSansSemiBold;
}

.cms-content .section-beneficiary figcaption p.details {
    font-family: OpenSansSemiBold;
}

.cms-content .accordion-toggle {
    position: relative;
    padding: 0.75em 0 0.25em 0.5em;
    font-size: 20px;
    font-size: 1.25rem;
    border-top: 1px solid #e31b35;
}

.cms-content .accordion-toggle:after {
    position: absolute;
    right: 0.25em;
    top: 38%;
    font-family: "FontAwesome";
    font-size: 32px;
    font-size: 2rem;
    content: "+";
    border-bottom: none;
    cursor: pointer;
}

.cms-content .accordion-toggle.active:after {
    right: 0.3em;
    top: 30%;
    content: "-";
}

.cms-content .accordion-content {
    padding: 1em;
}

.cms-content .list-accordion-toggle {
    position: relative;
    padding: 0.75em 0 0.25em 0.5em;
    font-size: 20px;
    font-size: 1.25rem;
    border-top: 1px solid #e31b35;
}

.cms-content .list-accordion-toggle:after {
    position: absolute;
    right: 0.25em;
    top: 38%;
    font-family: "FontAwesome";
    font-size: 32px;
    font-size: 2rem;
    content: "+";
    border-bottom: none;
    cursor: pointer;
}

.cms-content .list-accordion-toggle.active:after {
    right: 0.3em;
    top: 0.3em;
    content: "-";
}

.cms-content .list-accordion-content {
    padding: 1em;
}

/*
:: home
*/
.gift-finder {
    display: block;
    width: 100%;
    padding-top: 2em;
    height: 600px;
    background-size: cover;
    background-position: center;
}

.gift-finder h1 {
    margin: 0 auto 30px auto;
    max-width: 600px;
    font-size: 32px;
    font-size: 2rem;
    color: #fff;
    text-align: center;
}

.cms-home .finder {
    top: 14em;
    right: 0;
    left: 0;
    padding: 30px;
    margin: 0 auto;
    max-width: 800px;
    background: #e31135;
}

.cms-home .finder label {
    display: block;
    margin-bottom: 0.25em;
    font-family: OpenSansSemiBold, Arial, sans-serif;
    font-size: 16px;
    font-size: 1rem;
    color: #ffffff;
}

.cms-home .finder select {
    padding: 0.75em 1em 0.75em 0em;
    margin-bottom: 3.5em;
    color: #fff;
    background: transparent;
    border: none;
    border-bottom: 1px solid #fff;
}

.cms-home .finder .button {
    padding: 0.5em 3em 0.5em 3em;
}

.cms-home .howitworks p {
    margin: 0 auto;
    max-width: 250px;
}

/*
:: contact
*/
.cms-contact .breadcrumbs {
    padding-bottom: 0;
    margin-bottom: 1em;
}

.cms-contact .main {
    margin-bottom: 3em;
    padding: 4em 0 5em 0;
    color: #fff;
    background-color: #e31b35;
}

.cms-contact .main h1,
.cms-contact .main h2,
.cms-contact .main h3,
.cms-contact .main p,
.cms-contact .main li,
.cms-contact .main a,
.cms-contact .main .fieldset > .field > .label span {
    color: #fff;
}

.cms-page .sidebar h2,
.cms-page .main h2 {
    font-size: 2.5rem;
    font-weight: normal;
    color: #e31b35;
    font-family: noto_serifregular;
}

.cms-page .main h2 {
    padding-top: 0px;
}

.cms-contact .main .fieldset .field {
    margin-bottom: 1.5em;
}

.cms-contact .main .fieldset > .field > .label,
.cms-contact .main .fieldset > .fields > .field > .label {
    margin-bottom: 0;
}

.cms-contact .main .fieldset > .field > .label span {
    text-transform: uppercase;
}

.cms-contact .main .fieldset > .field.required > .label:after,
.cms-contact .main .fieldset > .fields > .field.required > .label:after,
.cms-contact .main .fieldset > .field._required > .label:after,
.cms-contact .main .fieldset > .fields > .field._required > .label:after {
    color: #fff;
}

.cms-contact .form.contact input[type="text"],
.cms-contact .form.contact input.input-text,
.cms-contact .form.contact input[type="email"],
.cms-contact .form.contact input[type="url"],
.cms-contact .form.contact input[type="password"],
.cms-contact .form.contact select,
.cms-contact .form.contact textarea {
    padding: 0 1em 0.5em 1em;
    font-family: OpenSansRegular, Arial, sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    color: #fff;
    border: 1px solid #e31b35;
    border-bottom: 1px solid #fff;
    background-color: #e31b35;
}

.cms-contact .form.contact textarea {
    padding: 0.5em 1em 0.5em 1em;
    min-height: 150px;
    border: 1px solid #fff;
}

.cms-contact .form.contact input.input-text:focus,
.cms-contact .form.contact input[type="text"]:focus,
.cms-contact .form.contact input[type="password"]:focus,
.cms-contact .form.contact select:focus,
.cms-contact .form.contact textarea:focus {
    color: #fff;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

.cms-contact .form.contact .action.primary span {
    padding: 1em 5em;
    background-color: transparent;
    border: 1px solid #fff;
}

.cms-contact .form.contact .action.primary span:hover {
    color: #e31b35;
    background-color: #fff;
    border: 1px solid #e31b35;
}

.cms-contact .form.contact .field.captcha {
    margin-bottom: 0;
}

.cms-contact .form.contact .control.captcha {
    position: relative;
    min-height: 100px;
}

.cms-contact .form.contact .control.captcha .nested {
    position: absolute;
    top: 0;
    left: 0;
    width: 200px;
}

.cms-contact .form.contact .control.captcha input {
    position: absolute;
    left: 210px;
    top: 23px;
    width: 100px;
    padding: 0.5em;
    border: 1px solid #fff;
    background-color: #fff;
    color: #000;
}

.cms-contact .form.contact .control.captcha .captcha-reload span {
    padding: 3px 10px;
    font-family: OpenSansRegular, Arial, sans-serif;
    font-size: 14px;
    font-size: 0.875rem;
    color: #000000;
    text-transform: none;
    background: #ffffff;
    border: 1px solid #ffffff;
}

.cms-contact .form.contact .field-error,
.cms-contact .form.contact div.mage-error[generated] {
    color: #fff;
}

/*
:: faqs
*/
.cms-faqs .main .page-title-wrapper {
    text-align: center;
}

/*
:: about us
*/
.cms-about-us #content .overlay {
    position: absolute;
    left: 0;
    top: 5em;
    width: 70%;
    right: 0;
    margin: 0 auto;
}

.cms-about-us #content .overlay h1,
.cms-about-us #content .overlay p,
.cms-about-us #content .overlay a {
    color: #fff;
}

.cms-about-us #content .overlay h1 {
    font-size: 60px;
    font-size: 3.75rem;
}

.cms-about-us #content .overlay p {
    font-size: 20px;
    font-size: 1.25rem;
}

.cms-about-us #content .staggered-images h2 {
    font-family: OpenSansRegular;
    font-size: 28px;
    font-size: 1.75rem;
    text-transform: uppercase;
}

/*
:: 404
*/

/*
:: terms & conditions
*/
.cms-terms-conditions .main .cms-content {
    margin: 0 auto;
    max-width: 48em;
}

.cms-terms-conditions .cms-content ol {
    list-style-type: none;
    counter-reset: item;
    margin-left: 0;
    width: auto;
}

.cms-terms-conditions .cms-content ol li {
    margin-bottom: 1em;
}

.cms-terms-conditions .cms-content ol li:before {
    font-family: OpenSansSemiBold, Arial, sans-serif;
    counter-increment: item;
    content: counter(item) ". ";
}

.cms-terms-conditions .cms-content ol ol {
    margin: 1em 3em 1em 3em;
}

.cms-terms-conditions .cms-content ol ol li:before {
    font-family: OpenSansRegular, Arial, sans-serif;
    content: counters(item, ".") " ";
}

/*
:: map page
*/
.googlemap {
    position: relative;
}

.googlemap #gmapProtector {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0.5, 0.5, 0.5, 0.5);
    z-index: 1000;
}

.googlemap #slideOut {
    display: none;
    position: absolute;
    top: 0;
    left: -9999px;
    width: 400px;
    height: 100%;
    transition: all 0.5s;
    background-color: white;
    z-index: 1;
}

.googlemap #slideOut.open {
    left: 0px;
    display: block;
    transition: all 0.5s;
    -moz-box-shadow: 10px 0px 10px -5px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 10px 0px 10px -5px rgba(0, 0, 0, 0.5);
    box-shadow: 10px 0px 10px -5px rgba(0, 0, 0, 0.5);
}

.googlemap #slideOut #slideClose {
    position: absolute;
    right: -1.5em;
    padding: 0.25em 0.5em;
    background-color: #e31b35;
    color: #fff;
    cursor: pointer;
}

.googlemap #slideOut img {
    max-height: 300px;
    height: 300px;
}

.googlemap #slideOut h3 {
    margin-top: -7px;
    padding: 1.5em 1em;
    font-family: noto_serifregular;
    font-size: 16px;
    font-size: 1rem;
    color: #fff;
    line-height: 1.5em;
    background-color: #e31b35;
}

.googlemap #slideOut .description {
    padding: 1em;
    max-height: 195px;
    overflow-y: auto;
}

.googlemap #map {
    height: 600px;
}

.googlemap #pac-input {
    position: absolute !important;
    top: 11px !important;
    right: 75px !important;
    left: auto !important;
    width: 300px !important;
    padding: 1em !important;
}

/* -----------------------------------------------
:: Footer & Copyright
----------------------------------------------- */

/*
:: page-bottom
*/
.page-bottom {
    padding: 0;
    border: none;
    background: transparent;
}

.page-bottom .row.fullwidth {
    max-width: none;
}

.page-bottom h3,
.page-bottom p,
.page-bottom li,
.page-bottom a {
    color: #fff;
}

.page-bottom .block .inner {
    padding: 2em 3em;
    margin: 0 auto;
    max-width: 500px;
}

.page-bottom .before-footer .block .inner {
    position: relative;
    padding: 0;
    max-width: initial;
}

.page-bottom .before-footer .block .inner img {
    float: left;
}

.page-bottom .before-footer .block .inner .background-image {
    height: 500px;
    background-size: cover !important;
    background-position: 60% 0;
    text-align: center;
}

.page-bottom .before-footer .block .inner .overlay {
    position: absolute;
    left: 2em;
    top: 2em;
    width: 50%;
    text-align: left;
}

.page-bottom .before-footer .block .inner .overlay h3 {
    font-family: noto_serifregular;
    font-size: 32px;
    font-size: 2rem;
    text-transform: uppercase;
}

.page-bottom .before-footer .block .inner .overlay p {
    line-height: 1.5em;
}

/*
:: newsletter
*/
.page-bottom .block.newsletter {
    background-color: #534f4e;
}

.page-bottom .block.newsletter .title {
    margin-bottom: 0.5em;
    font-size: 20px;
    font-size: 1.25rem;
    color: #fff;
    text-transform: none;
    letter-spacing: normal;
}

.page-bottom .block.newsletter .control {
    margin-bottom: 1em;
}

.page-bottom .block.newsletter input[type="email"] {
    border: none;
    border-bottom: 1px solid #ccc;
    background: transparent;
    text-align: center;
    color: #fff;
}

.page-bottom .block.newsletter input[type="email"]:focus {
    border-bottom: 1px solid #ccc;
    background: transparent;
    color: #fff;
    outline: none;
}

.page-bottom .block.newsletter button span {
    padding: 0.95em 4em 1em 4em;
    color: #fff;
    background-color: #e31b35;
}

.page-bottom .widget {
    background-color: #e31b35;
}

.page-bottom .widget .ul {
    margin-bottom: 0;
}

.page-bottom .widget .social a:before {
    color: #fff;
}

@media (min-width: 434px) and (max-width: 767px) {
    .page-bottom .widget .social li {
        margin: 0 1.2em !important;
    }

    .page-bottom .widget .social a:before {
        font-size: 2rem;
        line-height: 2rem;
    }
}

@media (min-width: 1024px) {
    .page-bottom .widget .social li {
        margin: 0 1.2em !important;
    }

    .page-bottom .widget .social a:before {
        font-size: 2rem;
        line-height: 2rem;
    }
}

.page-bottom .content .widget:nth-child(1) {
    background-color: #ffffff;
}

.page-bottom .content .widget:nth-child(1) .inner {
    padding: 0;
    justify-content: center;
}

.page-bottom .content .widget:nth-child(1) ul li::before {
    content: "";
    display: inline-block;
    height: 35px;
    width: 35px;
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -45px;
    margin-bottom: -35px;
}

.page-bottom .content .widget:nth-child(1) ul li:nth-child(1)::before {
    background-image: url("../images/imgpsh_fullsize_anim.png");
}

.page-bottom .content .widget:nth-child(1) ul li:nth-child(2)::before {
    background-image: url("../images/calendar.png");
}

.page-bottom .content .widget:nth-child(1) ul li:nth-child(3)::before {
    background-image: url("../images/verified.png");
}

.page-bottom .content .widget:nth-child(1) ul li:nth-child(4)::before {
    background-image: url("../images/send_email.png");
}

.page-bottom .content .widget:nth-child(1) h2,
.page-bottom .content .widget:nth-child(1) p {
    color: #000;
    padding: 0;
    margin: 0;
}

.page-bottom .content .widget:nth-child(1) h2 {
    text-align: center;
}

/*
:: global
*/
#footer {
    background-color: #ffffff;
}

#footer h4 {
    font-size: 16px;
    font-size: 1rem;
    color: #666666;
}

#footer li {
    margin-bottom: 0.25em;
    line-height: normal;
}

#footer .footer .four .inner p {
    text-align: left;
}

#footer .footer .four .inner .title {
    font-size: 30px;
    font-weight: bold;
    line-height: 35px;
    color: #666666;
    margin-left: 52px;
    margin-bottom: 10px;
}

#footer .footer .four .inner .content {
    font-size: 0.75rem;
    color: #555555;
    margin-left: 32px;
}

#footer .footer .four .inner .title img {
    position: absolute;
    top: 0;
    left: 12px;
}

#footer .footer .four .inner .read-more {
    color: #555;
}

#footer a {
    color: #555555;
}

/*
:: contact
*/

/*
:: accordion
*/

/*
:: copyright
*/
.copyright {
    display: block;
}

.copyright,
.copyright a {
    color: #555555;
    line-height: 1.25em;
}

#copyright {
    padding: 0;
    background-color: #fff;
}

#copyright .row {
    margin: 0%;
    width: 100%;
    max-width: 100%;
}
.logo-bottom-footer {
    text-align: center;
}
.logo-bottom-footer p {
    margin: 0;
}

.logo-bottom-footer .copyright-text {
    margin: 5px 0;
}

.product-items .owl-carousel .product-image-container {
    aspect-ratio: 3 / 2;
    margin: 0 auto;
    float: none;
    display: block;
    max-width: 240px;
}
.product-items .owl-carousel .product-image-container img {
    min-height: 160px;
    margin: 0 auto;
    position: relative;
}

.block-viewed-products-grid .product-items .owl-carousel .product-image-container img {
    margin: auto;
    position: absolute;
}

/*
:: accreditation & payment icons
*/

/* -----------------------------------------------
:: Responsive
----------------------------------------------- */
@media only screen and (min-width: 20em) {
    /*
    min-width:320px;
    */
}
@media only screen and (min-width: 22.5em) {
    /*
    min-width:360px;
    */
}
@media only screen and (min-width: 30em) {
    /*
    min-width:480px;
    */

    /* product */
    .product-info-main .product-delivery .inner {
        padding-left: 140px;
        width: 350px;
        text-align: left;
    }
    .product-info-main .product-delivery .inner:before {
        position: absolute;
        top: 10px;
        left: 16px;
        padding-left: 105px;
    }
}
@media only screen and (min-width: 33.75em) {
    /*
    min-width:540px;
    */
}
@media only screen and (min-width: 37.5em) {
    /*
    min-width:600px;
    */
    /* header */
    #header .checkout-help,
    #header .checkout-help .inner {
        text-align: right;
    }

    .checkout-index-index .authentication-wrapper {
        position: absolute;
        right: 0;
    }

    .checkout-index-index .checkout-authentication-block {
        padding-bottom: 45px;
    }

    /* subcategories (landing page layout) */
    .subcategories figcaption,
    .subcategories figcaption h2 {
        text-align: left;
    }
}
@media only screen and (min-width: 48em) {
    /*
    min-width:768px;
    */
    /* header */
    #header .block-search {
        top: 1em;
    }

    /* toolbar */
    .toolbar .toolbar-amount {
        left: 0;
    }
    .toolbar .modes {
        left: 10em;
    }
    .toolbar-bottom .modes {
        display: none !important;
    }
    .toolbar-bottom .toolbar-products .pages {
        display: block;
        left: 10em;
    }

    /* product */
    .product.media {
        width: 55%;
        margin-bottom: 2em;
    }
    .product-info-main {
        width: 40%;
        text-align: left;
        position: sticky;
        top: 20px;
    }
    .product.info.detailed,
    #content .related-upsell,
    #content .admin__data-grid-outer-wrap {
        clear: left;
        width: 55%;
    }

    .product.info.detailed,
    #content .related-upsell {
        position: relative;
        float: left;
    }
    .product.info.detailed:before,
    .product.info.detailed:after {
        content: "";
        display: table;
    }

    /* product - yotpo reviews */
    .catalog-product-view .yotpo.yotpo-main-widget {
        clear: left;
        float: left;
        width: 55%;
    }
    .catalog-product-view .yotpo .write-review .connect-wrapper {
        padding: 0;
    }

    /* cart */
    .cart-container .cart.actions .action {
        margin-left: 10px;
    }

    /* contact form */
    .cms-contact .form.contact {
        padding-left: 2em;
    }
}
@media only screen and (min-width: 50em) {
    /*
    min-width:800px;
    */
    /* home */
    .gift-finder {
        padding-top: 9em;
    }
    .gift-finder h1 {
        font-size: 48px;
        font-size: 3rem;
    }
    .cms-home .finder {
        top: 28em;
    }
    .cms-home .finder .select {
        display: inline-block;
        width: 25%;
        margin-right: 1em;
    }
    .cms-home .finder select {
        margin-bottom: 1em;
    }
}
@media only screen and (min-width: 64em) {
    /*
    min-width:1024px;
    */
    h1 {
        font-size: 48px;
        font-size: 3rem;
    }
    h2 {
        font-size: 40px;
        font-size: 2.5rem;
    }
    .background-image {
        background-position: 50% 0;
    }
    .background-image .overlay {
        top: 15em;
        width: 35%;
    }

    /* header */
    #header .panel.wrapper {
        display: block;
        padding: 0.5em 0;
        margin-bottom: 0;
        border: none;
    }
    #header .panel.header {
        max-width: 75em;
    }
    #header .inner {
        padding: 0.75em 0;
    }
    #header .logo {
        margin-top: -3em;
    }
    #header .logo img {
        max-width: none;
    }
    #header .toggle-search:before {
        font-size: 14px;
        font-size: 0.875rem;
    }
    #header .toggle-search:after {
        position: relative;
        top: -2px;
        left: 1em;
        font-size: 14px;
        font-size: 0.875rem;
        content: "SEARCH";
    }
    .search-open #header .toggle-search:before {
        top: -1px;
        font-size: 14px;
        font-size: 0.875rem;
    }
    #header .block-search {
        top: 1px;
        right: 4.75em;
        width: 300px;
    }
    #header .block-search .control {
        text-align: right;
    }
    #header .block-search input {
        padding: 0.75em 1em 0.75em 1em;
    }
    .minicart-wrapper {
        top: 0;
    }

    /* main menu */
    .nav-sections {
        margin-bottom: 0;
        background-color: #fff;
        border-bottom: 5px solid #e31b35;
    }
    .navigation li.level0 {
        font-family: OpenSansBold;
        font-size: 14px;
        font-size: 0.875rem;
    }
    .navigation li.level0 .level-top {
        padding: 0.75em 1.5em 0.75em 1.5em;
        color: #555555;
    }
    .navigation li.level0:hover a.level-top,
    .navigation li.level0 .level-top.ui-state-focus {
        color: #e31b35;
    }
    .navigation .level0.active > .level-top:after,
    .navigation .level0.has-active > .level-top:after,
    .navigation .level0 .level-top:hover:after {
        content: normal;
    }

    /* category */
    .category-banner .category-image {
        height: 400px;
    }

    /* layered navigation */
    .sidebar-main .block.filter .filter-title {
        display: none;
    }
    .sidebar-main .block.filter .filter-options-title {
        border-bottom: none;
    }
    .sidebar-main .block.filter .filter-options-content {
        padding-top: 0.5em;
    }

    /* product */
    .product.media {
        width: 60%;
    }
    .product-info-main {
        width: 35%;
    }
    .product.info.detailed,
    #content .related-upsell,
    #content .admin__data-grid-outer-wrap {
        width: 60%;
    }
    .product.data.items > .item.content {
        padding: 0 0 15px 0;
    }

    /* product - yotpo reviews */
    .catalog-product-view .yotpo.yotpo-main-widget {
        width: 60%;
    }
    .catalog-product-view .yotpo .write-review .connect-wrapper {
        padding-left: 273px;
    }

    /* basket & checkout */
    .checkout-index-index #content {
        max-width: 1024px;
    }

    .checkout-cart-index .page-title-wrapper {
        margin-bottom: 3em;
    }
    .checkout-cart-index h1 {
        font-size: 40px;
        font-size: 2.5rem;
    }

    .oscheckout .opc-wrapper {
        width: 56% !important;
    }
    li#shipping {
        float: none !important;
        width: auto !important;
        margin-right: 0 !important;
    }
    .oscheckout .opc-wrapper #opc-shipping_method,
    .oscheckout .opc-wrapper #payment,
    .oscheckout .opc-wrapper #vatexempt {
        margin-left: 0 !important;
        width: auto !important;
    }
    .oscheckout #iosc-summary {
        float: left !important;
        width: 40% !important;
        position: sticky;
        top: 20px;
        margin-left: 4% !important;
    }

    /* cms pages */
    .cms-page-view .sidebar-main {
        position: sticky;
        top: 40px;
    }
    .cms-about-us #content .overlay {
        top: 15em;
        width: 35%;
    }
    .cms-about-us #content .staggered-images .about {
        padding-left: 5em;
        padding-top: 5em;
    }

    /* contact form */
    .cms-contact .form.contact {
        padding-left: 5em;
    }

    /* footer */
    .page-bottom .before-footer .block .inner .background-image {
        background-position: 50% 0;
    }
    .page-bottom .block .inner {
        padding: 2em 5em;
    }
    .page-bottom .before-footer .block .inner .overlay {
        left: 20%;
        top: 3.6em;
        width: 40%;
    }
    .page-bottom .before-footer .block .inner .overlay h3 {
        font-size: 40px;
        font-size: 2.5rem;
    }
    .page-bottom .before-footer .block .inner .overlay p {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.75em;
    }
    #footer .footer .four .inner {
        text-align: right;
    }
    #copyright {
        text-align: left;
    }
}
@media only screen and (min-width: 68.75em) {
    /*
    min-width 1100px
    */
}
@media only screen and (min-width: 73.75em) {
    /*
    min-width 1180px
    */
    /* cms pages */
    .cms-page .sidebar-main {
        width: 25%;
    }
    .cms-page .column.main {
        width: 75%;
    }
    .cms-page.cms-home .column.main,
    .cms-page.page-layout-1column-fullwidth .column.main {
        width: 100%;
    }

    /* contact form */
    .cms-contact .form.contact {
        padding-left: 5em;
    }
}
@media only screen and (min-width: 76.5em) {
    /*
    min-width 1224px
    */
}
@media only screen and (min-width: 80em) {
    /*
    min-width 1280px
    */
    /* about us */
    .cms-about-us #content .staggered-images .image-top {
        position: absolute;
        top: 0;
        right: 0;
    }
    .cms-about-us #content .staggered-images .image-bottom {
        margin-top: 24em;
    }
    .cms-about-us #content .staggered-images h2 {
        font-size: 40px;
        font-size: 2rem;
    }
}
@media only screen and (min-width: 100em) {
    /*
    min-width 1600px
    */
}

@media only screen and (min-width: 64em) and (max-width: 1150px) {
    .cms-content .promo.category.home-categories figcaption h3 {
        font-size: 15px;
    }
}

@media only screen and (min-width: 250px) {
    .home-categories .enjoy-shopping-wrapper {
        text-align: center;
        max-height: 235px;
        margin: 0 2rem 2rem 2rem;
    }

    .home-categories .enjoy-shopping-wrapper h2 {
        font-size: 1.5rem;
        line-height: 2rem;
        padding-bottom: 1rem;
        padding-top: 5px;
    }

    .home-categories .enjoy-shopping-wrapper p {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}

@media only screen and (min-width: 768px) {
    .home-categories .enjoy-shopping-wrapper {
        text-align: left;
        margin: 3rem 1.5rem;
    }

    .home-categories .enjoy-shopping-wrapper h2 {
        padding-top: 0.75em;
        padding-bottom: 2.5rem;
    }
}

@media only screen and (max-width: 1023px) {
    .home-categories .enjoy-shopping-wrapper h2 br {
        display: none;
    }
}

@media only screen and (min-width: 1024px) {
    .home-categories .enjoy-shopping-wrapper {
        max-height: 235px;
        margin: 1rem;
    }

    .home-categories .enjoy-shopping-wrapper p {
        font-size: 0.9rem;
        line-height: 1.35rem;
    }

    .home-categories .enjoy-shopping-wrapper h2 {
        padding-bottom: 2rem;
    }
}

@media only screen and (min-width: 1300px) {
    .home-categories .enjoy-shopping-wrapper {
        margin: 3rem;
    }

    .home-categories .enjoy-shopping-wrapper h2 {
        font-size: 2rem;
        line-height: 2.6rem;
        padding-bottom: 2.8rem;
    }

    .home-categories .enjoy-shopping-wrapper p {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}

/* switcher currency START */
#switcher-currency img {
    width: 1.5rem;
    margin-right: 5px;
    top: 4px;
    position: relative;
}

#header .switcher .options ul.dropdown.switcher-dropdown {
    min-width: 250px;
    left: -80%;
}

#switcher-currency-trigger span {
    color: #000000;
}

#switcher-currency-nav img {
    width: 1.5rem;
    margin-right: 5px;
    top: 4px;
    position: relative;
}

#switcher-currency-nav ul.switcher-dropdown {
    padding: 0;
}

#switcher-currency-nav li a {
    padding: 1em 1em 0.75em 0;
}

#switcher-currency-trigger-nav {
    border-bottom: 1px solid #d1d1d1;
}

#switcher-currency-trigger-nav > span {
    padding: 1em 1em 0.75em 0;
    display: inline-block;
}
/* switcher currency END */

/* section occasions START */
.cms-content .section-occasion ul {
    max-width: 100%;
    width: 100%;
    list-style: none;
}

.cms-page .main .section-occasion li h2 {
    font-size: 1rem;
    text-align: center;
}

.section-occasion-title,
.homepage-section-title,
.section-beneficiary-title {
    padding: 0 0 1rem 0;
}
.home-categories ul {
    display: flex;
    flex-wrap: wrap;
}
.section-occasion-title h2, .homepage-section-title h2 {
    display: block;
    padding-top: 8px;
}

.cms-content .section.home-categories .homepage-section-title h2 {
    padding-top: 0;
}

.section-occasion-title span, .homepage-section-title span {
    font-size: 1.5rem;
    padding-left: 0.5rem;
}

.homepage-section-title span a {
    color: #0069c2;
}
.section-occasion-title span a {
    color: #e31b35;
}

.section.home-categories .product-item-photo img {
    max-height: 200px;
}

.section-occasion .subcategories figcaption {
    padding: 0;
}

.cms-content .section.home-categories,
.cms-content .section.home-categories ul {
    margin-bottom: 0 !important;
}

@media only screen and (min-width: 768px) {
    .section-occasion-title h2, .homepage-section-title h2 {
        display: inline-block;
    }
}

@media only screen and (min-width: 600px) and (max-width: 1023px) {
    .cms-page .main .section-occasion li:nth-of-type(5) {
        display: none;
    }
}
/* section occasions END */

/* section shop by beneficiary START */
.cms-home .maxw-1600 {
    margin: 0 auto 0 auto !important;
}

.cms-content .promo.category.section-beneficiary figcaption .button {
    font-size: 1rem;
    padding: 0;
}

@media only screen and (min-width: 1149px) {
    .cms-content .promo.category.section-beneficiary figcaption {
        margin: -0.5em auto 0 auto;
        padding: 1em 1em 0 1em;
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1150px) {
    .section-beneficiary .w768-4 {
        width: 33.33333%;
    }
}

/* section shop by beneficiary END */

/* section gift idea and experience START */
.cms-index-index .gift-experience {
    color: white;
    background-color: #e31135;
}

.cms-index-index .gift-experience .column h3 {
    color: white;
}

.cms-index-index .gift-experience .column h3 {
    padding: 50px 0 10px 0;
}

.cms-about-us .gift-experience {
    margin-bottom: 50px;
}

.cms-about-us .gift-experience h3 {
    margin-top: 35px;
    margin-bottom: 20px;
}

.cms-about-us .gift-experience .column h3 {
    font-family: OpenSansRegular, Arial, sans-serif;
}

.cms-about-us .image-wrapper {
    padding-top: 40px;
}

.cms-about-us .gift-experience .column.image {
    margin-top: 20px;
}

@media only screen and (max-width: 1279px) {
    .cms-index-index .gift-experience .column h3 {
        line-height: 2rem;
        padding: 30px 0 10px 0;
    }

    .cms-index-index .gift-experience .column:not(.image) {
        padding: 0 30px 20px 30px;
    }

    .cms-page .gift-experience .column.image {
        text-align: center;
        background-color: white;
    }

    .cms-index-index .gift-experience .column.image {
        padding: 5rem 1rem 0 1rem;
    }

    .cms-about-us .gift-experience .column.image {
        margin-top: 55px;
    }
}

@media only screen and (min-width: 1280px) {
    .cms-index-index .gift-experience {
        margin-bottom: 2.5rem;
    }

    .cms-page:not(.cms-about-us) .gift-experience .column:not(.image) {
        width: 60%;
        min-height: 350px;
    }

    .cms-index-index .gift-experience .column:not(.image) {
        padding-left: 100px;
        width: 50%;
        height: 399px;
    }

    .cms-index-idex .gift-experience .column p {
        font-size: 1rem;
    }

    .cms-page .gift-experience .column p {
        font-size: 0.875rem;
    }

    .cms-page .gift-experience .column h3 {
        white-space: nowrap;
    }

    .cms-page .gift-experience .column.image {
        position: absolute;
        top: 0;
        right: 0;
    }

    .cms-index-index .gift-experience .column.image {
        right: 30px;
    }
}
/* section gift idea and experience END */

/* our popular gifts START */
[id^="mageplaza-productslider"],
.mp-product-tab.content
{
    margin: 10px 50px 0rem 50px;
    text-align: center;
}

[id^="mageplaza-productslider"] .mp-product-slider-title {
    font-size: 1.5rem;
}

[id^="mageplaza-productslider"] .mp-product-slider-content {
    padding-top: 10px;
}

[id^="mageplaza-productslider"] .product-item {
    margin-bottom: 0px;
}

[id^="mageplaza-productslider"] .section-beneficiary-title h2 {
    padding-top: 0px;
}

[id^="mageplaza-productslider"] .product-item .slider-product-item-details {
    padding: 20px 0px 0px;
    display: inline-block;
    width: 100%;
}

[id^="mageplaza-productslider"] .product-items .owl-carousel .product-image-container {
    max-width: 100%;
}

[id^="mageplaza-productslider"] .product-item .slider-product-item-details .price-box {
    margin-top: 5px;
    float: left;
}

[id^="mageplaza-productslider"] .product-item .slider-product-item-details .location-info {
    float: right;
    font-weight: 400;
    text-align: right;
    max-width: 70%;
 }

[id^="mageplaza-productslider"] .product-item .product-item-name {
    font-family: noto_serifregular;
     font-size: 1rem;
    line-height: 1.25em;
    margin-bottom: 8px;
    text-align: left;
}

[id^="mageplaza-productslider"] .product-reviews-summary {
    display: none;
}
/* our popular gifts END */

/* product slider START */
[id^="mageplaza-productslider"] .owl-prev,
[id^="mageplaza-productslider"] .owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

[id^="mageplaza-productslider"] .owl-prev span,
[id^="mageplaza-productslider"] .owl-next span {
    background-color: transparent;
    font-size: 5rem;
    color: #00000050;
    padding: 0;
    line-height: 0rem;
    display: inline-block;
    font-family: "OpenSansRegular";
}

[id^="mageplaza-productslider"] .owl-prev {
    left: -2.5rem;
}

[id^="mageplaza-productslider"] .owl-next {
    right: -2.5rem;
}

[id^="mageplaza-productslider"] .owl-theme .owl-nav [class*="owl-"]:hover {
    background: transparent;
}

.catalog-category-view .googlemap .buttons {
    z-index: 100;
    position: relative;
}
/* product slider END */

/* section Recently Viewed START */
#content [id^="mageplaza-productslider"] .admin__data-grid-outer-wrap {
    width: 100%;
}

.block-viewed-products-grid {
    padding: 0;
}
/* section Recently Viewed END */

/* about us START */
.cms-about-us .cms-content {
    margin: 30px 30px 0 30px;
}

.maxw-1600.no-bottom {
    margin-bottom: 0 !important;
}

@media only screen and (max-width: 767px) {
    .cms-about-us #content div.staggered-images h2 {
        font-size: 1.5rem;
    }

    .section.home-categories .product-item-photo img {
        max-height: initial;
    }
}

@media only screen and (min-width: 1024px) {
    .break-line {
        display: block;
    }

    .cms-about-us .staggered-images img:nth-child(odd) {
        padding: 0 20px 0 0;
    }

    .cms-about-us .staggered-images img:nth-child(even) {
        padding: 0 0 0 20px;
        float: right;
    }
}
/* about us END */

/* become a partner START */
.cms-become-a-partner .cms-content {
    margin: 30px 30px 20px 30px;
}

.cms-become-a-partner .banner-become-a-partner {
    text-align: center;
}

.cms-become-a-partner .banner-become-a-partner img {
    max-height: 210px;
}

@media only screen and (min-width: 768px) {
    .cms-become-a-partner .cms-content .list {
        margin-left: 66px;
    }
}

@media only screen and (max-width: 1023px) {
    .cms-become-a-partner .banner-become-a-partner, .cms-become-a-partner .cms-content .a-row .image-wrapper {
        display: none;
    }

    .cms-become-a-partner .cms-content {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 1024px) {
    .cms-become-a-partner .cms-content .a-row {
        display: flex;
    }

    .cms-become-a-partner .cms-content .a-row .a-column:nth-child(odd) {
        flex: 60%;
        padding: 40px 150px 0 0;
    }

    .cms-become-a-partner .cms-content .a-row .a-column:nth-child(even) {
        flex: 40%;
        padding-right: 40px;
    }
}
/* become a partner END */

/* trustpilot START */
.cms-index-index div.row.maxw-1200 {
    margin-bottom: 0 !important;
}
/* trustpilot END */

/* price slider START */
.products.wrapper.grid.products-grid {
    min-height: 90px;
}

.googlemap .slider-header {
    display: flex;
}

.googlemap .slider-header > div {
    flex: 50%;
}

.googlemap .slider-header strong {
    font-size: 1.25rem;
    color: #333333;
}

.googlemap .slider-header p {
    line-height: 2.5rem;
}

.googlemap .slider-header input {
    text-align: right;
}
/* price slider END */

/* Remove Arrows/Spinners START */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}
/* Remove Arrows/Spinners END */

/* Remove default arrow icon from a dropdown list START */
.cms-home .finder select {
    appearance: none;
}

.cms-home .finder select::-ms-expand {
    display: none;
}
/* Remove default arrow icon from a dropdown list END */

/* USP Banner START */
.usp-banner-wrapper {
    display: flex;
    max-width: 1600px;
    margin: auto;
}
.usp-banner-wrapper .usp-item {
    display: flex;
    align-items: center;
}
.usp-banner-wrapper .usp-item img {
    height: 2rem;
    margin: 0 12px;
}
.usp-banner-wrapper .usp-item p {
    font-size: 0.75rem;
    line-height: 1.2rem;
    margin: 0;
}

.usp-banner-wrapper .usp-item .separator {
    display: flex;
    margin: auto;
}

.usp-banner-wrapper .usp-item .separator span {
    border-right: 2px solid #d7d7d7;
    height: 35px;
    margin-left: 5px;
}

.usp-banner-wrapper .usp-item p:first-child {
    font-weight: 600;
    color: #e31135;
}

.usp-banner-wrapper .usp-item div:nth-child(2) {
    margin: 10px;
}

@media (max-width: 1223px) {
    .usp-banner-wrapper .usp-item {
        flex: 25%;
    }
}

@media (min-width: 1224px) and (max-width: 1427px) {
    .usp-banner-wrapper .usp-item {
        margin: 0 5px;
    }
}

@media (min-width: 1428px) and (max-width: 1600px) {
    .usp-banner-wrapper .usp-item {
        flex: 25%;
    }
}

@media (min-width: 1601px) {
    .usp-banner-wrapper .usp-item {
        margin: 0 26px;
    }
}

@media (max-width: 767px) {
    .gift-finder.spaceb-100 {
        margin: 0 auto 2.5em auto !important;
    }
}

@media (max-width: 819px) {
   .usp-banner-section .widget > .inner {
       display: flex;
   }
}

@media (min-width: 820px) and (max-width: 1149px) {
    .usp-banner-wrapper .usp-item {
        display: flex;
        align-items: center;
        float: left;
        width: 50%;
    }
}

@media (max-width: 1149px) {
    .usp-banner-wrapper {
        display: block;
    }

    .usp-banner-wrapper .usp-item .separator {
        display: none;
    }
}
/* USP Banner END */

/* Free exchange modal START */
#free-exchange-modal-container {
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    border-radius: 6px;
    z-index: 1000;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    border: 1px solid #d7d7d7;
}

#free-exchange-modal-description {
    font-weight: 300;
    padding: 15px 10px 4px 10px;
    margin: 0;
    text-align: center;
}

#hover-modal-window {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
}

.hover-modal-animation {
    animation-name: popup;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
}

#free-exchange-modal-description strong, #free-exchange-modal-description p {
    font-size: 0.75rem;
    line-height: 1.5rem;
}

#free-exchange-modal-description strong {
    color: #e31135;
}

#free-exchange-modal-description p {
    margin-right: 13px;
    margin-left: 13px;
}

#free-exchange-modal-description hr.solid {
    border-top: 1px solid #e31b35;
    margin: 15px 10px 15px 10px;
}
/* Free exchange modal END */

.cms-page-view.page-layout-1column-fullwidth #content {
    max-width: 1600px;
    margin: 0 auto 0 auto;
}

@media (min-width: 1200px) {
    .cms-page-view.page-layout-1column-fullwidth .breadcrumbs {
        margin-left: 30px;
    }
}

.grecaptcha-badge {
    z-index: 1000;
}

/* Checkout START */
#checkout-shipping-method-load, #co-shipping-method-form .step-title {
    display: none;
}

.custom-checkout-form #custom-checkout-form {
    margin-bottom: 0;
    padding-bottom: 0;
}

#shipping-method-buttons-container {
    padding: 0;
    margin: 0;
}

.checkout-index-index div#maincontent {
    padding-bottom: 2em;
}
/* Checkout END */

/* Print Order START */
@media only print {
    .data.table thead{display:table-header-group;}
    .data.table tbody{display:table-row-group;}
    .data.table tr{display:table-row;}
    .data.table th,.data.table td{display:table-cell;padding:1em 0.5em;}
    .data.table td{border-top:1px solid #e5e5e5;}
    .data.table td:before{display:initial;margin:0;content:normal;}
    .data.table td:last-child{border-bottom:none;}
    .account .data.table .col.price,.account .data.table .col.qty,.account .data.table .col.subtotal,.account .order-details-items tfoot .amount,.account .order-details-items tfoot .mark{text-align:right;}
    .account .data.table tfoot th,.account .data.table tfoot td{float:none;width:auto;}
    .data.table tr .price {white-space: nowrap;}
}
/* Print Order END */

/* Tooltip - Vouchers/Non-vouchers instruction START */
.gift-info .field-tooltip .field-tooltip-action:before {
    display: flex;
    font-size: 18px;
}

.gift-info strong {
    text-transform: uppercase;
    color: #000000;
}
/* Tooltip - Vouchers/Non-vouchers instruction END */

/* Product location START */
.product-info-main .location-info, .product-item-info .location-info {
     font-weight: 800;
     margin-bottom: 0.5rem;
 }
 
.slider-product-item-info .location-info {
    font-weight: 800;
    margin-bottom: 0.1rem;
}

.product-info-main .location-info {
    color: #333333;
}

.product-item-info .location-info {
    color: #555555;
    font-size: 16px;
}

.slider-product-item-info .location-info, .slider-product-item-details .location-info {
    color: #555555;
    font-size: 14px;
}

@media (max-width: 600px) {
    .product-item-info .location-info {
        font-size: 14px;
    }
}

/*Price on Voucher and Non Voucher blocks*/
.catalog-product-view.rezdy-product .product-info-price {
    display: none;
}
.catalog-product-view .product-add-form .rzd-header {
    margin-bottom: 10px;
}
.catalog-product-view .product-add-form .rzd-header .gift-info{
    float: left;
}
.catalog-product-view .product-add-form .rzd-header .price-box{
    float: right;
    margin-top: 5px
}
.catalog-product-view .product-add-form .rzd-header .clearboth {
    clear: both;
}
/* Product location END */

#checkout-step-your-detail .form-login .step-title, #checkout-step-your-detail .form-login .login-help {
    display: none;
}
#checkout-step-your-detail .form-login {
    padding-bottom: 0;
}
.checkout-index-index .checkout-box {
    box-shadow: 0 4px 16px rgb(0 0 0 / 20%);
    border-radius: 6px;
    background-color: #fff;
}

.catalog-product-view.bokun-product .product-info-price + .product-add-form {
    display: none;
}

/* Add to cart START */
.passenger-selector-container .participant-selector {
    min-width: 90px;
    padding-right: 15px;
}

.passenger-selector-container .participant-selector label {
    font-size: 13px;
    margin-bottom: 1px;
}

.passenger-selector-container .participant-selector select {
    margin-bottom: 0;
}

.passenger-selector-container .price-desc {
    font-size: 13px;
    clear: both;
    display: block;
    padding-top: 10px;
}

.passenger-selector-container .pickup-container {
    border-top: 1px solid #DDD;
    margin-top: 10px;
    padding-top: 10px;
}

.pull-left {
    float: left;
}
/*Add to cart END */

/* Booking questions START */
.checkout-index-index .activityTitle {
    font-size: 1.1rem;
    line-height: 1.32rem;
    color: #000000;
    margin-top: 20px;
}
.checkout-index-index .pricingCategoryTitle {
    margin: 10px 0;
    font-size: 1rem;
    line-height: 1.1rem;
    color: #000000;
}
/* Booking questions END */

/* product form START */
.catalog-product-view .extras-container .extra {
    font-size: 13px;
}

.catalog-product-view .extra-unit-selector {
    margin: 3px 3px 3px 20px;
}

.catalog-product-view .extras-pricingcategory-selectors {
    color: #333;
    font-size: 13px;
    float: left;
    margin-right: 15px;
    margin-bottom: 20px;
}

.catalog-product-view .extra-unit-selector input {
    margin: 0;
    display: block;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    color: #555;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 70px;
}

.catalog-product-view .extra-unit-selector input:focus {
    outline: none;
    border:1px solid #719ECE;
    box-shadow: 0 0 10px #719ECE;
}

.catalog-product-view .extra-unit-selector input[type=number]::-webkit-outer-spin-button,
.catalog-product-view .extra-unit-selector input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button;
}

.product-add-form .price-desc {
    font-size: 13px;
}
/* product form END */

a.action.viewcart span {
    background-color: #e31b35;
    color: white;
}

#product-bokun-availability .validation-error {
    font-size: 13px;
}

.question-warning {
    margin-top: 10px;
    color: red;
    font-size: 13px;
}

#checkout .opc-progress-bar-item {
    cursor: pointer;
}

.vault-cards-listaction .page-title-wrapper {
    display: none;
}

#social-login-popup .social-login-title .login-title,
#social-login-popup .social-login-title .create-account-title,
#social-login-popup .social-login-title .forgot-pass-title {
    padding: 20px 50px;
}

#social-login-popup .block-content .actions-toolbar {
    margin-top: 0;
}

#social-login-popup .block-content .actions-toolbar button {
    background-color: transparent !important;
    margin-top: 5px;
    margin-right: 10px;
}

#social-login-popup .block-content .actions-toolbar .secondary {
    margin-left: 0;
}

#social-login-popup .block-content .message-success > :first-child::before {
    top: 30% !important;
    left: 5px;
}

.checkout-cart-index .product-image-wrapper .product-image-photo {
    text-align: left;
    position: initial;
    max-width: 75%;
}
.mp-product-slider-content .product-image-wrapper {
    display: flex;
    align-items: center;
}
.checkout-index-index  .form-login .note {
    display: block;
}
.vol-partners {
    display: flex;
    width: 100%;
    justify-content: space-around;
    gap: 10px;
}
.vol-partners > div {
    font-size: 20px;
    max-width: 200px;
    line-height: 1.2;
    text-align: center;
    border: 1px solid #ccc;
    padding: 10px 15px;
    box-sizing: content-box;
    display: flex;
    align-items: center;
}
.tab-slider-content .mp-product-slider-title {
    display: none;
}
.mp-product-tab li:before {
    display: none;
}
.tab-slider-title {
    display: flex;
    gap: 45px;
    justify-content: center;
}

.tab-slider-title > a {
    color: #000;
    font-size: 1.5rem;

}
.tab-slider-title > a.active  {
    color: #e31b35;
    font-size: 1.5rem;
}

.mp-product-tab {
    display: none;
}

.mp-product-tab.active {
    display: block;
}



