﻿/* =========================================================================
   THEME CSS
   ========================================================================= */
/**
 * CONTENTS
 *
 * COLOURS
 *
 * GENERIC
 * Normalize.css
 * Reset
 * Shared
 *
 * ELEMENTS
 * Page
 * Links
 * Forms
 * SVG
 * Placeholder
 * Paragraphs
 * Headings
 * Tables
 *
 * OBJECTS
 * Accordion
 * Block
 * Box
 * Bullseye
 * Grid
 * List-bare
 * Media
 * Ratio
 * Wrapper
 *
 * COMPONENTS
 * Animate in
 * Breadcrumbs
 * Buttons
 * Cart
 * Categories
 * Category description
 * Contact details
 * Currency
 * Faqs section
 * Headings
 * Icons
 * Login
 * Loyalty points
 * Menu
 * Newsletter
 * Page content
 * Payment logos
 * Product add to cart
 * Product attributes
 * Product back-in-stock
 * Product container
 * Product description
 * Product image viewer
 * Product lists
 * Product options
 * Product prices
 * Product reviews
 * Product section
 * Product short description
 * Product stock message
 * Product tabs
 * Products
 * Promos
 * Review stars
 * Site copyright
 * Site header
 * Site footer
 * Site logo
 * Social
 * Testimonials
 * Video section
 * Webpages
 * Welcome
 *
 * PAGES
 * Approve review
 * Contact
 * Customer review
 * Customer secure area
 * Password protect
 * Reset password
 *
 * OVERRIDES
 * Fonts
 * Product options
 * Promo stickers
 * Newsletter Modal
 * Softcart
 *
 * UTILITIES
 * Clearfix
 * Spacing
 * Text-align
 * Visual
 * Width
 *
 * VENDOR
 * Tiny slider
 */
/* =========================================================================
   $COLOURS
   ========================================================================= */
/*
   #ffaa54

	#d107f0

	#f3dbff 
*/
/* =========================================================================
   $GENERIC
   ========================================================================= */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   #RESET
   ========================================================================== */
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/**
 * Disable auto-enlargement of small text in mobile Safari.
 */
body,
input,
textarea,
button,
select {
  -webkit-text-size-adjust: 100%;
}

/**
 * Remove margins and paddings from all the things.
 */
body,
h1, h2, h3, h4, h5, h6,
p,
ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0;
}

a:focus {
  color: inherit;
}

/**
 * 1. Offset alt text.
 * 2. Ensure responsive images and override system heights.
 * 3. Remove whitespace caused by inline images.
 */
img {
  font-style: italic;
  /* [1] */
  height: auto !important;
  /* [2] */
  max-width: 100%;
  /* [2] */
  vertical-align: middle;
  /* [3] */
}

/**
 * Remove trailing margins from nested lists.
 */
li > ol,
li > ul {
  margin-bottom: 0;
}

/**
 * Form element resets.
 */
form {
  margin: 0;
}

input,
textarea,
select {
  font-size: 1rem;
}

@media screen and (min-width: 46.875em) {
  input,
  textarea,
  select {
    font-size: inherit;
  }
}

button,
input[type="submit"],
label[for] {
  cursor: pointer;
}

input[type="text"], input[type="password"], input[type="date"],
input[type="datetime"], input[type="datetime-local"], input[type="month"],
input[type="week"], input[type="email"], input[type="number"],
input[type="search"], input[type="tel"], input[type="time"],
input[type="url"], textarea
    { font-size: 16px !important; } /* mobile zoom input fix */

optgroup {
  font-weight: 700;
}

option {
  color: #333;
  background-color: #fff;
}

[tabindex='-1']:focus {
  outline: none;
}

/**
 * Remove default table spacing.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * Reset iOS touchstart higlighting.
 */
input,
textarea,
button,
select,
a {
  -webkit-tap-highlight-color: transparent;
}

/**
 * Enable no-delay taps on supporting browsers.
 */
a,
button,
[role="button"],
input,
label,
select,
textarea {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

.fb-like { padding-left: 1.5rem; } /* fb like padding fix */

/* ==========================================================================
   #SHARED
   ========================================================================== */
/**
 * Shared declarations for certain elements.
 */
/**
 * Always declare margins in the same direction:
 * csswizardry.com/2012/06/single-direction-margin-declarations
 */
address,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, ol, ul,
figure,
hr,
table,
fieldset {
  margin-bottom: 1.5rem;
}

/**
 * Consistent indentation for lists.
 */
dd, ol, ul {
  margin-left: 1.5rem;
}

/* =========================================================================
   $ELEMENTS
   ========================================================================= */
/* =========================================================================
   #PAGE
   ========================================================================= */
html,
body {
  height: 100%;
}

html {
  font-size: 1em;
  line-height: 1.5;
  overflow-y: scroll;
}

body {
  background-color: #fff;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  min-height: 100%;
}

/* =========================================================================
   #LINKS
   ========================================================================= */
a {
  color: #333;
  text-decoration: none;
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  /**
	 * Text link styles for CMS content
	 */
}

a:hover {
  opacity: 0.75;
  text-decoration: none;
}

.s-cms a,
.c-page-content--webpage a {
  text-decoration: underline;
}

/* =========================================================================
   #FORMS
   ========================================================================= */
/**
 * A scaffolding for styling form elements.
 */
textarea,
input,
button,
select {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

input,
textarea,
select {
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 3px;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 0.75rem;
  line-height: 1;
  max-width: 100%;
  padding: 0.6875rem;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}

input:focus,
textarea:focus,
select:focus {
  color: #333;
  outline: 0;
  border-color: #d107f0;
}

/**
 * Give styled focus to certain inputs using a utility mixin.
 */
textarea {
  min-height: 100px;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("/ekmps/designs/assets/master/1577/images/icon-select.svg");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-color: #fff;
  cursor: pointer;
  padding-right: 1.5rem;
  text-indent: .01px;
}

/* =========================================================================
   #SVG
   ========================================================================= */
svg g,
svg polygon,
svg circle {
  fill: inherit;
}

/* =========================================================================
   #PLACEHOLDER
   ========================================================================= */
::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #aaa;
}

::-moz-placeholder {
  /* Firefox 19+ */
  color: #aaa;
}

:-ms-input-placeholder {
  /* IE 10+ */
  color: #aaa;
}

:-moz-placeholder {
  /* Firefox 18- */
  color: #aaa;
}

/* =========================================================================
   #PARAGRAPHS
   ========================================================================= */
p:last-child {
  margin-bottom: 0;
}

/* =========================================================================
   #HEADINGS
   ========================================================================= */
h1 {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
}

@media screen and (min-width: 61.875em) {
  h1 {
    font-size: 2.25rem;
    line-height: 1.33333333;
  }
}

h2 {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
}

h3 {
  font-family: "Libre Baskerville", serif;
  font-size: 1.125rem;
  line-height: 1.33333333;
  font-weight: 700;
}

h4 {
  font-family: "Libre Baskerville", serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
}

h5 {
  font-family: "Libre Baskerville", serif;
  font-size: 0.875rem;
  line-height: 1.71428571;
  font-weight: 700;
}

h6 {
  font-family: "Libre Baskerville", serif;
  font-size: 0.75rem;
  line-height: 2;
  font-weight: 700;
}

/* =========================================================================
   #TABLES
   ========================================================================= */
table {
  width: 100%;
}

/* =========================================================================
   $OBJECTS
   ========================================================================= */
/* =========================================================================
   #ACCORDION
   ========================================================================= */
.o-accordion {
  border-bottom: 1px solid #d8d8d8;
}

.o-accordion__header,
.o-accordion__panel {
  border-top: 1px solid #d8d8d8;
}

.o-accordion__button {
  background: none;
  border: 0;
  display: block;
  padding: 1.5rem;
  position: relative;
  text-align: left;
  width: 100%;
}

.o-accordion__button:after {
  content: "";
  border: solid black;
  border-width: 0 2px 2px 0;
  height: .5rem;
  pointer-events: none;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: .5rem;
}

.o-accordion__button.is-active:after {
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}

.o-accordion__panel {
  padding: 1.5rem;
}

.o-accordion__panel.is-hidden {
  display: none;
}

/* =========================================================================
   #BLOCK
   ========================================================================= */
/**
 * Stack images above text; handy for product or category grids etc.
 */
.o-block {
  display: block;
  text-align: center;
}

.o-block__image {
  margin-bottom: 1.5rem;
  /* Size variants.
	======================================================================== */
}

.o-block--flush .o-block__image {
  margin-bottom: 0;
}

.o-block--tiny .o-block__image {
  margin-bottom: 0.375rem;
}

.o-block--small .o-block__image {
  margin-bottom: 0.75rem;
}

.o-block--large .o-block__image {
  margin-bottom: 3rem;
}

.o-block--huge .o-block__image {
  margin-bottom: 6rem;
}

.o-block__body {
  display: block;
}

/* Alignment variants.
============================================================================ */
.o-block--right {
  text-align: right;
}

.o-block--left {
  text-align: left;
}

/* =========================================================================
   #BOX
   ========================================================================= */
/**
 * Box off content.
 */
.o-box {
  display: block;
  padding: 1.5rem;
}

.o-box > :last-child {
  margin-bottom: 0;
}

/* Size variants.
============================================================================ */
.o-box--tiny {
  padding: 0.375rem;
}

.o-box--small {
  padding: 0.75rem;
}

.o-box--large {
  padding: 3rem;
}

.o-box--huge {
  padding: 6rem;
}

/* =========================================================================
   #BULLSEYE
   ========================================================================= */
/**
 * Center content within its container.
 *
 * 1. Center content horizontally.
 * 2. Make sure the element always takes up all the space it can.
 * 3. Center content vertically.
 */
.o-bullseye {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* [1] */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  /* [2] */
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  /* [3] */
  width: 100%;
  /* [2] */
}

/* Stack content vertically.
============================================================================ */
.o-bullseye--stacked {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* =========================================================================
   #GRID
   ========================================================================= */
.o-grid {
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: top;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: -1.5rem;
}

.o-grid__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 1.5rem;
  width: 100%;
}

/* Gutter variants.
============================================================================ */
.o-grid--flush {
  margin-left: 0;
}

.o-grid--flush > .o-grid__item {
  padding-left: 0;
}

.o-grid--tiny {
  margin-left: -0.375rem;
}

.o-grid--tiny > .o-grid__item {
  padding-left: 0.375rem;
}

.o-grid--small {
  margin-left: -0.75rem;
}

.o-grid--small > .o-grid__item {
  padding-left: 0.75rem;
}

.o-grid--large {
  margin-left: -3rem;
}

.o-grid--large > .o-grid__item {
  padding-left: 3rem;
}

.o-grid--huge {
  margin-left: -6rem;
}

.o-grid--huge > .o-grid__item {
  padding-left: 6rem;
}

/* Responsive gutter variants.
============================================================================ */
@media screen and (min-width: 36.25em) {
  .o-grid--tiny\@small {
    margin-left: -0.375rem;
  }
  .o-grid--tiny\@small > .o-grid__item {
    padding-left: 0.375rem;
  }
  .o-grid--small\@small {
    margin-left: -0.75rem;
  }
  .o-grid--small\@small > .o-grid__item {
    padding-left: 0.75rem;
  }
  .o-grid--medium\@small {
    margin-left: -1.5rem;
  }
  .o-grid--medium\@small > .o-grid__item {
    padding-left: 1.5rem;
  }
  .o-grid--large\@small {
    margin-left: -3rem;
  }
  .o-grid--large\@small > .o-grid__item {
    padding-left: 3rem;
  }
  .o-grid--huge\@small {
    margin-left: -6rem;
  }
  .o-grid--huge\@small > .o-grid__item {
    padding-left: 6rem;
  }
}

@media screen and (min-width: 46.875em) {
  .o-grid--tiny\@small {
    margin-left: -0.375rem;
  }
  .o-grid--tiny\@small > .o-grid__item {
    padding-left: 0.375rem;
  }
  .o-grid--small\@medium {
    margin-left: -0.75rem;
  }
  .o-grid--small\@medium > .o-grid__item {
    padding-left: 0.75rem;
  }
  .o-grid--medium\@medium {
    margin-left: -1.5rem;
  }
  .o-grid--medium\@medium > .o-grid__item {
    padding-left: 1.5rem;
  }
  .o-grid--large\@medium {
    margin-left: -3rem;
  }
  .o-grid--large\@medium > .o-grid__item {
    padding-left: 3rem;
  }
  .o-grid--huge\@medium {
    margin-left: -6rem;
  }
  .o-grid--huge\@medium > .o-grid__item {
    padding-left: 6rem;
  }
}

@media screen and (min-width: 61.875em) {
  .o-grid--tiny\@large {
    margin-left: -0.375rem;
  }
  .o-grid--tiny\@large > .o-grid__item {
    padding-left: 0.375rem;
  }
  .o-grid--small\@large {
    margin-left: -0.75rem;
  }
  .o-grid--small\@large > .o-grid__item {
    padding-left: 0.75rem;
  }
  .o-grid--medium\@large {
    margin-left: -1.5rem;
  }
  .o-grid--medium\@large > .o-grid__item {
    padding-left: 1.5rem;
  }
  .o-grid--large\@large {
    margin-left: -3rem;
  }
  .o-grid--large\@large > .o-grid__item {
    padding-left: 3rem;
  }
  .o-grid--huge\@large {
    margin-left: -6rem;
  }
  .o-grid--huge\@large > .o-grid__item {
    padding-left: 6rem;
  }
}

@media screen and (min-width: 87.5em) {
  .o-grid--tiny\@huge {
    margin-left: -0.375rem;
  }
  .o-grid--tiny\@huge > .o-grid__item {
    padding-left: 0.375rem;
  }
  .o-grid--small\@huge {
    margin-left: -0.75rem;
  }
  .o-grid--small\@huge > .o-grid__item {
    padding-left: 0.75rem;
  }
  .o-grid--medium\@huge {
    margin-left: -1.5rem;
  }
  .o-grid--medium\@huge > .o-grid__item {
    padding-left: 1.5rem;
  }
  .o-grid--large\@huge {
    margin-left: -3rem;
  }
  .o-grid--large\@huge > .o-grid__item {
    padding-left: 3rem;
  }
  .o-grid--huge\@huge {
    margin-left: -6rem;
  }
  .o-grid--huge\@huge > .o-grid__item {
    padding-left: 6rem;
  }
}

/* Vertical alignment modifiers.
============================================================================ */
.o-grid--middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.o-grid--bottom {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

/* Horizontal alignment modifiers.
============================================================================ */
.o-grid--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.o-grid--right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.o-grid--between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.o-grid--around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

/* Inline grid item modifiers.
============================================================================ */
.o-grid--inline > .o-grid__item {
  width: auto;
}

/* Equal width item modifiers.
============================================================================ */
.o-grid--equal > .o-grid__item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* Make an item stretch to take up all available space.
============================================================================ */
.o-grid--stretch > .o-grid__item--stretch {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* Negate grid items' bottom spacing.
============================================================================ */
/**
 * 1. The negative top margin on the parent grid element is equal to the top
 * 	  padding of the child grid items.
 */
.o-grid--vertical {
  margin-top: -1.5rem;
  /* [1] */
  /* Use vertical grids with our gutter variants.
	======================================================================== */
}

.o-grid--vertical > .o-grid__item {
  padding-top: 1.5rem;
  /* [1] */
}

.o-grid--vertical.o-grid--tiny {
  margin-top: -0.375rem;
}

.o-grid--vertical.o-grid--tiny > .o-grid__item {
  padding-top: 0.375rem;
}

.o-grid--vertical.o-grid--small {
  margin-top: -0.75rem;
}

.o-grid--vertical.o-grid--small > .o-grid__item {
  padding-top: 0.75rem;
}

.o-grid--vertical.o-grid--large {
  margin-top: -3rem;
}

.o-grid--vertical.o-grid--large > .o-grid__item {
  padding-top: 3rem;
}

.o-grid--vertical.o-grid--huge {
  margin-top: -6rem;
}

.o-grid--vertical.o-grid--huge > .o-grid__item {
  padding-top: 6rem;
}

/* =========================================================================
   #LIST-BARE
   ========================================================================= */
/**
 * Strip bullet points and indentation from lists.
 */
.o-list-bare {
  list-style: none;
  margin-left: 0;
}

.o-list-bare__item {
  margin-left: 0;
}

/* =========================================================================
   #MEDIA
   ========================================================================= */
.o-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.o-media__img {
  margin-right: 1.5rem;
}

.o-media__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.o-media__body,
.o-media__body > :last-child {
  margin-bottom: 0;
}

/* Alignment variants.
============================================================================ */
.o-media--middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Size variants.
============================================================================ */
.o-media--small > .o-media__img {
  margin-right: 0.75rem;
}

.o-media--small.o-media--reverse > .o-media__img {
  margin-left: 0.75rem;
  margin-right: 0;
}

.o-media--large > .o-media__img {
  margin-right: 3rem;
}

.o-media--large.o-media--reverse > .o-media__img {
  margin-left: 3rem;
  margin-right: 0;
}

/* Reverse direction.
============================================================================ */
.o-media--reverse > .o-media__img {
  margin-right: 0;
  margin-left: 1.5rem;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

/* Gutterless media object.
============================================================================ */
.o-media--flush > .o-media__img {
  margin-right: 0;
  margin-left: 0;
}

/* =========================================================================
   #RATIO
   ========================================================================= */
/**
 * Keep content (e.g. images, videos) in a pre-defined aspect ratio.
 *
 * 1. The default raio is 1:1 (i.e. a square).
 */
.o-ratio {
  position: relative;
  display: block;
}

.o-ratio:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 100%;
  /* [1] */
}

.o-ratio__content {
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

.o-ratio__image {
  max-height: 100%;
}

/* Ratio variants.
   ========================================================================= */
.o-ratio--2\:1:before {
  padding-bottom: 50%;
}

.o-ratio--4\:3:before {
  padding-bottom: 75%;
}

/* =========================================================================
   #WRAPPER
   ========================================================================= */
/**
 * Constrain page content.
 */
.o-wrapper {
  margin-right: auto;
  margin-left: auto;
  max-width: 960px;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

/* Size variants.
============================================================================ */
.o-wrapper--tiny {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.o-wrapper--small {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}

.o-wrapper--large {
  padding-right: 3rem;
  padding-left: 3rem;
}

.o-wrapper--huge {
  padding-right: 6rem;
  padding-left: 6rem;
}

/* Width variant.
============================================================================ */
.o-wrapper--full {
  max-width: none;
}

.o-wrapper--measure {
  max-width: 43.75em;
}

/* =========================================================================
   $COMPONENTS
   ========================================================================= */
/* =========================================================================
   #ANIMATE-IN
   ========================================================================= */
/**
 * Animate an element in when it is scrolled into view.
 */
.c-animate-in {
  -webkit-transition: all .7s ease-in-out;
  transition: all .7s ease-in-out;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

.c-animate-in.is-hidden {
  opacity: 0;
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
}

/* =========================================================================
   #BREADCRUMB
   ========================================================================= */
.c-breadcrumb {
  font-size: 0.75rem;
  line-height: 2;
  margin-bottom: 3rem;
  opacity: 0.75;
}

.c-breadcrumb__crumb {
  font-weight: 700;
}

.c-breadcrumb__crumb.current {
  font-weight: normal;
  pointer-events: none;
}

/* ==========================================================================
   #BUTTONS
   ========================================================================= */
.c-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
}

.c-button:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

/* Type modifiers.
============================================================================ */
.c-button--primary {
  background-color: #ffaa54;
  border-color: #ffaa54;
  font-size: 1.125rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.c-button--primary, .c-button--primary:focus {
  color: #fff;
}

.c-button--secondary {
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.c-button--secondary, .c-button--secondary:focus {
  color: #fff;
}

/* Size modifiers.
============================================================================ */
.c-button--full {
  display: block;
  width: 100%;
}

.c-button--small {
  font-size: 0.75rem;
  padding: 0.375rem 1.5rem;
}

/* =========================================================================
   #CART
   ========================================================================= */
.c-cart__link {
  font-weight: 700;
}

.c-cart--sticky {
  background-color: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: right;
  width: 100%;
  z-index: 120;
}

.c-cart--sticky .c-cart__link {
  display: block;
  font-size: 0.875rem;
  line-height: 1.28571429;
  padding: 1rem 0.75rem;
}

@media screen and (min-width: 46.875em) {
  .c-cart--sticky {
    display: none;
  }
}

/* =========================================================================
   #CATEGORIES
   ========================================================================= */
.c-category {
  text-align: center;
}

@media screen and (min-width: 25em) {
  .c-category {
    width: 50%;
  }
}

@media screen and (min-width: 36.25em) {
  .c-category {
    width: 33.3333333%;
  }
}

@media screen and (min-width: 46.875em) {
  .c-category {
    width: 25%;
  }
}

.c-category__link {
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding: 0.75rem;
}

.c-category__name {
  font-weight: 700;
  margin-bottom: 0;
}

.c-category__image {
  width: 98px;
}

/**
 * Categories with images
 */
.c-category--image .c-category__name {
  text-align: left;
}

.c-category--image .c-category__link {
  display: block;
}

/**
 * Sub-categories
 */
.c-category--sub {
  text-align: left;
}

@media screen and (min-width: 25em) {
  .c-category--sub {
    width: 100%;
  }
}

@media screen and (min-width: 36.25em) {
  .c-category--sub {
    width: 50%;
  }
}

@media screen and (min-width: 46.875em) {
  .c-category--sub {
    width: 33.333333%;
  }
}

/* =========================================================================
   #CATEGORY-DESCRIPTION
   ========================================================================= */
.c-category-description {
  font-size: 0.875rem;
  line-height: 1.71428571;
  opacity: 0.75;
  text-align: left;
}

/* =========================================================================
   #CONTACT-DETAILS
   ========================================================================= */
.c-contact-details__detail {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 0.375rem;
  opacity: .5;
}

/* =========================================================================
   #CURRENCY
   ========================================================================= */
.c-currency {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 46.875em) {
  .c-currency {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-left: -0.75rem;
  }
}

.c-currency table {
  margin-bottom: 0;
  width: auto;
}

.c-currency td {
  padding: 0;
}

.ekm-currency-flag-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 0.75rem;
  margin-left: 0.75rem;
}

.ekm-currency-flag {
  -ms-flex-item-align: center;
      align-self: center;
  border-style: solid;
  color: #d107f0;
}

.ekm-currency-flag[border="2"] {
  height: 18px !important;
  width: 26px !important;
}

/* =========================================================================
   #FAQS-SECTION
   ========================================================================= */
.c-faqs-section {
  background-color: #fff;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.c-faqs-section.is-empty {
  display: none;
}

.c-faqs-section__heading {
  margin-bottom: 3rem;
}

.c-faqs-section__question .o-accordion__button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Libre Baskerville", serif;
  font-size: 0.875rem;
  line-height: 1.28571429;
  padding-left: 0;
  padding-right: 0;
}

.c-faqs-section__question .o-accordion__button:after {
  display: none;
}

.c-faqs-section__answer {
  font-size: 0.75rem;
  padding-left: 1.875rem;
  padding-right: 0;
}

.c-faqs-section__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.75rem;
}

.c-faqs-section__icon .c-icon--plus__y {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.is-active .c-faqs-section__icon .c-icon--plus__y {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

/* =========================================================================
   #HEADINGS
   ========================================================================= */
/**
 * Purpose-driven cosmetic styles for our h1-h6 elements.
 */
.c-heading-page {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
  text-align: left;
}

.c-page-content--product .c-heading-page {
  margin-bottom: 0;
}

.c-heading-section {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 61.875em) {
  .c-heading-section {
    font-size: 2.25rem;
    line-height: 1.33333333;
  }
}

.c-heading-title {
  font-family: "Libre Baskerville", serif;
  font-size: 1.125rem;
  line-height: 1.33333333;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.c-heading-footer {
  font-family: "Libre Baskerville", serif;
  font-size: 0.875rem;
  line-height: 1.71428571;
  font-weight: 700;
  margin-bottom: 1.5rem;
  margin-top: 3rem;
  text-align: center;
}

@media screen and (min-width: 46.875em) {
  .c-heading-footer {
    text-align: left;
  }
}

/* =========================================================================
   #ICONS
   ========================================================================= */
/**
 * Reset <button> elements' default styles when used to wrap an <svg> icon.
 */
.c-icon-handle {
  background: 0;
  border: 0;
  padding: 0;
}

.c-icon {
  display: inline-block;
  fill: #333;
  height: 1.125rem;
  vertical-align: middle;
  width: 1.125rem;
}

/* =========================================================================
   #LOGIN
   ========================================================================= */
.c-login {
  background-color: #f3dbff;
  margin-top: 1.5rem;
  padding: 1.5rem;
}

.c-login.is-hidden {
  display: none;
}

.c-login__inner {
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto;
}

.c-login__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.75rem;
  margin-bottom: 0.375rem;
  font-size: 0.75rem;
  line-height: 2;
}

.c-login__input {
  font-size: 0.75rem;
  width: 100%;
}

.c-login__row {
  margin-top: 1.5rem;
}

.c-login__row:first-child {
  margin-top: 0.75rem;
}

.c-login__password-link {
  font-size: 0.75rem;
  line-height: 2;
}

.c-login__logged-in-link {
  font-size: 0.875rem;
  line-height: 1.71428571;
}

/* =========================================================================
   #LOYALTY-POINTS
   ========================================================================= */
.c-loyalty-points {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 0.75rem;
  margin-bottom: 0;
  opacity: 0.75;
}

/* =========================================================================
   #MENU
   ========================================================================= */
.c-menu {
  background: #fff;
  height: 100%;
  opacity: 1;
  overflow-y: auto;
  padding: 1.5rem;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  visibility: visible;
  width: 100%;
  z-index: 120;
}

.c-menu.is-hidden {
  height: 0;
  opacity: 0;
  padding: 0;
  visibility: hidden;
  width: 0;
}

.c-menu__list {
  margin: 3rem auto;
  max-width: 37.5rem;
}

.c-menu__list.c-animate-in {
  -webkit-transition-duration: .4s;
          transition-duration: .4s;
}

.c-menu__item {
  margin-top: 1.5rem;
}

.c-menu__item:first-child {
  margin-top: 0;
}

.c-menu__link {
  display: block;
  font-weight: 700;
}

/**
 * Prevent page from being scrolled when menu is open.
 */
.menu-is-open {
  height: 100%;
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.menu-is-open body {
  overflow: hidden;
}

/**
 * Login
 */
/*.c-menu__login-text {
  padding-right: 0.75rem;
  position: relative;
}

.c-menu__login-text:after {
  content: "";
  border: solid black;
  border-width: 0 2px 2px 0;
  height: .5rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0.375rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: .5rem;
}*/

.is-expanded .c-menu__login-text:after {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  top: 0.625rem;
}

/* =========================================================================
   #NEWSLETTER
   ========================================================================= */
.c-newsletter__form {
  border-bottom: 1px solid #fff;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.75rem;
  padding-bottom: 0.6875rem;
}

.c-newsletter__form:focus-within {
  border-color: #d107f0;
}

.c-newsletter__label {
  font-size: 0;
}

.c-newsletter__field,
.c-newsletter__button {
  background: transparent;
  border: 0;
  font-size: 0.875rem;
  line-height: 1.28571429;
  padding: 0;
}

.c-newsletter__field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 0;
}

.c-newsletter__field:focus {
  color: #fff;
}

.c-newsletter__button:hover {
  opacity: 0.75;
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
}

/* =========================================================================
   #PAGE-CONTENT
   ========================================================================= */
.c-page-content {
  background-color: #f3dbff;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

/* Page variants.
============================================================================ */
.c-page-content--main {
  padding-top: 0;
  padding-bottom: 0;
}

.c-page-content--main > .o-wrapper {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.c-page-content--category,
.c-page-content--product {
  padding-top: 1.5rem;
}

/**
 * Restrict the content width on certain page types for a better experience.
 */
.c-page-content--webpage > .o-wrapper,
.c-page-content--general > .o-wrapper,
.c-page-content--cart > .o-wrapper {
  max-width: 43.75em;
}

.c-page-content--webpage h1,
.c-page-content--general h1,
.c-page-content--cart h1 {
  text-align: center;
}

/* =========================================================================
   #PAYMENT-LOGOS
   ========================================================================= */
.c-payment-logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  margin: 0;
  margin-bottom: 1.5rem;
  margin-top: -0.75rem;
  padding: 0;
}

@media screen and (min-width: 46.875em) {
  .c-payment-logos {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    margin-bottom: 0;
  }
}

.c-payment-logos__logo {
  margin-left: 1.125rem;
  margin-top: 0.75rem;
}

@media screen and (min-width: 46.875em) {
  .c-payment-logos__logo {
    margin-left: 0;
    margin-right: 1.125rem;
  }
}

@media screen and (min-width: 46.875em) {
  .c-payment-logos__logo:last-child {
    margin-right: 0;
  }
}

/* =========================================================================
   #PRODUCT-ADD-TO-CART
   ========================================================================= */
.c-product-add-to-cart {
  display: block;
  margin-top: 2.25rem;
  width: 100%;
}

/* =========================================================================
   #WISHLIST
   ========================================================================= */
/* Wishlist Button Styles */
.wishlist-wrapper { 
    display: flex;        
    display: -webkit-box;  
    display: -ms-flexbox;  
    display: -webkit-flex; 
    margin-top: 20px;
}

.wishlist-wrapper svg path { 
    transition: fill 0.2s ease-in-out; 
        -webkit-transition: fill 0.2s ease-in-out;
}

.wishlist-wrapper button:hover { opacity: 1; }

.wishlist-btn {
    align-items: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
    background: none;
    border: 0;
    color: #333;
    cursor: pointer;
    display: flex;        
    display: -webkit-box;  
    display: -ms-flexbox;  
    display: -webkit-flex; 
    padding: 0;
}

.wishlist-text { 
    margin-left: 6px;
	font-size: 12px;
}
    
.wishlist-btn:hover .wishlist-text { opacity: 0.7; }

.wishlist-heart {
    border-radius: 50%;
    height: 34px;
    position: relative;
    width: 34px;
}

.wishlist-heart svg {
    height: 20px;
    left: 50%;
    margin-top: 1px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
    width: 20px;
}
    
.wishlist-heart-inner-color { fill: #ffaa54; }

.wishlist-heart-outer-color,
.wishlist-btn:hover .wishlist-heart-inner-color,
.wishlist-heart-icon-added { fill: #fff; }
        
.wishlist-heart { background: #ffaa54; }


/* =========================================================================
   #PRODUCT-ATTRIBUTES
   ========================================================================= */
.c-product-attributes {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 1.125rem;
  opacity: 0.75;
}

.c-product-attributes__name {
  font-weight: 700;
}

/* =========================================================================
   #PRODUCT-BACK-IN-STOCK
   ========================================================================= */
.c-product-back-in-stock {
  font-size: 0.75rem;
  line-height: 2;
  margin-top: 1.5rem;
  opacity: 0.75;
}

.c-product-back-in-stock span span:first-child + span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.75rem;
}

.c-product-back-in-stock__field {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 0.75rem;
}

/* =========================================================================
   #PRODUCT-CONTAINER
   ========================================================================= */
.c-product-container {
  margin-top: 2.25rem;
  margin-bottom: 3rem;
}

@media screen and (min-width: 46.875em) {
  .c-product-container__images-wrapper {
    width: 50%;
  }
}

@media screen and (min-width: 46.875em) {
  .c-product-container__info-wrapper {
    width: 50%;
  }
  .c-product-container__info-wrapper :first-child {
    margin-top: 0;
  }
}

/* =========================================================================
   #PRODUCT-DESCRIPTION
   ========================================================================= */
.c-product-description {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 2.25rem;
  opacity: 0.75;
}

/* =========================================================================
   #PRODUCT-IMAGE-VIEWER
   ========================================================================= */
.c-product-image-viewer {
  margin-bottom: 2.25rem;
}

.c-product-image-viewer__image--extra {
  -ms-flex-preferred-size: 25%;
      flex-basis: 25%;
}

.c-product-image-viewer__image--extra.has-no-image {
  display: none;
}

.c-product-image-viewer__inner {
  background-color: #fff;
  position: relative;
  display: block;
}

.c-product-image-viewer__inner:before {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 100%;
  /* [1] */
}

.c-product-image-viewer__inner > a,
.c-product-image-viewer__inner > a span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

.c-product-image-viewer__inner > a img {
  max-height: 100%;
  width: auto;
}

/* =========================================================================
   #PRODUCT-LISTS
   ========================================================================= */
.c-product-list {
  margin-top: 3rem;
}

/* =========================================================================
   #PRODUCT-OPTIONS
   ========================================================================= */
.c-product-options {
  margin-top: 2.25rem;
  /**
	 * Colour Swatches
	 */
}

.c-product-options select,
.c-product-options input,
.c-product-options textarea {
  width: 100%;
}

.c-product-options br {
  display: none;
}

.c-product-options .ekm-productoptions-radio-option:checked + label {
  -webkit-box-shadow: 0 0 0 2px #333;
          box-shadow: 0 0 0 2px #333;
}

.c-product-options__row {
  margin-top: 1.5rem;
}

.c-product-options__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.75rem;
  margin-bottom: 0.375rem;
}

/**
 * Hide the label for image upload product options
 */
._EKM_OPTIONIMAGE_BUTTON {
  font-size: 0;
}

/**
 * Reset the background colour of the image upload input
 */
.ekm-productoptions-image {
  background-color: transparent;
}

/* =========================================================================
   #PRODUCT-PRICES
   ========================================================================= */
.c-product-prices {
  line-height: 1.125;
  margin-top: 0.75rem;
}

.c-product-prices__price {
  color: #d107f0;
}

.c-product-prices__rrp {
  margin-left: 0.75rem;
  text-decoration: line-through;
}

.c-product-prices__vat {
	margin-left: .75rem;
  color: #d107f0;
    opacity: .75;
    font-size: 0.875rem;
}

/* Product page prices.
============================================================================ */
.c-product .c-product-prices {
  margin-top: 0.375rem;
}

.c-product--main .c-product-prices {
  margin-top: 0.75rem;
}

.c-product--main .c-product-prices__rrp {
  margin-left: 1.5rem;
}

/* =========================================================================
   #PRODUCT-REVIEWS
   ========================================================================= */
.c-product-reviews {
  margin-top: 2.25rem;
  margin-bottom: 2.25rem;
}

.c-product-reviews__list {
  margin-bottom: 0;
}

@media screen and (min-width: 46.875em) {
  .c-product-reviews__list > .o-grid__item {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}

.c-product-reviews__review {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 3px;
  font-size: 0.75rem;
  line-height: 1.5;
  height: 100%;
  padding: 0.75rem;
}

.c-product-reviews__item--no-reviews {
  text-align: center;
}

/**
 * Review
 */
.c-product-reviews__reviewer {
  font-weight: 700;
  margin-bottom: 0.375rem;
}

.c-product-reviews__button {
  font-size: 0.75rem;
  padding: 0.375rem 0.75rem;
}

/* =========================================================================
   #PRODUCT-SECTION
   ========================================================================= */
.c-product-section {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

/* =========================================================================
   #PRODUCT-SHORT-DESCRIPTION
   ========================================================================= */
.c-product-short-description {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
  opacity: 0.75;
}

.c-product-cat__short-description {
	margin-top: 1.125rem;
    font-size: 0.75rem;
}
/* =========================================================================
   #PRODUCT-STOCK-MESSAGE
   ========================================================================= */
.c-product-stock-message {
  margin-bottom: 0;
  margin-top: 1.5rem;
  font-weight: 700;
}

/* =========================================================================
   #PRODUCTS
   ========================================================================= */
.c-product {
  text-align: center;
}

@media screen and (min-width: 36.25em) {
  .c-product {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}

@media screen and (min-width: 46.875em) {
  .c-product {
    -ms-flex-preferred-size: 33.3333333%;
        flex-basis: 33.3333333%;
  }
}

.c-product.has-secondary-image .c-product__link {
  position: relative;
}

.c-product.has-secondary-image .c-product__link:hover .c-product__image--primary {
  opacity: 0;
}

.c-product.has-secondary-image .c-product__link:hover .c-product__image--secondary {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: all 0.45s cubic-bezier(0.26, 0.54, 0.32, 1);
  transition: all 0.45s cubic-bezier(0.26, 0.54, 0.32, 1);
}

.c-product__link {
  display: block;
  overflow: hidden;
}

.c-product__link:hover {
  opacity: 1;
}

.c-product__image {
  background-color: #fff;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.c-product__image--secondary {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.c-product__name {
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 1.125rem;
  margin-bottom: 0;
}

/* Main home page product.
============================================================================ */
.c-product--main {
  max-width: 27.5rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 46.875em) {
  .c-product--main {
    max-width: none;
    margin-left: initial;
    margin-right: initial;
  }
}

@media screen and (min-width: 46.875em) {
  .c-product--main > .o-grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.c-product--main .c-product__name {
  font-size: 1.125rem;
  line-height: 1.33333333;
  margin-top: 2.25rem;
  margin-bottom: 0;
}

@media screen and (min-width: 46.875em) {
  .c-product--main .c-product__name {
    margin-top: 0;
  }
}

.c-product--main .c-product__button {
  margin-top: 3rem;
}

.c-product--main .c-product__view-details {
  color: #d107f0;
  display: inline-block;
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 2;
  margin-top: 1.5rem;
}

@media screen and (min-width: 46.875em) {
  .c-product__element {
    width: 50%;
  }
}

/* Product list variations.
============================================================================ */
.c-product-list--related > .o-grid {
  margin-top: -1.5rem;
}

.c-product-list--related .c-product {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  padding-top: 1.5rem;
}

@media screen and (min-width: 36.25em) {
  .c-product-list--related .c-product {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
  }
}

@media screen and (min-width: 46.875em) {
  .c-product-list--related .c-product {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
  }
}

.c-product-list--related .c-product__name {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-top: 0.375rem;
}

.c-product-list--related .c-product-prices {
  font-size: 0.75rem;
  line-height: 1;
}

.c-product-list--related { margin-bottom: 3rem; }
/* =========================================================================
   #PROMOS
   ========================================================================= */
.c-promo {
  text-align: center;
}

/**
 * Banner
 */
.c-promo--banner {
	height: 56.25vw;
	max-height: 50rem;
	min-height: 18.75rem;
}

.c-promo--banner.is-static {
	height: 56.25vw;
	max-height: 50rem;
	min-height: 18.75rem;
}

.c-promo--banner.is-carousel {
	height: auto;
	max-height: none;
	min-height: auto;
}


/**
 * Image and Text
 */
.c-promo-image-and-text {
  background-color: #f3dbff;
  padding: 6rem 1.5rem;
  text-align: center;
}

.c-promo-image-and-text img {
  border-radius: 50%;
}

@media screen and (min-width: 46.875em) {
  .c-promo-image-and-text {
    padding: 0;
  }
  .c-promo-image-and-text,
  .c-promo-image-and-text .c-heading-section {
    text-align: left;
  }
  .c-promo-image-and-text .c-promo__text {
    margin-left: 0;
  }
}

@media screen and (min-width: 46.875em) {
  .c-promo-image-and-text .o-grid__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.c-promo-image-and-text--reverse .c-promo-image-and-text__item--text {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 46.875em) {
  .c-promo-image-and-text--reverse .c-promo-image-and-text__item--text {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.c-promo-image-and-text__item.o-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 46.875em) {
  .c-promo-image-and-text__item.o-grid__item {
    padding: 6rem;
  }
}

@media screen and (min-width: 46.875em) {
  .c-promo-image-and-text__item--image {
    background-color: #fff;
  }
}

.c-promo-image-and-text__item--text:only-child {
  text-align: center;
}

.c-promo-image-and-text__item--text:only-child .c-promo__text {
  margin-left: auto;
}

.c-promo-image-and-text__inner {
  width: 100%;
}

.c-promo-image-and-text__image-wrapper {
  height: 100%;
  max-width: 13.75rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  width: 100%;
}

@media screen and (min-width: 46.875em) {
  .c-promo-image-and-text__image-wrapper {
    margin-bottom: 0;
    max-width: 27.5rem;
  }
}

.c-promo-image-and-text__image-wrapper .o-ratio__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-promo__text {
  max-width: 27.5rem;
  margin-left: auto;
  margin-right: auto;
  opacity: .7;
}

@media screen and (min-width: 46.875em) {
  .c-promo__text {
    max-width: 38.75rem;
  }
}

/**
 * Background Image
 */
.c-promo--background-image {
  background-position: center center;
  background-size: cover;
}

.c-promo--background-image img {
  display: none;
}

.c-promo--overlay {
  color: #fff;
  max-height: 24rem;
  padding-top: 9rem;
  padding-bottom: 9rem;
}

/**
 * Boxes
 */
@media screen and (min-width: 46.875em) {
  .c-promo-boxes > .o-grid__item {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}

/**
 * Make linked promos look visually clickable
 */
.c-promo.is-clickable {
	cursor: pointer;
}


/* =========================================================================
   #REVIEW-STARS
   ========================================================================= */
.c-review-stars-wrapper {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: 0;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.75rem;
  padding: 0;
}

.c-review-stars {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 1.125rem;
  opacity: 0.75;
  width: 5.625rem;
}

.c-review-stars__rating {
  -webkit-transition: width .45s ease-in-out .5s;
  transition: width .45s ease-in-out .5s;
}

.c-review-stars__meta {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-left: 0.375rem;
  position: relative;
  top: 0.1em;
}

/**
 * Full Stars
 */
.c-review-stars .full {
  fill: #333;
}

/**
 * Empty Stars
 */
.c-review-stars .empty {
  fill: #333;
}

.c-review-stars__empty {
  opacity: .25;
}

/* =========================================================================
   #SITE-COPYRIGHT
   ========================================================================= */
.c-site-copyright {
  font-size: 0.75rem;
  line-height: 1.5;
  opacity: .5;
}

/* =========================================================================
   #SITE-FOOTER
   ========================================================================= */
.c-site-footer {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

.c-site-footer a {
  font-weight: 700;
}

.c-site-footer__content {
  background-color: #272725;
  font-size: 0.875rem;
  line-height: 1.71428571;
  padding-top: 6rem;
  padding-bottom: 6rem;
  text-align: center;
}

.c-site-footer__content,
.c-site-footer__content a {
  color: #fff;
}

@media screen and (min-width: 46.875em) {
  .c-site-footer__content {
    text-align: left;
  }
}

@media screen and (min-width: 46.875em) {
  .c-site-footer__column-grid {
    margin-left: -3rem;
  }
}

@media screen and (min-width: 46.875em) {
  .c-site-footer__column-grid--main {
    margin-top: -3rem;
  }
}

@media screen and (min-width: 46.875em) {
  .c-site-footer__column {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    padding-left: 3rem;
  }
}

.c-site-footer__meta {
  margin-top: 3rem;
}

/* =========================================================================
   #SITE-HEADER
   ========================================================================= */
.c-site-header {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  padding: 3rem 1.5rem;
}

@media screen and (min-width: 61.875em) {
  .c-site-header {
    padding-left: 6rem;
    padding-right: 6rem;
  }
}

.c-site-header__logo {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media screen and (min-width: 46.875em) {
  .c-site-header__logo {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
    text-align: center;
  }
}

.c-site-header__menu {
  -ms-flex-preferred-size: 2.625rem;
      flex-basis: 2.625rem;
}

@media screen and (min-width: 46.875em) {
  .c-site-header__menu {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}

.c-site-header__button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.75rem;
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.c-site-header__button:hover {
  opacity: 0.75;
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.c-site-header__button:focus {
  outline: none;
}

.c-site-header__button--open {
  position: relative;
  right: -0.75rem;
}

@media screen and (min-width: 46.875em) {
  .c-site-header__button--open {
    right: 0.75rem;
  }
}

.c-site-header__button--close {
  position: absolute;
  top: 0;
  right: 0;
}

.c-site-header__button--close .c-icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (min-width: 46.875em) {
  .c-site-header__utilities {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
    text-align: right;
  }
}

.c-site-header__utility-list {
  display: none;
  font-size: 0.875rem;
  line-height: 1.71428571;
  margin-bottom: 0;
}

@media screen and (min-width: 46.875em) {
  .c-site-header__utility-list {
    display: block;
  }
}

.c-site-header__utility {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 2.25rem;
}

.c-site-header__utility:first-child {
  margin-left: 0;
}

.c-site-header__utility--page:nth-child(n+3) {
  display: none;
}

/* =========================================================================
   #SITE-LOGO
   ========================================================================= */
.c-site-logo {
  font-size: 2rem;
  font-weight: 700;
  height: 6rem;
  line-height: calc(96 / 32);
}

@media screen and (min-width: 46.875em) {
  .c-site-logo {
    height: 9rem;
  }
}

.c-site-logo__link {
  display: block;
  height: 100%;
}

.c-site-logo__image,
.c-site-logo img {
  max-height: 100%;
  max-width: 100%;
}

/* =========================================================================
   #SOCIAL
   ========================================================================= */
.c-social {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: -1.5rem;
}

.c-social > a {
  padding-left: 1.5rem;
}

/* Social plugin type variants.
============================================================================ */
.c-social--main {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.c-social--product-page {
  margin-left: -0.75rem;
}

.c-social--product-page > a {
  padding-left: 0.75rem;
}

/* =========================================================================
   #TESTIMONIALS
   ========================================================================= */
.c-testimonials {
  background-color: #272725;
  color: #fff;
  padding-top: 6rem;
  padding-bottom: 6rem;
  text-align: center;
}

.c-testimonials button {
  display: none;
}

.c-testimonials__review {
  font-size: 1.125rem;
  line-height: 1.33333333;
  font-weight: 400;
  margin-bottom: 0.375rem;
}

.c-testimonials__reviewer {
  font-size: 0.875rem;
  line-height: 1.71428571;
  opacity: 0.75;
}

.c-testimonials__button {
  background-color: #fff;
}

.c-testimonials__button, .c-testimonials__button:hover, .c-testimonials__button:active {
  color: #333;
}

/* =========================================================================
   #VIDEO-SECTION
   ========================================================================= */
.c-video-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 18.75rem;
}

.c-video-section__play-button {
  font-size: 0;
  -webkit-appearance: 0;
     -moz-appearance: 0;
          appearance: 0;
  background: 0;
  border: 0;
  padding: 0;
}

.c-video-section__play-button:focus {
  outline: 0;
}

.c-video-section__play-button:hover {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);
  transition: -webkit-transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);
  transition: transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);
  transition: transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1), -webkit-transform 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);
}

.c-video-section__play-button.is-waiting {
  display: none;
}

.c-play-button__background {
  fill: #ffaa54;
}

.c-play-button__icon {
  fill: #fff;
}

.c-video-section__url {
  display: none;
}

.c-video-section__iframe {
  max-width: 100%;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 130;
}

.c-video-section__iframe.is-hidden {
  display: none;
}

.c-video-section__overlay {
  background-color: rgba(0, 0, 0, 0.65);
  height: 100%;
  opacity: 1;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transition: opacity 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);
  transition: opacity 0.2s cubic-bezier(0.02, 0.01, 0.47, 1);
  width: 100%;
  z-index: 100;
}

.c-video-section__overlay.is-hidden {
  height: 0%;
  opacity: 0;
}

/**
 * Prevent page from being scrolled when overlay is open.
 */
.overlay-is-showing {
  height: 100%;
  overflow: hidden;
  width: 100%;
}

/* =========================================================================
   #WEBPAGES
   ========================================================================= */
.c-webpages {
  margin-bottom: 0;
}

@media screen and (min-width: 46.875em) {
  .c-webpages {
    margin-top: 3rem;
  }
}

.c-webpages__page {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

@media screen and (min-width: 46.875em) {
  .c-webpages__page {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    margin-right: 0;
  }
}

.c-webpages__link {
  font-weight: 700;
}

.c-webpages__link.is-current {
  cursor: default;
  opacity: 0.75;
  pointer-events: none;
}

/* =========================================================================
   #WELCOME
   ========================================================================= */
.c-welcome {
  margin-top: 3rem;
  text-align: center;
}

/* =========================================================================
   $PAGES
   ========================================================================= */
/* ==========================================================================
   $APPROVE-REVIEW
   ========================================================================== */
form[name="customerreview"] input[type="submit"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

form[name="customerreview"] input[type="submit"]:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

form[name="customerreview"] input[type="submit"], form[name="customerreview"] input[type="submit"]:focus {
  color: #fff;
}

/* ==========================================================================
   $CUSTOMER-REVIEW
   ========================================================================== */
body .ekmps-write-your-own-review {
  /**
	 * Header
	 */
  /**
	 * Description
	 */
  /**
	 * Sections
	 */
}

body .ekmps-write-your-own-review .ekmps-review-header {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
  border-bottom: 0;
  margin-bottom: 1.5rem;
  padding: 0;
  text-align: center;
}

body .ekmps-write-your-own-review .ekmps-review-description {
  border-bottom: 1px solid #d8d8d8;
  padding-bottom: 1.4375rem;
  padding-top: 0;
  margin-bottom: 3rem;
}

body .ekmps-write-your-own-review .ekmps-form-section {
  border-bottom-color: #d8d8d8;
  margin-bottom: 3rem;
  padding-top: 0;
  padding-bottom: 1.5rem;
  /**
		 * Review Section
		 */
  /**
		 * Submit Section
		 */
}

body .ekmps-write-your-own-review .ekmps-form-section .ekmps-frm-row {
  margin-top: 0;
  margin-bottom: 1.5rem;
}

body .ekmps-write-your-own-review .ekmps-form-section .ekmps-frm-row label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.75rem;
}

body .ekmps-write-your-own-review .ekmps-form-section .ekmps-frm-row .text-field {
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 3px;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 0.75rem;
  line-height: 1;
  max-width: 100%;
  padding: 0.6875rem;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  width: 100%;
}

body .ekmps-write-your-own-review .ekmps-form-section .ekmps-frm-row .text-field:focus {
  color: #333;
  outline: 0;
  border-color: #d107f0;
}

body .ekmps-write-your-own-review .ekmps-form-section.ekmps-review {
  margin-bottom: 1.5rem;
  padding-bottom: 0;
}

body .ekmps-write-your-own-review .ekmps-form-section .ekmps-form-section-header {
  font-family: "Libre Baskerville", serif;
  font-size: 1.125rem;
  line-height: 1.33333333;
  font-weight: 700;
}

body .ekmps-write-your-own-review .ekmps-form-section.send-message .ekmps-frm-row input.send-button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

body .ekmps-write-your-own-review .ekmps-form-section.send-message .ekmps-frm-row input.send-button:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

body .ekmps-write-your-own-review .ekmps-form-section.send-message .ekmps-frm-row input.send-button, body .ekmps-write-your-own-review .ekmps-form-section.send-message .ekmps-frm-row input.send-button:focus {
  color: #fff;
}

/* ==========================================================================
   $CUSTOMER-SECURE-AREA
   ========================================================================== */
table[style="background-color:#FFF;"][width="100%"] tr[bgcolor="#AAAAAA"] {
  background-color: #f3dbff;
}

table[style="background-color:#FFF;"][width="100%"] tr[bgcolor="#AAAAAA"] font[size="2"] {
  font-size: 0.875rem;
}

table[style="background-color:#FFF;"][width="100%"] tr {
  font-size: 0.875rem;
}

table[style="background-color:#FFF;"][width="100%"] td {
  padding: 0.375rem;
}

table[style="background-color:#FFF;"][width="100%"] [style="color:#333333;"],
table[style="background-color:#FFF;"][width="100%"] [style="color: #000000;"] {
  color: #333;
}

table[style="background-color:#FFF;"][width="100%"] + table[width="100%"] {
  margin-bottom: 0;
}

table[style="background-color:#FFF;"][width="100%"] + table[width="100%"] table td[align="right"] {
  text-align: center;
}

table[style="background-color:#FFF;"][width="100%"] + table[width="100%"] table td[align="right"] ~ td {
  display: none;
}

table[style="background-color:#FFF;"][width="100%"] + table[width="100%"] table font[color="#666666"] {
  color: #333;
}

/* ==========================================================================
   $CONTACT-US
   ========================================================================== */
div.contact-form {
  font-size: 1rem;
}

div.contact-form h1 {
  font-family: "Libre Baskerville", serif;
  font-size: 2.25rem;
  line-height: 1.33333333;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

div.contact-form h1 + .hr {
  display: none;
}

div.contact-form .hr {
  border-bottom-style: solid;
  border-bottom-color: #d8d8d8;
  margin-top: 0;
  margin-bottom: 2.9375rem;
}

div.contact-form p.required,
div.contact-form-row .star {
  color: #e74c3c;
}

/**
 * Offset the password required message by the width of the "*"
 */
div.contact-form p.required {
  font-size: 0.75rem;
  margin-left: -0.283125em;
  /* [1] */
  margin-bottom: 1.5rem;
}

/**
 * Form Fields
 */
div.contact-form-row {
  margin: 0;
  margin-bottom: 1.5rem;
}

div.contact-form-row:last-of-type,
div.contact-form-row:empty {
  margin-bottom: 0;
}

div.contact-form-row label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.75rem;
  float: none;
  width: auto;
}

div.contact-form-row input,
div.contact-form-row textarea {
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 3px;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 0.75rem;
  line-height: 1;
  max-width: 100%;
  padding: 0.6875rem;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  width: 100%;
}

div.contact-form-row input:focus,
div.contact-form-row textarea:focus {
  color: #333;
  outline: 0;
  border-color: #d107f0;
}

/**
 * Submit Button
 */
div#contact-form-submit input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-left: 0;
  width: 100% !important;
}

div#contact-form-submit input:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

div#contact-form-submit input, div#contact-form-submit input:focus {
  color: #fff;
}

@media screen and (min-width: 36.25em) {
  div#contact-form-submit input {
    width: auto !important;
  }
}

/* ==========================================================================
   $PASSWORD-PROTECT
   ========================================================================== */
form[action="?function=PP-LOGIN&posted=TRUE"] input[type="password"] {
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  display: block;
  margin-top: 0.375rem;
  width: 100%;
}

form[action="?function=PP-LOGIN&posted=TRUE"] input[type="password"]:focus {
  color: #333;
  outline: 0;
  border-color: #d107f0;
}

form[action="?function=PP-LOGIN&posted=TRUE"] input[type="submit"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 0.75rem;
}

form[action="?function=PP-LOGIN&posted=TRUE"] input[type="submit"]:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

form[action="?function=PP-LOGIN&posted=TRUE"] input[type="submit"], form[action="?function=PP-LOGIN&posted=TRUE"] input[type="submit"]:focus {
  color: #fff;
}

/* ==========================================================================
   $RESET-PASSWORD
   ========================================================================== */
.c-page-content--webpage .o-wrapper > br:first-child,
.c-page-content--webpage .o-wrapper center + br {
  display: none;
}

.c-page-content--webpage center table {
  margin-bottom: 0;
}

/**
 * Password Reset Form
 */
form[name="lostemail"] {
  /**
	 * Generic Resets
	 */
  /**
	 * Page Heading
	 */
  /**
	 * Page Subtext
	 */
  /**
	 * Form Wrapper
	 */
  /**
	 * Email Address Input
	 */
  /**
	 * Submit Input
	 */
}

form[name="lostemail"] table,
form[name="lostemail"] tr,
form[name="lostemail"] td {
  margin: 0;
  padding: 0;
}

form[name="lostemail"] table,
form[name="lostemail"] tbody,
form[name="lostemail"] tr,
form[name="lostemail"] td,
form[name="lostemail"] font {
  display: block;
}

form[name="lostemail"] input,
form[name="lostemail"] table[width] {
  width: 100%;
}

form[name="lostemail"] br {
  display: none;
}

form[name="lostemail"] font[size="4"] {
  font-family: "Libre Baskerville", serif;
  margin-bottom: 1.5rem;
  text-align: center;
}

form[name="lostemail"] font[size="2"][face="verdana, arial"] {
  margin-bottom: 1.5rem;
}

form[name="lostemail"] table[width="400"] td:last-child table[border="0"][cellpadding="0"][cellspacing="0"] font[face="verdana"][size="1"] b {
  display: none;
}

form[name="lostemail"] font[face="verdana"] b {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.75rem;
}

form[name="lostemail"] input[name="thelostemail"] {
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  margin-bottom: 1.5rem;
}

form[name="lostemail"] input[name="thelostemail"]:focus {
  color: #333;
  outline: 0;
  border-color: #d107f0;
}

form[name="lostemail"] input[value="Request Password"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #333;
  border-color: #333;
  font-size: 0.875rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

form[name="lostemail"] input[value="Request Password"]:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

form[name="lostemail"] input[value="Request Password"], form[name="lostemail"] input[value="Request Password"]:focus {
  color: #fff;
}

@media screen and (min-width: 36.25em) {
  form[name="lostemail"] input[value="Request Password"] {
    width: auto;
  }
}

/**
 * No Record Page
 */
.c-page-content--webpage center td {
  padding: 0;
}

.c-page-content--webpage center table[width="350"] br {
  display: none;
}

.c-page-content--webpage center table[width="350"] font {
  display: block;
}

.c-page-content--webpage center table[width="350"] font[size="4"] {
  margin-bottom: 1.5rem;
  text-align: center;
}

.c-page-content--webpage center table[width="350"] font[size="2"] br:first-of-type,
.c-page-content--webpage center table[width="350"] font[size="2"] br:first-of-type + br {
  display: block;
}

.c-page-content--webpage center table[width="350"] font[size="2"] a {
  margin-top: 1.5rem;
}

/* =========================================================================
   $OVERRIDES
   ========================================================================= */
/* =========================================================================
   $FONT-OVERRIDES
   ========================================================================= */
font[face="verdana"],
font[face="verdana, arial"],
font[face="Verdana, Arial, Helvetica, sans-serif"] {
  font-family: inherit;
}

font[size="4"] {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
}

font[size="2"] {
  font-size: 0.875rem;
  line-height: 1.71428571;
}

font[size="1"] {
  font-size: 0.75rem;
  line-height: 2;
}

/* =========================================================================
   $PROMO-STICKERS
   ========================================================================= */
.ekm-product-image-badge-wrapper {
  -ms-flex-item-align: end;
      align-self: flex-end;
  display: block !important;
  height: 0      !important;
}

.c-product-image-viewer .ekm-product-image-badge-wrapper {
  display: none !important;
}

/* ==========================================================================
   #NEWSLETTER MODAL
   ========================================================================== */
/* Exit Modal Overlay */
.shopui-exit-modal__overlay {
	background-color: #f3dbff;
}
 
/* Exit Modal Main Window */
body .shopui-exit-modal__window {
	background-color: #f3dbff;
	border-radius: 2px; 
	box-shadow: none; 
	
}

/* Exit Modal Title */
/* Exit Modal Message */

		body .shopui-exit-modal__title {
			font-family: "Libre Baskerville", serif;
			font-weight: 700;
		}

		body .shopui-exit-modal__message {
			font-family: "Open sans", sans-serif;
			font-weight: 400;
		}
	

	/* Exit Modal Email Field */
	.shopui-exit-modal__window .shopui-text-field {
		border: 2px solid #ddd;
		font-size: 18px;
		border-radius: 2px;
	}

	/* Exit Modal Button */
	.shopui-exit-modal__window .shopui-button--primary,
	.shopui-exit-modal__window a.shopui-button--primary {
		border-color: #d107f0;
		background-color: #d107f0;
	}

		.shopui-exit-modal__window .shopui-button--primary:hover,
		.shopui-exit-modal__window a.shopui-button--primary:hover {
			border-color: #d107f0;
    		background-color: #d107f0;
    		opacity: 0.75;
		}   
   
/* ==========================================================================
   #SOFTCART
   ========================================================================== */
/**
 * To override the default Softcart styles we need to increase the specificity
 * of our selectors. We do this here by nesting them inside the `ekm-softcart`
 * parent element.
 */
.ekm-softcart {
  /**
	 * This button is shown if there is an error when adding a product to the
	 * soft cart.
	 */
}

.ekm-softcart,
.ekm-softcart div.ekm-softcart-header h1,
.ekm-softcart span.ekm-softcart-item-name a,
.ekm-softcart span.ekm-softcart-item-cost,
.ekm-softcart p.ekm-softcart-subtotal,
.ekm-softcart p.ekm-softcart-delivery,
.ekm-softcart p.ekm-softcart-vat,
.ekm-softcart p.ekm-softcart-total,
.ekm-softcart div.ekm-softcart-links a.ekm-softcart-continue,
.ekm-softcart span.ekm-softcart-item-qty-value,
.ekm-softcart span.ekm-softcart-item-options,
.ekm-softcart p.ekm-softcart-error {
  color: #333;
}

.ekm-softcart span.ekm-softcart-item-name a {
  color: #333;
  text-decoration: none;
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  /**
	 * Text link styles for CMS content
	 */
}

.ekm-softcart span.ekm-softcart-item-name a:hover {
  opacity: 0.75;
  text-decoration: none;
}

.s-cms .ekm-softcart span.ekm-softcart-item-name a,
.c-page-content--webpage .ekm-softcart span.ekm-softcart-item-name a {
  text-decoration: underline;
}

.ekm-softcart div.ekm-softcart-links a.ekm-softcart-gotocheckout {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #ffaa54;
  border-color: #ffaa54;
  font-size: 1.125rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.ekm-softcart div.ekm-softcart-links a.ekm-softcart-gotocheckout:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

.ekm-softcart div.ekm-softcart-links a.ekm-softcart-gotocheckout, .ekm-softcart div.ekm-softcart-links a.ekm-softcart-gotocheckout:focus {
  color: #fff;
}

.ekm-softcart a.ekm-softcart-item-remove,
.ekm-softcart .ekm-softcart-close:hover:before {
  color: #e74c3c;
}

.ekm-softcart a.ekm-softcart-more {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid transparent;
  border-radius: 3px;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  padding: 9px 18px;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap;
  background-color: #ffaa54;
  border-color: #ffaa54;
  font-size: 1.125rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.ekm-softcart a.ekm-softcart-more:hover {
  -webkit-box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
          box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.15);
  color: #fff;
  text-decoration: none;
}

.ekm-softcart a.ekm-softcart-more, .ekm-softcart a.ekm-softcart-more:focus {
  color: #fff;
}

/* =========================================================================
   $UTILITIES
   ========================================================================= */
/* =========================================================================
   #CLEARFIX
   ========================================================================= */
.u-clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* =========================================================================
   #SPACING
   ========================================================================= */
/**
 * Utility classes to put specific spacing values onto elements.
 */
.u-padding {
  padding: 1.5rem !important;
}

.u-padding-tiny {
  padding: 0.375rem !important;
}

.u-padding-small {
  padding: 0.75rem !important;
}

.u-padding-large {
  padding: 3rem !important;
}

.u-padding-huge {
  padding: 6rem !important;
}

.u-padding-none {
  padding: 0 !important;
}

.u-padding-top {
  padding-top: 1.5rem !important;
}

.u-padding-top-tiny {
  padding-top: 0.375rem !important;
}

.u-padding-top-small {
  padding-top: 0.75rem !important;
}

.u-padding-top-large {
  padding-top: 3rem !important;
}

.u-padding-top-huge {
  padding-top: 6rem !important;
}

.u-padding-top-none {
  padding-top: 0 !important;
}

.u-padding-right {
  padding-right: 1.5rem !important;
}

.u-padding-right-tiny {
  padding-right: 0.375rem !important;
}

.u-padding-right-small {
  padding-right: 0.75rem !important;
}

.u-padding-right-large {
  padding-right: 3rem !important;
}

.u-padding-right-huge {
  padding-right: 6rem !important;
}

.u-padding-right-none {
  padding-right: 0 !important;
}

.u-padding-bottom {
  padding-bottom: 1.5rem !important;
}

.u-padding-bottom-tiny {
  padding-bottom: 0.375rem !important;
}

.u-padding-bottom-small {
  padding-bottom: 0.75rem !important;
}

.u-padding-bottom-large {
  padding-bottom: 3rem !important;
}

.u-padding-bottom-huge {
  padding-bottom: 6rem !important;
}

.u-padding-bottom-none {
  padding-bottom: 0 !important;
}

.u-padding-left {
  padding-left: 1.5rem !important;
}

.u-padding-left-tiny {
  padding-left: 0.375rem !important;
}

.u-padding-left-small {
  padding-left: 0.75rem !important;
}

.u-padding-left-large {
  padding-left: 3rem !important;
}

.u-padding-left-huge {
  padding-left: 6rem !important;
}

.u-padding-left-none {
  padding-left: 0 !important;
}

.u-margin {
  margin: 1.5rem !important;
}

.u-margin-tiny {
  margin: 0.375rem !important;
}

.u-margin-small {
  margin: 0.75rem !important;
}

.u-margin-large {
  margin: 3rem !important;
}

.u-margin-huge {
  margin: 6rem !important;
}

.u-margin-none {
  margin: 0 !important;
}

.u-margin-top {
  margin-top: 1.5rem !important;
}

.u-margin-top-tiny {
  margin-top: 0.375rem !important;
}

.u-margin-top-small {
  margin-top: 0.75rem !important;
}

.u-margin-top-large {
  margin-top: 3rem !important;
}

.u-margin-top-huge {
  margin-top: 6rem !important;
}

.u-margin-top-none {
  margin-top: 0 !important;
}

.u-margin-right {
  margin-right: 1.5rem !important;
}

.u-margin-right-tiny {
  margin-right: 0.375rem !important;
}

.u-margin-right-small {
  margin-right: 0.75rem !important;
}

.u-margin-right-large {
  margin-right: 3rem !important;
}

.u-margin-right-huge {
  margin-right: 6rem !important;
}

.u-margin-right-none {
  margin-right: 0 !important;
}

.u-margin-bottom {
  margin-bottom: 1.5rem !important;
}

.u-margin-bottom-tiny {
  margin-bottom: 0.375rem !important;
}

.u-margin-bottom-small {
  margin-bottom: 0.75rem !important;
}

.u-margin-bottom-large {
  margin-bottom: 3rem !important;
}

.u-margin-bottom-huge {
  margin-bottom: 6rem !important;
}

.u-margin-bottom-none {
  margin-bottom: 0 !important;
}

.u-margin-left {
  margin-left: 1.5rem !important;
}

.u-margin-left-tiny {
  margin-left: 0.375rem !important;
}

.u-margin-left-small {
  margin-left: 0.75rem !important;
}

.u-margin-left-large {
  margin-left: 3rem !important;
}

.u-margin-left-huge {
  margin-left: 6rem !important;
}

.u-margin-left-none {
  margin-left: 0 !important;
}

/* =========================================================================
   #TEXT-ALIGN
   ========================================================================= */
.u-text-center {
  text-align: center !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-right {
  text-align: right !important;
}

/* Responsive.
============================================================================ */
/**
 * Because it's fairly common to centre-align content on smaller devices and
 * then left-align it on larger devices, 'medium' breakpoint classes have
 * been provided by default.
 */
@media screen and (min-width: 46.875em) {
  .u-text-center\@medium {
    text-align: center !important;
  }
}

@media screen and (min-width: 46.875em) {
  .u-text-left\@medium {
    text-align: left !important;
  }
}

@media screen and (min-width: 46.875em) {
  .u-text-right\@medium {
    text-align: right !important;
  }
}

/* =========================================================================
   #VISUAL
   ========================================================================= */
/**
 * Visually hide elements while still making them readable by screen readers.
 */
.u-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
}

.u-visually-shown {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: auto;
  position: inherit !important;
  width: auto;
}

/**
 * Hide elements so they won't take up space; maybe with the intention of 
 * un-hiding it with JS.
 */
.u-hidden {
  display: none !important;
}

/* Responsive visual modifiers.
   ========================================================================= */
/**
 * Responsive hide utility classes. There are no 'show' classes because these
 * could override the initial 'display' property.
 */
@media screen and (min-width: 25em) {
  .u-hidden\@tiny-up {
    display: none !important;
  }
}

@media screen and (min-width: 36.25em) {
  .u-hidden\@small-up {
    display: none !important;
  }
}

@media screen and (min-width: 46.875em) {
  .u-hidden\@medium-up {
    display: none !important;
  }
}

@media screen and (min-width: 61.875em) {
  .u-hidden\@large-up {
    display: none !important;
  }
}

@media screen and (min-width: 87.5em) {
  .u-hidden\@huge-up {
    display: none !important;
  }
}

@media screen and (max-width: 24.9375em) {
  .u-hidden\@tiny-down {
    display: none !important;
  }
}

@media screen and (max-width: 36.1875em) {
  .u-hidden\@small-down {
    display: none !important;
  }
}

@media screen and (max-width: 46.8125em) {
  .u-hidden\@medium-down {
    display: none !important;
  }
}

@media screen and (max-width: 61.8125em) {
  .u-hidden\@large-down {
    display: none !important;
  }
}

@media screen and (max-width: 87.4375em) {
  .u-hidden\@huge-down {
    display: none !important;
  }
}

/* =========================================================================
   #WIDTHS
   ========================================================================= */
.u-1\/1 {
  width: 100% !important;
}

.u-1\/2 {
  width: 50% !important;
}

.u-2\/2 {
  width: 100% !important;
}

.u-1\/3 {
  width: 33.33333333% !important;
}

.u-2\/3 {
  width: 66.66666667% !important;
}

.u-3\/3 {
  width: 100% !important;
}

.u-1\/4 {
  width: 25% !important;
}

.u-2\/4 {
  width: 50% !important;
}

.u-3\/4 {
  width: 75% !important;
}

.u-4\/4 {
  width: 100% !important;
}

.u-1\/5 {
  width: 20% !important;
}

.u-2\/5 {
  width: 40% !important;
}

.u-3\/5 {
  width: 60% !important;
}

.u-4\/5 {
  width: 80% !important;
}

.u-5\/5 {
  width: 100% !important;
}

/* Responsive width modifiers.
============================================================================ */
.u-1\/1\@tiny {
  width: 100% !important;
}

.u-1\/2\@tiny {
  width: 50% !important;
}

.u-2\/2\@tiny {
  width: 100% !important;
}

.u-1\/3\@tiny {
  width: 33.33333333% !important;
}

.u-2\/3\@tiny {
  width: 66.66666667% !important;
}

.u-3\/3\@tiny {
  width: 100% !important;
}

.u-1\/4\@tiny {
  width: 25% !important;
}

.u-2\/4\@tiny {
  width: 50% !important;
}

.u-3\/4\@tiny {
  width: 75% !important;
}

.u-4\/4\@tiny {
  width: 100% !important;
}

.u-1\/5\@tiny {
  width: 20% !important;
}

.u-2\/5\@tiny {
  width: 40% !important;
}

.u-3\/5\@tiny {
  width: 60% !important;
}

.u-4\/5\@tiny {
  width: 80% !important;
}

.u-5\/5\@tiny {
  width: 100% !important;
}

.u-1\/1\@small {
  width: 100% !important;
}

.u-1\/2\@small {
  width: 50% !important;
}

.u-2\/2\@small {
  width: 100% !important;
}

.u-1\/3\@small {
  width: 33.33333333% !important;
}

.u-2\/3\@small {
  width: 66.66666667% !important;
}

.u-3\/3\@small {
  width: 100% !important;
}

.u-1\/4\@small {
  width: 25% !important;
}

.u-2\/4\@small {
  width: 50% !important;
}

.u-3\/4\@small {
  width: 75% !important;
}

.u-4\/4\@small {
  width: 100% !important;
}

.u-1\/5\@small {
  width: 20% !important;
}

.u-2\/5\@small {
  width: 40% !important;
}

.u-3\/5\@small {
  width: 60% !important;
}

.u-4\/5\@small {
  width: 80% !important;
}

.u-5\/5\@small {
  width: 100% !important;
}

.u-1\/1\@medium {
  width: 100% !important;
}

.u-1\/2\@medium {
  width: 50% !important;
}

.u-2\/2\@medium {
  width: 100% !important;
}

.u-1\/3\@medium {
  width: 33.33333333% !important;
}

.u-2\/3\@medium {
  width: 66.66666667% !important;
}

.u-3\/3\@medium {
  width: 100% !important;
}

.u-1\/4\@medium {
  width: 25% !important;
}

.u-2\/4\@medium {
  width: 50% !important;
}

.u-3\/4\@medium {
  width: 75% !important;
}

.u-4\/4\@medium {
  width: 100% !important;
}

.u-1\/5\@medium {
  width: 20% !important;
}

.u-2\/5\@medium {
  width: 40% !important;
}

.u-3\/5\@medium {
  width: 60% !important;
}

.u-4\/5\@medium {
  width: 80% !important;
}

.u-5\/5\@medium {
  width: 100% !important;
}

.u-1\/1\@large {
  width: 100% !important;
}

.u-1\/2\@large {
  width: 50% !important;
}

.u-2\/2\@large {
  width: 100% !important;
}

.u-1\/3\@large {
  width: 33.33333333% !important;
}

.u-2\/3\@large {
  width: 66.66666667% !important;
}

.u-3\/3\@large {
  width: 100% !important;
}

.u-1\/4\@large {
  width: 25% !important;
}

.u-2\/4\@large {
  width: 50% !important;
}

.u-3\/4\@large {
  width: 75% !important;
}

.u-4\/4\@large {
  width: 100% !important;
}

.u-1\/5\@large {
  width: 20% !important;
}

.u-2\/5\@large {
  width: 40% !important;
}

.u-3\/5\@large {
  width: 60% !important;
}

.u-4\/5\@large {
  width: 80% !important;
}

.u-5\/5\@large {
  width: 100% !important;
}

.u-1\/1\@huge {
  width: 100% !important;
}

.u-1\/2\@huge {
  width: 50% !important;
}

.u-2\/2\@huge {
  width: 100% !important;
}

.u-1\/3\@huge {
  width: 33.33333333% !important;
}

.u-2\/3\@huge {
  width: 66.66666667% !important;
}

.u-3\/3\@huge {
  width: 100% !important;
}

.u-1\/4\@huge {
  width: 25% !important;
}

.u-2\/4\@huge {
  width: 50% !important;
}

.u-3\/4\@huge {
  width: 75% !important;
}

.u-4\/4\@huge {
  width: 100% !important;
}

.u-1\/5\@huge {
  width: 20% !important;
}

.u-2\/5\@huge {
  width: 40% !important;
}

.u-3\/5\@huge {
  width: 60% !important;
}

.u-4\/5\@huge {
  width: 80% !important;
}

.u-5\/5\@huge {
  width: 100% !important;
}

/* =========================================================================
   $VENDOR
   ========================================================================= */
/* =========================================================================
   #TINY-SLIDER
   ========================================================================= */
.tns-outer {
  padding: 0 !important;
}

.tns-outer [hidden] {
  display: none !important;
}

.tns-outer [aria-controls],
.tns-outer [data-action] {
  cursor: pointer;
}

.tns-outer.ms-touch {
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  -ms-scroll-chaining: none;
  -ms-scroll-snap-type: mandatory;
  -ms-scroll-snap-points-x: snapInterval(0%, 100%);
}

.tns-slider {
  -webkit-transition: all 0s;
  transition: all 0s;
}

.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}

.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}

.tns-horizontal.tns-no-subpixel:after {
  content: '';
  display: table;
  clear: both;
}

.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}

.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -webkit-transition: opacity 0s, -webkit-transform 0s;
  transition: opacity 0s, -webkit-transform 0s;
  transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s, -webkit-transform 0s;
}

.tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}

.tns-lazy-img.loaded {
  opacity: 1;
}

.tns-ah {
  -webkit-transition: height 0s;
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-hdx {
  overflow-x: hidden;
}

.tns-hdy {
  overflow-y: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal,
.tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}
