/*

    //  //// --|    main.scss

*/
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* 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-.
     */
figcaption,
figure {
  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 {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

/**
     * 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 */ }

/* Links
       ========================================================================== */
/**
     * 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 */ }

/* Text-level semantics
       ========================================================================== */
/**
     * 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.
     */
button {
  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 */ }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
  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 */ }

/**
     * 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 {
  box-sizing: border-box;
  /* 1 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  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; }

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
  display: block; }

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item; }

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

/* 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; }

/*

    //  //// --|    Init / Settings

*/
/*

    //  //// --|    Init / Functions

*/
/*

    //  //// --|    Init / Mixins

*/
/*

    //  //// --|    Foundation / Typography

*/
p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  border: 0; }

body, input, textarea, button, select {
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  font-size: clamp(1rem, 3vw, 1.125rem );
  color: var(--c-text-base); }

.fonts-loaded body, .fonts-loaded input, .fonts-loaded textarea, .fonts-loaded button, .fonts-loaded select {
  font-family: aileron, sans-serif; }

.fonts-loaded h1, .fonts-loaded h2, .fonts-loaded h3, .fonts-loaded h4, .fonts-loaded h5, .fonts-loaded h6 {
  font-family: aileron, sans-serif; }

p {
  max-width: 42.75rem;
  margin-bottom: 1.96875rem;
  line-height: 1.75;
  text-align: inherit;
  color: inherit; }
  p:last-child {
    margin-bottom: 0; }
  p:empty {
    display: none; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  text-align: left;
  line-height: 1.4;
  color: inherit; }

h1 {
  font-size: 2.375rem;
  font-size: clamp(2.375rem, calc( 5vw + 10px), 4rem ); }
  @supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
      h1 {
        font-size: 4rem; } } }

h2 {
  font-size: 2rem;
  font-size: clamp(2rem, calc( 4vw + 10px), 3.125rem ); }
  @supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
      h2 {
        font-size: 3.125rem; } } }

h3 {
  font-size: 1.5rem;
  font-size: clamp(1.5rem, calc( 3vw + 10px), 2rem ); }
  @supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
      h3 {
        font-size: 2rem; } } }

h4 {
  font-size: 1.375rem;
  font-size: clamp(1.375rem, calc( 2vw + 5px), 1.875rem ); }
  @supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
      h4 {
        font-size: 1.875rem; } } }

h5 {
  font-size: 1.125rem;
  font-size: clamp(1.125rem, calc( 2vw + 5px), 1.5rem ); }
  @supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
      h5 {
        font-size: 1.5rem; } } }

h6 {
  font-size: 1rem;
  font-size: clamp(1rem, calc( 2vw + 5px), 1.125rem ); }
  @supports not (font-size: clamp(1px, 1vw, 2px)) {
    @media screen and (min-width: 64em) {
      h6 {
        font-size: 1.125rem; } } }

a {
  color: inherit;
  text-decoration: none; }

a + p {
  margin-top: 1.96875rem; }

p a {
  text-decoration: underline;
  color: var(--c-link);
  transition: 50ms; }
  p a:hover {
    color: var(--c-link-hover); }

/*

    //  //// --|    Foundation / Buttons

*/
.content-button-wrapper {
  margin: 0 -5px calc( 1.96875rem - 10px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
  .content-button-wrapper:last-child {
    margin-bottom: -10px; }
  .content-button-wrapper a[class^="button-"] {
    margin: 0 5px 10px; }
  .content-button-wrapper[data-style*="center"] {
    justify-content: center; }

.button,
.button-fill, .button-outline, .button-text {
  --padding: 7px;
  --padding-ratio: 3;
  --focus-inner: var(--c-white);
  --focus-outer: var(--c-black);
  padding: var(--padding) calc( var(--padding) * var(--padding-ratio));
  display: inline-block;
  cursor: pointer;
  border: none;
  border-radius: var(--border-radius);
  outline: none;
  font-weight: 400;
  font-size: 1rem;
  text-align: center;
  text-transform: uppercase;
  line-height: var(--t-base-line-height);
  transition: background-color 150ms ease; }
  .button:focus-visible,
  .button-fill:focus-visible, .button-outline:focus-visible, .button-text:focus-visible {
    outline: none;
    transition: box-shadow 100ms ease-out;
    box-shadow: 0 0 0 2px var(--focus-inner), 0 0 0 4px var(--focus-outer); }
  .button:active,
  .button-fill:active, .button-outline:active, .button-text:active {
    transition: transform 150ms;
    transform: scale(0.94) !important; }
  .button[disabled],
  .button-fill[disabled], .button-outline[disabled], .button-text[disabled] {
    opacity: .5; }

.button,
.button-fill {
  background-color: var(--c-secondary);
  color: var(--c-white); }
  .button:hover, .button:active,
  .button-fill:hover,
  .button-fill:active {
    background-color: rgba(1, 160, 198, 0.8); }
  .button.color-primary,
  .button-fill.color-primary {
    background-color: var(--c-primary); }
    .button.color-primary:hover, .button.color-primary:active,
    .button-fill.color-primary:hover,
    .button-fill.color-primary:active {
      background-color: rgba(255, 243, 53, 0.8); }
  .button.color-black,
  .button-fill.color-black {
    background-color: var(--c-black); }
    .button.color-black:hover, .button.color-black:active,
    .button-fill.color-black:hover,
    .button-fill.color-black:active {
      background-color: rgba(0, 0, 0, 0.8); }

.button-outline {
  padding: calc( var(--padding) - 1px) calc( ( var(--padding) * var(--padding-ratio) ) - 1px);
  border: 1px solid var(--c-secondary);
  background-color: transparent;
  color: var(--c-primary); }
  .button-outline:hover, .button-outline:active {
    background-color: rgba(1, 160, 198, 0.1); }

.button-text {
  background-color: transparent;
  color: var(--c-secondary); }
  .button-text:hover, .button-text:active {
    background-color: rgba(1, 160, 198, 0.1); }

section.flexi-block.bg-black .content .button-fill:focus-visible, .hero--standard .hero-content .button-fill:focus-visible, .hero--homepage .hero-content .button-fill:focus-visible,
section.flexi-block.bg-black .content .button-outline:focus-visible,
.hero--standard .hero-content .button-outline:focus-visible,
.hero--homepage .hero-content .button-outline:focus-visible,
section.flexi-block.bg-black .content .button-text:focus-visible,
.hero--standard .hero-content .button-text:focus-visible,
.hero--homepage .hero-content .button-text:focus-visible {
  --focus-inner: var(--c-black);
  --focus-outer: var(--c-white); }

/*

    //  //// --|    Foundation / Lists

*/
ul, ol {
  margin: 0;
  padding-left: 4px;
  line-height: var(--t-base-line-height); }
  ul li, ol li {
    margin-bottom: 0.49219rem; }
    ul li:last-child, ol li:last-child {
      margin-bottom: 0; }

ul {
  list-style: circle outside;
  padding-left: 20px; }

ol {
  list-style: decimal inside; }

ul ul, ul ol, ol ol, ol ul {
  margin-bottom: 0;
  padding-left: 30px; }

/*

    //  //// --|    Inputs & Labels

*/
label {
  display: block;
  font-size: .875rem;
  font-weight: 700;
  line-height: var(--t-base-line-height);
  color: var(--c-d-grey);
  transition: 200ms; }

.form-input,
.form-textarea {
  width: 100%;
  max-width: 500px;
  padding: 8px 34px 8px 16px;
  display: block;
  line-height: 1;
  background-color: var(--c-l-grey);
  border: none;
  border-radius: var(--border-radius);
  -webkit-appearance: none;
  transition: 200ms;
  outline: none;
  outline-width: 0; }

.field-type--input label, .field-type--textarea label {
  padding-left: 10px;
  text-transform: uppercase;
  letter-spacing: .009rem; }

.shiftr-form .field {
  position: relative; }
  .shiftr-form .field::after {
    content: "";
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    border-radius: 5px;
    background-color: transparent;
    transition: 200ms cubic-bezier(0.2, 0.7, 0.5, 1.3); }
  .shiftr-form .field.field-event--success::after {
    background-color: var(--c-green); }
  .shiftr-form .field.field-event--error::after {
    background-color: var(--c-red); }
  .shiftr-form .field.field-event--focus::after {
    background-color: var(--c-blue); }

.shiftr-form button[type="submit"][disabled] {
  pointer-events: none;
  opacity: .5;
  filter: grayscale(100%); }

.form-textarea {
  line-height: var(--t-base-line-height);
  resize: none; }

select {
  width: 100%;
  height: 42px;
  padding: 7px 34px 7px 16px;
  display: block;
  line-height: var(--t-base-line-height);
  background-color: var(--c-l-grey);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: var(--border-radius);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M15.88 9.29L12 13.17 8.12 9.29c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.02 0 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59c.39-.39.39-1.02 0-1.41-.39-.38-1.03-.39-1.42 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center; }

.field-type--checkbox input {
  width: 1px;
  height: 1px;
  position: absolute;
  opacity: 0; }
  .field-type--checkbox input:checked + label span.custom-checkbox::after {
    transform: scale(1); }
  .field-type--checkbox input:focus-visible + label {
    border-radius: var(--border-radius);
    box-shadow: 0 0 0 2px var(--c-white), 0 0 0 4px var(--c-black); }

.field-type--checkbox span.custom-checkbox {
  width: 14px;
  height: 14px;
  display: block;
  position: absolute;
  top: calc( 50% - 1px);
  left: 0;
  transform: translateY(-50%);
  z-index: 10;
  border-radius: var(--border-radius);
  border: 1px solid var(--c-primary); }
  .field-type--checkbox span.custom-checkbox::after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    top: 1px;
    left: 1px;
    border-radius: calc( var(--border-radius) - 1px);
    background-color: var(--c-primary);
    transform: scale(0);
    transition: 200ms cubic-bezier(0.2, 0.7, 0.5, 1.3); }

.field-type--checkbox label {
  padding-bottom: 0;
  padding-left: 25px;
  position: relative;
  display: inline-block;
  z-index: 20;
  cursor: pointer;
  vertical-align: middle; }

@media screen and (min-width: 48em) {
  .field-type--checkbox {
    margin-bottom: 0; } }

.field-type--radio .sub-field--radio {
  position: relative; }
  .field-type--radio .sub-field--radio input {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    opacity: 0; }
    .field-type--radio .sub-field--radio input:checked + label span.custom-radio::after {
      transform: scale(1); }
  .field-type--radio .sub-field--radio span.custom-radio {
    width: 14px;
    height: 14px;
    display: block;
    position: absolute;
    top: calc( 50% - 1px);
    left: 0;
    transform: translateY(-50%);
    z-index: 10;
    border-radius: var(--border-radius);
    border: 1px solid var(--c-primary); }
    .field-type--radio .sub-field--radio span.custom-radio::after {
      content: "";
      display: block;
      position: absolute;
      width: 10px;
      height: 10px;
      top: 1px;
      left: 1px;
      border-radius: calc( var(--border-radius) - 1px);
      background-color: var(--c-primary);
      transform: scale(0);
      transition: 200ms cubic-bezier(0.2, 0.7, 0.5, 1.3); }
  .field-type--radio .sub-field--radio label {
    padding-bottom: 0;
    padding-left: 25px;
    position: relative;
    display: inline-block;
    z-index: 20;
    cursor: pointer;
    vertical-align: middle; }

@media screen and (min-width: 48em) {
  .field-type--radio {
    margin-bottom: 0; } }

/*

    //  //// --|    Foundation / Specials

*/
/*

    //  //// --|    Foundation / Table

*/
table {
  width: 100%;
  border-collapse: collapse;
  line-height: var(--t-base-line-height); }
  table thead,
  table tfoot {
    background-color: var(--c-l-grey); }
  table th, table td {
    padding: 4px 8px 2px;
    border: 1px solid var(--c-black); }

/*

    //  //// --|    Blueprint / Core

*/
* {
  box-sizing: border-box; }

img, video {
  max-width: 100%;
  height: auto;
  display: block; }

:root {
  --container-width: 1240px;
  --site-padding: 20px;
  --site-margin: var(--site-padding);
  --site-gutter: 15px;
  --border-radius: 4px;
  --c-primary: #FFF335;
  --c-secondary: #01A0C6;
  --c-white: #FFFFFF;
  --c-l-grey: #F4F4F7;
  --c-black: #000000;
  --c-d-grey: #313131;
  --c-green: #04BF2F;
  --c-blue: #42C2FF;
  --c-red: #E30617;
  --c-text-base: var(--c-d-grey);
  --c-link: #0054b4;
  --c-link-hover: #003879;
  --t-font-family: aileron, sans-serif;
  --t-h-font-family: aileron, sans-serif;
  --t-base-font-size: 1;
  --t-max-font-size: 1.125;
  --t-baseline: 1.96875;
  --t-base-line-height: 1.75;
  --header-height: 68px;
  --full-header-height: 90px; }
  @media screen and (min-width: 48em) {
    :root {
      --header-height: 120px;
      --full-header-height: 176px; } }
  @media screen and (min-width: 48em) {
    :root {
      --site-gutter: 30px; } }

*::-moz-selection {
  color: var(--c-white);
  background-color: var(--c-secondary);
  text-shadow: none; }

*::selection {
  color: var(--c-white);
  background-color: var(--c-secondary);
  text-shadow: none; }

html {
  scroll-behavior: smooth; }

body {
  --section-scroll-margin-top: 0;
  width: 100%;
  max-width: 100%;
  position: relative;
  overflow-x: hidden;
  background-color: var(--c-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  body.no-scroll {
    overflow-y: hidden; }
  body.header-state-active {
    --section-scroll-margin-top: var(--header-height); }

.site-padding {
  padding-left: var(--site-padding);
  padding-right: var(--site-padding); }

.container, .block--services .block-heading, section.archive-options {
  width: 100%;
  max-width: var(--container-width);
  margin: 0 auto;
  position: relative; }

.contain-line-width {
  max-width: 42.75rem; }

.content,
.block-heading,
.block-after {
  max-width: 42.75rem;
  margin: auto; }
  .content > *:first-child,
  .block-heading > *:first-child,
  .block-after > *:first-child {
    margin-top: 0; }
  .content > *:last-child:not(.content-button-wrapper),
  .block-heading > *:last-child:not(.content-button-wrapper),
  .block-after > *:last-child:not(.content-button-wrapper) {
    margin-bottom: 0; }
  .content h1,
  .block-heading h1,
  .block-after h1 {
    margin-bottom: 1.96875rem; }
  .content h2,
  .block-heading h2,
  .block-after h2 {
    margin-top: 3.9375rem;
    margin-bottom: 0.98438rem; }
  .content h3,
  .block-heading h3,
  .block-after h3 {
    margin-bottom: 0.49219rem; }
  .content ul, .content ol,
  .block-heading ul,
  .block-heading ol,
  .block-after ul,
  .block-after ol {
    margin-bottom: 1.96875rem; }
  .content img.alignnone,
  .block-heading img.alignnone,
  .block-after img.alignnone {
    margin: 0 auto 1.96875rem; }

.block-heading *,
.block-after * {
  margin-left: auto;
  margin-right: auto; }

.block-heading {
  margin-bottom: 1.96875rem; }

.block-after {
  margin-top: 1.96875rem; }

section {
  --s-vertical-padding: 100px;
  --s-vertical-padding-negative: calc( var(--s-vertical-padding) * -1 ); }
  section.site-section, section.archive-options {
    padding-left: var(--site-padding);
    padding-right: var(--site-padding);
    scroll-margin-top: var(--section-scroll-margin-top); }
  section.flexi-block {
    padding-left: var(--site-padding);
    padding-right: var(--site-padding);
    scroll-margin-top: var(--section-scroll-margin-top);
    margin-bottom: var(--s-vertical-padding); }
    section.flexi-block:first-of-type:not(.has-bg) {
      margin-top: var(--s-vertical-padding); }
    section.flexi-block:last-of-type.bg-black, section.flexi-block:last-of-type.bg-grey {
      margin-bottom: 0; }
  section.has-bg {
    padding-top: var(--s-vertical-padding);
    padding-bottom: var(--s-vertical-padding); }
    section.has-bg + .has-bg {
      margin-top: var(--s-vertical-padding-negative); }
  section.bg-black {
    background-color: var(--c-black);
    color: var(--c-white); }
    section.bg-black + .bg-black {
      padding-top: 0; }
  section.bg-grey {
    background-color: var(--c-l-grey); }
    section.bg-grey + .bg-grey {
      padding-top: 0; }
  section.bg-primary {
    background-color: var(--c-primary); }
    section.bg-primary + .bg-primary {
      padding-top: 0; }
  section.bg-secondary {
    background-color: var(--c-secondary); }
    section.bg-secondary + .bg-secondary {
      padding-top: 0; }
  section.block--content + .block--content-image.bg-grey {
    margin-top: calc(var(--s-vertical-padding-negative)*2); }
  section.block--content .content {
    max-width: 100%; }
  section.block--content p {
    max-width: 100%;
    font-size: 16px;
    color: #707070; }
  section.block--content h2 {
    font-size: clamp(2rem, calc( 4vw + 10px), 32px); }
  section.block--content-image.bg-grey .block--content {
    margin-bottom: 0; }
  section:last-child.block--newsletter {
    margin-bottom: 0; }
  section.bg-grey + section.block--content-image-stack.bg-grey {
    padding: calc(var(--s-vertical-padding) * 2) var(--site-padding);
    margin-top: calc(var(--s-vertical-padding) * 2); }

div#overlay {
  width: 100vw;
  height: 100vh;
  height: -webkit-fill-available;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 190;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-backdrop-filter: blur(2px) saturate(110%);
          backdrop-filter: blur(2px) saturate(110%);
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }

body.overlay-active div#overlay {
  display: block;
  -webkit-animation-name: overlay;
          animation-name: overlay; }

@-webkit-keyframes overlay {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes overlay {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

main.site-main {
  padding-top: var(--full-header-height); }

.cart-button {
  display: grid;
  grid-template-areas: "cartsvg cartcount"  "amount amount";
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  place-items: center;
  margin-left: 1rem; }
  .cart-button svg {
    grid-area: cartsvg; }
  .cart-button .amount {
    grid-area: amount;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    font-size: 16px; }
    .cart-button .amount::before {
      content: 'Total: '; }
  .cart-button .cart-contents-count {
    grid-area: cartcount;
    border-radius: 50%;
    color: var(--c-primary);
    height: 95%;
    aspect-ratio: 1/1;
    text-align: center;
    display: grid;
    place-items: center;
    background-color: var(--c-d-grey);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='178.5' height='178.5' viewBox='0 0 178.5 178.5'%3E%3Ccircle id='Ellipse_3' data-name='Ellipse 3' cx='89.25' cy='89.25' r='89.25' fill='%23fff335'/%3E%3C/svg%3E%0A");
    background-size: 0px;
    background-position: center;
    background-repeat: no-repeat; }
  .cart-button:hover .cart-contents-count {
    -webkit-animation: gradient ease-in 200ms forwards;
            animation: gradient ease-in 200ms forwards; }

/*

    //  //// --|    Blueprint / Header

*/
header.site-header {
  width: 100%;
  height: var(--full-header-height);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(4px) saturate(180%);
          backdrop-filter: blur(4px) saturate(180%);
  box-shadow: 0 0 10px rgba(49, 49, 49, 0.2), 0 0 30px rgba(49, 49, 49, 0.15);
  border-bottom: 4px solid var(--c-primary);
  transition: 400ms cubic-bezier(0.23, 0.96, 0.59, 1); }
  header.site-header div.container, header.site-header .block--services div.block-heading, .block--services header.site-header div.block-heading {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 18px solid var(--c-d-grey);
    box-sizing: content-box; }
    @media screen and (min-width: 48em) {
      header.site-header div.container, header.site-header .block--services div.block-heading, .block--services header.site-header div.block-heading {
        justify-content: space-between;
        padding: 0 var(--site-padding);
        border-bottom: 0; } }
  header.site-header > div.container, .block--services header.site-header > div.block-heading {
    min-height: var(--header-height); }
  header.site-header .custom-logo-link img {
    width: 70%;
    margin: auto; }
    @media screen and (min-width: 25em) {
      header.site-header .custom-logo-link img {
        width: 100%; } }
  header.site-header .site-logo {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    height: 40px;
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 50; }
    header.site-header .site-logo svg {
      min-height: 100%; }
    @media screen and (min-width: 48em) {
      header.site-header .site-logo {
        margin-right: 40px;
        position: relative;
        top: unset;
        left: unset; } }
  header.site-header nav.nav-primary {
    display: none; }
  header.site-header.pre-set-sticky {
    display: none;
    position: fixed;
    top: 0;
    transform: translateY(-100%); }
  header.site-header.set-sticky {
    display: block; }
    header.site-header.set-sticky.is-visible {
      transform: translateY(0); }
  @media screen and (min-width: 48em) {
    header.site-header {
      overflow: visible; }
      header.site-header nav.nav-primary {
        display: block; } }
  header.site-header div.header-bottom {
    background-color: var(--c-d-grey);
    padding: 8px var(--site-padding);
    color: var(--c-white);
    font-weight: bold;
    font-size: 16px;
    display: none; }
    @media screen and (min-width: 48em) {
      header.site-header div.header-bottom {
        display: flex; } }
    header.site-header div.header-bottom nav {
      width: 100%; }
      header.site-header div.header-bottom nav ul {
        justify-content: space-evenly; }
  header.site-header .search-form {
    width: 20%;
    display: none;
    margin-left: 1rem; }
    @media screen and (min-width: 48em) {
      header.site-header .search-form {
        display: flex; } }
    @media screen and (min-width: 64em) {
      header.site-header .search-form {
        width: 40%; } }
  header.site-header div.header-buttons {
    display: none; }
    @media screen and (min-width: 48em) {
      header.site-header div.header-buttons {
        display: flex;
        align-items: center; } }
    @media screen and (max-width: 78.75em) {
      header.site-header div.header-buttons {
        margin-right: var(--site-padding); } }
    header.site-header div.header-buttons .button {
      min-width: 175px;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content;
      max-height: 46px;
      margin: 0 20px;
      background: var(--c-d-grey);
      font-weight: normal;
      display: flex;
      align-items: center; }
      header.site-header div.header-buttons .button span {
        min-width: -webkit-max-content;
        min-width: -moz-max-content;
        min-width: max-content; }
      header.site-header div.header-buttons .button svg {
        margin-right: 10px;
        transition: 300ms;
        transform: rotate(0); }
      header.site-header div.header-buttons .button:nth-child(odd):hover svg {
        transform: rotate(90deg); }
      header.site-header div.header-buttons .button:nth-child(even):hover svg {
        transform: rotate(-45deg); }
      header.site-header div.header-buttons .button.list:hover svg {
        transform: scale(1.15); }

button#mobile-menu-trigger, button#mobile-search-trigger {
  width: 48px;
  height: 48px;
  padding: 16px 15px;
  display: block;
  position: absolute;
  top: calc( 50% - 24px);
  right: 10px;
  border: none;
  background: none; }
  @media screen and (min-width: 48em) {
    button#mobile-menu-trigger, button#mobile-search-trigger {
      display: none; } }
  @media screen and (min-width: 18.75em) {
    button#mobile-menu-trigger, button#mobile-search-trigger {
      right: 12vw; } }
  @media screen and (min-width: 31.25em) {
    button#mobile-menu-trigger, button#mobile-search-trigger {
      right: 100px; } }

button#mobile-search-trigger {
  top: calc( 50% - 30px);
  left: 10px; }
  @media screen and (min-width: 18.75em) {
    button#mobile-search-trigger {
      right: 2vw;
      left: unset; } }
  @media screen and (min-width: 31.25em) {
    button#mobile-search-trigger {
      right: 40px !important;
      left: unset; } }

#wpadminbar {
  display: none; }
  @media screen and (min-width: 48em) {
    #wpadminbar {
      display: block; } }

/*

    //  //// --|    Blueprint / Footer

*/
.site-footer {
  border-top: 6px solid var(--c-secondary); }
  .site-footer address {
    font-style: normal; }
    .site-footer address a {
      margin-bottom: 16px;
      padding: 4px 0;
      display: inline-block; }
      .site-footer address a:hover {
        text-decoration: underline; }
    .site-footer address a + p {
      margin-top: 0; }
  .site-footer .footer-heading {
    margin-bottom: 15px;
    display: inline-block;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 2rem; }
  .site-footer nav li {
    color: #313131;
    font-size: 16px;
    margin-bottom: 2rem; }
    .site-footer nav li:last-child {
      margin-bottom: 0; }
  .site-footer nav a {
    display: inline-block; }
    .site-footer nav a:hover {
      color: inherit;
      text-decoration: underline; }
  .site-footer svg {
    max-width: 180px;
    margin-bottom: 30px; }
  .site-footer .social-icons {
    width: 100%;
    display: flex;
    justify-content: space-between;
    max-width: 250px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(40px, 1fr));
    grid-column-gap: 2px;
    grid-auto-flow: row; }
    .site-footer .social-icons a {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
      @media screen and (min-width: 48em) {
        .site-footer .social-icons a {
          transform: scale(1); } }
    @media screen and (min-width: 37.5em) {
      .site-footer .social-icons {
        display: block; } }
  .site-footer .color-grey {
    border-radius: 0;
    background-color: #F4F4F7;
    color: var(--c-text-base);
    padding: 16px 40px; }
  .site-footer .follow {
    margin: 3rem 0 1rem 0; }
  .site-footer .brand-images {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-column-gap: 10px;
    grid-row-start: 5; }
    .site-footer .brand-images img:not(:last-child) {
      margin-bottom: 12px; }
    @media screen and (min-width: 25em) {
      .site-footer .brand-images {
        grid-column: span 2; } }
    @media screen and (min-width: 41.875em) {
      .site-footer .brand-images {
        grid-row-start: 2; } }
    @media screen and (min-width: 64em) {
      .site-footer .brand-images {
        grid-template-columns: 1fr;
        grid-column: auto;
        grid-row: auto; } }

.footer-row--main {
  padding: 40px var(--site-margin);
  --grid-column-count: 2; }
  .footer-row--main div.container, .footer-row--main .block--services div.block-heading, .block--services .footer-row--main div.block-heading {
    display: grid;
    grid-gap: 40px var(--site-gutter);
    grid-template-columns: 1fr;
    grid-auto-flow: row; }
    @media screen and (min-width: 25em) {
      .footer-row--main div.container, .footer-row--main .block--services div.block-heading, .block--services .footer-row--main div.block-heading {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } }
  @media screen and (min-width: 64em) {
    .footer-row--main {
      --grid-column-count: 5; } }

.footer-row--legal {
  padding: 20px var(--site-margin);
  background-color: var(--c-l-grey); }
  @media screen and (min-width: 48em) {
    .footer-row--legal div.container, .footer-row--legal .block--services div.block-heading, .block--services .footer-row--legal div.block-heading {
      display: flex;
      justify-content: space-between; } }
  .footer-row--legal small {
    color: #939393; }
    .footer-row--legal small a {
      color: var(--c-text-base);
      font-weight: bold;
      text-decoration: underline; }

.footer-col {
  margin-bottom: 30px; }
  .footer-col:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 40.625em) {
    .footer-col {
      margin-bottom: 0; } }

/*

    //  //// --|    Components / Navigation

*/
nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  nav ul a {
    cursor: pointer;
    line-height: 1.75;
    transition: 200ms; }
    nav ul a:hover {
      color: var(--c-primary); }
  nav ul span {
    display: inline-block; }

.nav-primary ul#nav-primary {
  display: flex; }
  .nav-primary ul#nav-primary li {
    font-size: 1rem; }
    .nav-primary ul#nav-primary li.level-0-item {
      margin: 0; }
      .nav-primary ul#nav-primary li.level-0-item > a {
        padding: 4px 0; }
    .nav-primary ul#nav-primary li.has-sub-menu {
      position: relative;
      background: no-repeat 100% 50% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath id='Polygon_1' data-name='Polygon 1' d='M3.61.488a.5.5,0,0,1,.781,0l2.96,3.7A.5.5,0,0,1,6.96,5H1.04a.5.5,0,0,1-.39-.812Z' transform='translate(8 5) rotate(180)' fill='%23FFF335'/%3E%3C/svg%3E%0A");
      padding-right: 16px; }
      .nav-primary ul#nav-primary li.has-sub-menu .sub-menu {
        min-width: 160px;
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;
        margin-top: 0;
        padding: 20px;
        position: absolute;
        top: 100%;
        left: -20px;
        display: none;
        color: var(--c-black);
        font-weight: normal;
        border-radius: var(--border-radius);
        background-color: var(--c-white);
        box-shadow: 0 3px 6px rgba(51, 51, 51, 0.2), 0 9px 18px rgba(102, 102, 102, 0.1);
        -webkit-animation-duration: 600ms;
                animation-duration: 600ms;
        -webkit-animation-timing-function: cubic-bezier(0.21, 0.89, 0.58, 1);
                animation-timing-function: cubic-bezier(0.21, 0.89, 0.58, 1);
        -webkit-animation-fill-mode: alternate;
                animation-fill-mode: alternate; }
        .nav-primary ul#nav-primary li.has-sub-menu .sub-menu li {
          margin-bottom: 8px; }
          .nav-primary ul#nav-primary li.has-sub-menu .sub-menu li:last-child {
            margin-bottom: 0; }
      .nav-primary ul#nav-primary li.has-sub-menu.is-visible .sub-menu {
        display: block;
        -webkit-animation-name: dropdown_menu;
                animation-name: dropdown_menu; }
    .nav-primary ul#nav-primary li a {
      display: inline-block; }

@-webkit-keyframes dropdown_menu {
  0% {
    opacity: 0;
    transform: translateY(-10px); }
  20% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translateY(0); } }

@keyframes dropdown_menu {
  0% {
    opacity: 0;
    transform: translateY(-10px); }
  20% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translateY(0); } }

/*

    //  //// --|    Components / Mobile menu

*/
.mobile-menu {
  width: calc( 100vw - 80px);
  max-width: 340px;
  height: 100vh;
  height: -webkit-fill-available;
  padding: 10vw 0 40px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  overflow-y: scroll;
  transform: translateX(-100%);
  color: var(--c-black);
  background-color: var(--c-white);
  transition: 400ms cubic-bezier(0.42, 0, 0.37, 0.99); }
  .mobile-menu button#mobile-menu-close {
    width: 36px;
    height: 36px;
    padding: 0;
    position: absolute;
    top: 12px;
    right: 12px;
    border-radius: 0;
    background: none;
    border: none; }
  @media screen and (min-height: 700px) {
    .mobile-menu {
      padding-top: 80px; } }

nav.nav-primary-mobile {
  width: 100%; }
  nav.nav-primary-mobile ul li {
    margin-bottom: 8px;
    padding-left: 20px; }
    nav.nav-primary-mobile ul li:last-child {
      margin-bottom: 0; }
    nav.nav-primary-mobile ul li a {
      padding: 4px 0;
      display: inline-block; }
    nav.nav-primary-mobile ul li.has-sub-menu {
      position: relative;
      display: flex;
      align-items: center;
      flex-wrap: wrap; }
      nav.nav-primary-mobile ul li.has-sub-menu button {
        width: 36px;
        height: 36px;
        border: none;
        background: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' enable-background='new 0 0 24 24' height='24' viewBox='0 0 24 24' width='24'%3E%3Cg%3E%3C/g%3E%3Cg%3E%3Cg%3E%3Cg%3E%3Cpath d='M7.71,9.29l3.88,3.88l3.88-3.88c0.39-0.39,1.02-0.39,1.41,0l0,0c0.39,0.39,0.39,1.02,0,1.41l-4.59,4.59 c-0.39,0.39-1.02,0.39-1.41,0L6.29,10.7c-0.39-0.39-0.39-1.02,0-1.41l0,0C6.68,8.91,7.32,8.9,7.71,9.29z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E") no-repeat center;
        background-size: 24px auto;
        outline: none;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        transition: 200ms cubic-bezier(0.42, 0, 0.18, 1.36); }
      nav.nav-primary-mobile ul li.has-sub-menu .sub-menu {
        width: 100%;
        margin: 8px 0 8px;
        padding: 0;
        display: none;
        position: relative;
        border-left: 1px solid var(--c-primary); }
      nav.nav-primary-mobile ul li.has-sub-menu.is-visible button {
        transform: rotate(180deg); }
      nav.nav-primary-mobile ul li.has-sub-menu.is-visible .sub-menu {
        display: block; }

div.header-wrapper.mobile-menu-active .mobile-menu {
  transform: translateX(0); }

/*

    //  //// --|    Components / Hero (All Variations)

*/
.hero--standard, .hero--homepage {
  width: 100%;
  margin: 0;
  position: relative;
  display: flex;
  color: var(--c-white); }
  .hero--standard h1, .hero--homepage h1, .hero--standard h2, .hero--homepage h2, .hero--standard h3, .hero--homepage h3, .hero--standard h4, .hero--homepage h4, .hero--standard h5, .hero--homepage h5, .hero--standard h6, .hero--homepage h6 {
    color: inherit; }
  .hero--standard .hero-feature-image, .hero--homepage .hero-feature-image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    overflow: hidden; }
    .hero--standard .hero-feature-image img, .hero--homepage .hero-feature-image img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 50%;
         object-position: 50% 50%;
      font-family: 'object-fit'; }
  .hero--standard .hero-container, .hero--homepage .hero-container {
    width: 100%;
    position: relative;
    display: flex;
    align-items: stretch;
    z-index: 20;
    background-color: rgba(0, 0, 0, 0.4); }
  .hero--standard .hero-content, .hero--homepage .hero-content {
    width: 100%;
    padding: 60px calc( var(--site-padding) / 2);
    display: flex;
    align-items: flex-end;
    position: relative;
    z-index: 20;
    background-color: rgba(0, 0, 0, 0.3);
    color: var(--c-white);
    text-align: center; }
    .hero--standard .hero-content h1, .hero--homepage .hero-content h1 {
      max-width: none;
      margin-bottom: 20px;
      font-weight: 400;
      color: inherit; }
    .hero--standard .hero-content p, .hero--homepage .hero-content p {
      margin-left: auto;
      margin-right: auto;
      font-size: calc( 1.125rem + 0.13vw);
      line-height: 2; }
    .hero--standard .hero-content div.container > *:last-child, .hero--homepage .hero-content div.container > *:last-child, .hero--standard .hero-content .block--services div.block-heading > *:last-child, .block--services .hero--standard .hero-content div.block-heading > *:last-child, .hero--homepage .hero-content .block--services div.block-heading > *:last-child, .block--services .hero--homepage .hero-content div.block-heading > *:last-child {
      margin-bottom: 0; }
      .hero--standard .hero-content div.container > *:last-child[class="content-button-wrapper"], .hero--homepage .hero-content div.container > *:last-child[class="content-button-wrapper"], .hero--standard .hero-content .block--services div.block-heading > *:last-child[class="content-button-wrapper"], .block--services .hero--standard .hero-content div.block-heading > *:last-child[class="content-button-wrapper"], .hero--homepage .hero-content .block--services div.block-heading > *:last-child[class="content-button-wrapper"], .block--services .hero--homepage .hero-content div.block-heading > *:last-child[class="content-button-wrapper"] {
        margin-bottom: -15px; }
    .hero--standard .hero-content .content-button-wrapper, .hero--homepage .hero-content .content-button-wrapper {
      margin: 0 -15px -15px;
      justify-content: center; }
      .hero--standard .hero-content .content-button-wrapper a[class^="button-"], .hero--homepage .hero-content .content-button-wrapper a[class^="button-"] {
        min-width: 70%;
        max-width: 400px;
        margin: 0 15px 15px; }
  @media screen and (min-width: 23.4375em) {
    .hero--standard .hero-content, .hero--homepage .hero-content {
      padding-left: var(--site-padding);
      padding-right: var(--site-padding); } }
  @media screen and (min-width: 48em) {
    .hero--standard .hero-content, .hero--homepage .hero-content {
      padding: 80px calc( var(--site-padding) / 2); }
      .hero--standard .hero-content .content-button-wrapper a[class^="button-"], .hero--homepage .hero-content .content-button-wrapper a[class^="button-"] {
        min-width: 0;
        width: auto; } }
  @media screen and (min-width: 64em) {
    .hero--standard .hero-content p:last-of-type, .hero--homepage .hero-content p:last-of-type {
      margin-bottom: 9.84375rem; } }
  @media screen and (min-width: 100em) {
    .hero--standard .hero-content, .hero--homepage .hero-content {
      padding: 120px var(--site-padding); } }

.hero--standard {
  height: calc( 100vh - var(--full-header-height));
  max-height: 1200px; }
  @media screen and (min-width: 48em) {
    .hero--standard {
      height: 50vh; } }

.hero--homepage {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-height: 1200px; }
  @media screen and (min-width: 48em) {
    .hero--homepage {
      height: calc( 100vh - var(--full-header-height)); } }

/*

    //  //// --|    Components / Form

*/
.shiftr-form {
  max-width: 500px;
  margin: 0 auto;
  position: relative; }
  .shiftr-form .field {
    margin-bottom: 10px;
    display: block; }
    .shiftr-form .field:last-child {
      margin-bottom: 0; }

form.search-form {
  position: relative;
  display: flex;
  background-color: var(--c-l-grey);
  border: 1px solid #D9D9D9;
  border-radius: var(--border-radius);
  padding: 0  6px; }
  form.search-form label:focus-visible, form.search-form input[type="search"]:focus-visible {
    outline: none; }
  form.search-form input[type="submit"] {
    font-size: 0;
    width: 40px;
    background: no-repeat 50% 50% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.768' height='30.768' viewBox='0 0 30.768 30.768'%3E%3Cpath id='Path_5' data-name='Path 5' d='M318.758,215a8.758,8.758,0,0,0-.741,17.484v7.772a.741.741,0,0,0,1.482,0v-7.772A8.758,8.758,0,0,0,318.758,215Zm0,16.146a7.388,7.388,0,1,1,7.388-7.388A7.387,7.387,0,0,1,318.758,231.146Z' transform='translate(-371.231 79.561) rotate(-45)' fill='%23333'/%3E%3C/svg%3E%0A"); }
  form.search-form label {
    width: calc(100% - 40px); }
  form.search-form span.placeholder-text {
    position: absolute;
    font-weight: normal;
    font-size: 16px;
    color: #6F767A;
    height: -webkit-min-content;
    height: -moz-min-content;
    height: min-content;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    transition: 300ms ease-out;
    left: 14px; }
  form.search-form:hover span.placeholder-text, form.search-form:focus-within span.placeholder-text {
    transform: translate3d(0, -325%, 0);
    font-size: 12px;
    left: 0; }
  form.search-form * {
    height: 46px;
    border: none;
    background-color: transparent; }

/*

    //  //// --|    Components / Accordion

*/
.shiftr-accordion {
  --vertical-padding: 10px;
  --sA-box-shadow: 0 0 10px rgba(49, 49, 49, 0.1),
                     0 0 30px rgba(49, 49, 49, 0.05); }
  .shiftr-accordion .accordion--item {
    margin-bottom: 20px;
    position: relative;
    border-radius: var(--border-radius);
    transition: 400ms; }
    .shiftr-accordion .accordion--item:hover {
      box-shadow: var(--sA-box-shadow); }
    .shiftr-accordion .accordion--item:last-child {
      margin-bottom: 0; }
    .shiftr-accordion .accordion--item.is-expanded {
      box-shadow: var(--sA-box-shadow); }
      .shiftr-accordion .accordion--item.is-expanded .accordion--tab::before {
        transform: translateY(-50%) rotateZ(90deg) rotateY(180deg); }
    .shiftr-accordion .accordion--item .accordion--tab {
      padding: 20px calc( ( var(--vertical-padding) * 2 ) + 30px) 20px var(--vertical-padding);
      position: relative;
      cursor: pointer; }
      .shiftr-accordion .accordion--item .accordion--tab::before {
        content: "";
        display: block;
        position: absolute;
        width: 30px;
        height: 30px;
        position: absolute;
        top: 50%;
        right: var(--vertical-padding);
        transform: translateY(-50%) rotateZ(90deg) rotateY(0deg);
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11.29 20'%3E%3Cpath d='M1.5,20a1.51,1.51,0,0,1-1.3-.75,1.57,1.57,0,0,1,.3-1.88l6.67-6.66a1,1,0,0,0,0-1.42L.44,2.56A1.5,1.5,0,0,1,2.56.44L10.7,8.58a2,2,0,0,1,0,2.84L2.56,19.56A1.51,1.51,0,0,1,1.5,20Z'/%3E%3C/svg%3E") no-repeat center;
        background-size: 10px auto;
        transition: 300ms; }
    .shiftr-accordion .accordion--item .accordion--panel {
      padding: 20px var(--vertical-padding);
      position: relative; }
      .shiftr-accordion .accordion--item .accordion--panel > *:last-child {
        margin-bottom: 0; }
  @media screen and (min-width: 28.125em) {
    .shiftr-accordion {
      --vertical-padding: 20px; } }

/*

    //  //// --|    Components / Carousel

*/
.shiftr-carousel {
  position: relative; }
  .shiftr-carousel .carousel-stage {
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    overflow: hidden; }
  .shiftr-carousel .carousel-slide {
    width: 100%;
    height: 100%;
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1; }
    .shiftr-carousel .carousel-slide.active {
      display: block;
      position: relative;
      z-index: 2; }
    .shiftr-carousel .carousel-slide.prev {
      display: block; }
    .shiftr-carousel .carousel-slide.next {
      display: block; }
  .shiftr-carousel.transition-style--fade .carousel-slide {
    transition: transform 800ms ease-in-out, opacity 600ms 200ms ease;
    opacity: 0;
    transform: scale(1.1); }
    .shiftr-carousel.transition-style--fade .carousel-slide.active {
      opacity: 1;
      transform: scale(1); }
  .shiftr-carousel.transition-style--slide .carousel-slide {
    transition: transform 800ms ease-in-out, opacity 600ms 200ms ease; }
    .shiftr-carousel.transition-style--slide .carousel-slide.active {
      opacity: 1; }
    .shiftr-carousel.transition-style--slide .carousel-slide.prev {
      opacity: 0;
      transform: translateX(calc( -100% - 20px)); }
    .shiftr-carousel.transition-style--slide .carousel-slide.next {
      opacity: 0;
      transform: translateX(calc( 100% + 20px)); }
  .shiftr-carousel .carousel-button,
  .shiftr-carousel .carousel-button {
    width: 40px;
    height: 40px;
    position: absolute;
    top: calc( 50% - 20px);
    z-index: 20;
    border-radius: 40px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11.29 20'%3E%3Cpath d='M1.5,20a1.51,1.51,0,0,1-1.3-.75,1.57,1.57,0,0,1,.3-1.88l6.67-6.66a1,1,0,0,0,0-1.42L.44,2.56A1.5,1.5,0,0,1,2.56.44L10.7,8.58a2,2,0,0,1,0,2.84L2.56,19.56A1.51,1.51,0,0,1,1.5,20Z'/%3E%3C/svg%3E") no-repeat center;
    background-size: 10px auto;
    border: 1px solid var(--c-primary); }
  .shiftr-carousel .carousel-button:first-of-type {
    left: 0;
    transform: rotate(180deg); }
  .shiftr-carousel .carousel-button:last-of-type {
    right: 0; }
  .shiftr-carousel .carousel-nav {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding-top: 10px;
    display: flex;
    justify-content: center;
    z-index: 20; }
    .shiftr-carousel .carousel-nav button {
      width: 40px;
      height: 40px;
      margin: 0 4px;
      padding: 0;
      cursor: pointer;
      border-radius: 20px;
      border: none;
      background-color: transparent;
      outline: none;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      transition: 300ms; }
      .shiftr-carousel .carousel-nav button:last-child {
        margin-bottom: 0; }
      .shiftr-carousel .carousel-nav button.active span {
        background-color: var(--c-primary); }
      .shiftr-carousel .carousel-nav button:hover span {
        background-color: var(--c-primary); }
      .shiftr-carousel .carousel-nav button span {
        width: 80%;
        height: 4px;
        margin: 0 10%;
        display: block;
        background-color: rgba(255, 243, 53, 0.4);
        border-radius: var(--border-radius);
        transition: 400ms; }

/*

    //  //// --|    Cookie Notice Styles

*/
.shiftr-cookie-notice {
  width: calc( 100vw - 8px);
  max-width: 500px;
  padding: 10px 20px;
  position: fixed;
  left: 4px;
  bottom: 4px;
  transform: translateY(calc( 100% + 10px));
  z-index: 9999;
  opacity: 0;
  background-color: var(--c-l-grey);
  border-radius: var(--border-radius);
  box-shadow: 0 0 10px rgba(49, 49, 49, 0.2), 0 0 30px rgba(49, 49, 49, 0.15), 0 0 60px rgba(49, 49, 49, 0.1);
  -webkit-animation-duration: 800ms;
          animation-duration: 800ms;
  -webkit-animation-timing-function: cubic-bezier(0.2, 0.9, 0.6, 1);
          animation-timing-function: cubic-bezier(0.2, 0.9, 0.6, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  .shiftr-cookie-notice.is-visible {
    display: block;
    -webkit-animation-name: cookie_is_visible;
            animation-name: cookie_is_visible; }
  .shiftr-cookie-notice:hover {
    background-color: #f4f4f7; }
  .shiftr-cookie-notice p {
    margin-bottom: 0.98438rem;
    font-size: .875rem; }
  .shiftr-cookie-notice button.button-fill {
    margin-right: 10px; }
  @media screen and (min-width: 48em) {
    .shiftr-cookie-notice {
      max-width: 300px;
      padding: 20px;
      left: 10px;
      bottom: 10px; } }

@-webkit-keyframes cookie_is_visible {
  0% {
    transform: translateY(calc( 100% + 10px));
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

@keyframes cookie_is_visible {
  0% {
    transform: translateY(calc( 100% + 10px));
    opacity: 0; }
  100% {
    transform: translateY(0);
    opacity: 1; } }

/*

    //  //// --|    Annoucement Bar

*/
div.announcement-bar {
  padding: 10px var(--site-margin);
  background-color: var(--c-l-grey);
  text-align: center; }
  div.announcement-bar p {
    max-width: 1600px;
    margin: 0 auto; }

/*

    //  //// --|    Blocks / Image Links

*/
.block--image-links .grid {
  --grid-column-gap: 20px;
  --grid-columns: calc(2 + 0.5);
  display: grid;
  grid-gap: var(--grid-column-gap);
  grid-template-columns: repeat(auto-fit, minmax(calc( calc( var(--container-width) / var(--grid-columns) ) - calc( calc( var(--grid-columns) - 1) * var(--grid-column-gap) )), 1fr));
  place-items: center; }
  .block--image-links .grid .grid-item {
    position: relative;
    overflow: hidden;
    border-radius: 12px; }
    .block--image-links .grid .grid-item a {
      overflow: hidden; }
      .block--image-links .grid .grid-item a h3 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: white; }
      .block--image-links .grid .grid-item a img {
        transition: 100ms; }
        .block--image-links .grid .grid-item a img::after {
          position: absolute;
          content: '';
          height: 100%;
          width: 100%;
          top: 0;
          width: 0;
          background-color: black; }
      .block--image-links .grid .grid-item a:hover img {
        transform: scale(1.1); }

/*

    //  //// --|    Blocks / Special Offers

*/
.block--offers h2 {
  margin-bottom: 2rem; }

.block--offers div.container, .block--offers .block--services div.block-heading, .block--services .block--offers div.block-heading {
  --grid-column-gap: 20px;
  --grid-columns: calc(2 + 0.5);
  display: grid;
  grid-gap: var(--grid-column-gap);
  grid-template-columns: repeat(auto-fit, minmax(calc( calc( var(--container-width) / var(--grid-columns) ) - calc( calc( var(--grid-columns) - 1) * var(--grid-column-gap) )), 1fr));
  place-items: center; }
  .block--offers div.container .offer, .block--offers .block--services div.block-heading .offer, .block--services .block--offers div.block-heading .offer {
    width: 100%;
    max-width: 600px; }
    .block--offers div.container .offer .image, .block--offers .block--services div.block-heading .offer .image, .block--services .block--offers div.block-heading .offer .image {
      position: relative;
      padding-top: 65%;
      width: 100%;
      border-radius: 12px;
      overflow: auto;
      margin-bottom: 2rem; }
      .block--offers div.container .offer .image img, .block--offers .block--services div.block-heading .offer .image img, .block--services .block--offers div.block-heading .offer .image img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: 50% 50%;
           object-position: 50% 50%;
        font-family: 'object-fit'; }

/*

    //  //// --|    Blocks / Gallery

*/
.block--gallery .container, .block--gallery .block--services .block-heading, .block--services .block--gallery .block-heading, .block--gallery section.archive-options {
  display: grid;
  grid-gap: 24px;
  grid-template-columns: 1fr 1fr;
  place-items: center; }
  @media screen and (min-width: 48em) {
    .block--gallery .container, .block--gallery .block--services .block-heading, .block--services .block--gallery .block-heading, .block--gallery section.archive-options {
      grid-template-columns: repeat(3, 1fr); } }
  .block--gallery .container .image, .block--gallery .block--services .block-heading .image, .block--services .block--gallery .block-heading .image, .block--gallery section.archive-options .image {
    position: relative;
    padding-top: 100%;
    width: 100%;
    border-radius: 12px;
    overflow: auto; }
    .block--gallery .container .image img, .block--gallery .block--services .block-heading .image img, .block--services .block--gallery .block-heading .image img, .block--gallery section.archive-options .image img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 50%;
         object-position: 50% 50%;
      font-family: 'object-fit'; }

.block--gallery .modal-wrapper {
  /* The Modal (background) */
  /* Modal Content */
  /* The Close Button */
  /* Next & previous buttons */
  /* Position the "next button" to the right */
  /* On hover, add a black background color with a little bit see-through */
  /* Number text (1/3 etc) */ }
  .block--gallery .modal-wrapper .modal {
    position: fixed;
    z-index: 100000;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: #313131aa;
    -webkit-backdrop-filter: blur(20px) saturate(2);
            backdrop-filter: blur(20px) saturate(2);
    transition: 100ms;
    visibility: hidden;
    opacity: 0;
    transform: scale(0);
    transition: visibility 0.2s, opacity 0.2s, transform 100ms linear; }
  .block--gallery .modal-wrapper .modal-content {
    position: relative;
    background-color: #fefefe;
    margin: auto;
    padding: 0;
    width: 90%;
    max-width: 1200px; }
  .block--gallery .modal-wrapper .close {
    color: white;
    position: absolute;
    top: 10px;
    right: 25px;
    font-size: 35px;
    font-weight: bold; }
  .block--gallery .modal-wrapper .close:hover,
  .block--gallery .modal-wrapper .close:focus {
    color: #999;
    text-decoration: none;
    cursor: pointer; }
  .block--gallery .modal-wrapper .mySlides {
    display: none;
    padding-top: 50vh;
    position: relative; }
    .block--gallery .modal-wrapper .mySlides img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 50%;
         object-position: 50% 50%;
      font-family: 'object-fit';
      -o-object-fit: contain;
         object-fit: contain;
      background-color: black; }
  .block--gallery .modal-wrapper .cursor {
    cursor: pointer; }
  .block--gallery .modal-wrapper .prev,
  .block--gallery .modal-wrapper .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -50px;
    color: white;
    font-weight: bold;
    font-size: 20px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    -moz-user-select: none;
     -ms-user-select: none;
         user-select: none;
    -webkit-user-select: none; }
  .block--gallery .modal-wrapper .next {
    right: 0;
    border-radius: 3px 0 0 3px; }
  .block--gallery .modal-wrapper .prev:hover,
  .block--gallery .modal-wrapper .next:hover {
    background-color: rgba(0, 0, 0, 0.8); }
  .block--gallery .modal-wrapper .numbertext {
    color: #f2f2f2;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0; }
  .block--gallery .modal-wrapper img {
    margin-bottom: -4px; }
  .block--gallery .modal-wrapper .caption-container {
    text-align: center;
    background-color: black;
    padding: 2px 16px;
    color: white; }
  .block--gallery .modal-wrapper .demo {
    opacity: 0.6; }
  .block--gallery .modal-wrapper .active,
  .block--gallery .modal-wrapper .demo:hover {
    opacity: 1; }
  .block--gallery .modal-wrapper img.hover-shadow {
    transition: 0.3s; }
  .block--gallery .modal-wrapper .hover-shadow:hover {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }
  .block--gallery .modal-wrapper .column {
    float: left;
    width: 25%; }
    .block--gallery .modal-wrapper .column .inner-column {
      padding-top: 56.25%;
      margin: 2%;
      position: relative; }
      .block--gallery .modal-wrapper .column .inner-column img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: 50% 50%;
           object-position: 50% 50%;
        font-family: 'object-fit'; }

/*

    //  //// --|    Blocks / Content Image Stack

*/
.block--content-image-stack .container, .block--content-image-stack .block--services .block-heading, .block--services .block--content-image-stack .block-heading, .block--content-image-stack section.archive-options {
  display: grid;
  grid-template-areas: "image1" "content1"  "image2" "content2";
  grid-row-gap: 40px; }
  @media screen and (min-width: 48em) {
    .block--content-image-stack .container, .block--content-image-stack .block--services .block-heading, .block--services .block--content-image-stack .block-heading, .block--content-image-stack section.archive-options {
      grid-row-gap: 0;
      grid-template-areas: "image1 content1" "content2 image2"; } }

.block--content-image-stack .image1 {
  grid-area: image1; }

.block--content-image-stack .content1 {
  grid-area: content1; }

.block--content-image-stack .image2 {
  grid-area: image2; }

.block--content-image-stack .content2 {
  grid-area: content2; }

.block--content-image-stack img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  font-family: 'object-fit';
  border-radius: 14px; }

.block--content-image-stack .image {
  position: relative; }
  @media screen and (max-width: 48em) {
    .block--content-image-stack .image {
      max-height: 400px;
      margin-left: 45px;
      aspect-ratio: 1/1; } }
  .block--content-image-stack .image::after {
    position: absolute;
    content: '';
    height: 100%;
    width: 100%;
    border-radius: 10px;
    box-shadow: inset 0 0 0 10px var(--c-primary);
    top: 60px;
    right: 45px; }
  .block--content-image-stack .image.image1::after {
    height: calc(100% + 10px);
    width: calc(100% + 10px);
    right: 0;
    left: -45px; }

.block--content-image-stack .content {
  padding: 55px;
  padding-top: 75px; }
  @media screen and (max-width: 48em) {
    .block--content-image-stack .content * {
      text-align: left !important; } }
  @media screen and (min-width: 64em) {
    .block--content-image-stack .content {
      padding: 110px; } }
  .block--content-image-stack .content p {
    font-size: 20px; }

/*

    //  //// --|    Blocks / Services

*/
.block--services .block-heading {
  grid-column: span 3;
  max-width: 100%;
  margin-bottom: 4rem; }

.block--services .container, .block--services .block-heading, .block--services section.archive-options {
  --grid-column-gap: 10px;
  --grid-columns: calc(3 + 0.9.9995);
  display: grid;
  grid-gap: var(--grid-column-gap);
  grid-template-columns: repeat(auto-fit, minmax(calc( calc( var(--container-width) / var(--grid-columns) ) - calc( calc( var(--grid-columns) - 1) * var(--grid-column-gap) )), 1fr)); }
  .block--services .container .service, .block--services .block-heading .service, .block--services section.archive-options .service {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    border-radius: 12px;
    overflow: auto; }
    .block--services .container .service .image, .block--services .block-heading .service .image, .block--services section.archive-options .service .image {
      padding-top: 60%;
      position: relative;
      border-bottom: solid 8px var(--c-primary); }
      .block--services .container .service .image img, .block--services .block-heading .service .image img, .block--services section.archive-options .service .image img {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: 50% 50%;
           object-position: 50% 50%;
        font-family: 'object-fit'; }
    .block--services .container .service .content, .block--services .block-heading .service .content, .block--services section.archive-options .service .content {
      background-color: var(--c-l-grey);
      padding: 1rem 1.5rem;
      padding-bottom: 2rem; }
      .block--services .container .service .content p, .block--services .block-heading .service .content p, .block--services section.archive-options .service .content p {
        color: #707070; }
      .block--services .container .service .content h2, .block--services .block-heading .service .content h2, .block--services section.archive-options .service .content h2 {
        font-size: 1.8rem;
        padding: 1rem 0; }
      .block--services .container .service .content a, .block--services .block-heading .service .content a, .block--services section.archive-options .service .content a {
        font-weight: normal;
        padding: 15px 40px; }
    @media screen and (min-width: 48em) {
      .block--services .container .service:nth-child(3n+2), .block--services .block-heading .service:nth-child(3n+2), .block--services section.archive-options .service:nth-child(3n+2) {
        -webkit-animation-delay: 50ms;
                animation-delay: 50ms; }
      .block--services .container .service:nth-child(3n+3), .block--services .block-heading .service:nth-child(3n+3), .block--services section.archive-options .service:nth-child(3n+3) {
        -webkit-animation-delay: 100ms;
                animation-delay: 100ms; } }

/*

    //  //// --|    Blocks / Content & Image

*/
section.flexi-block.block--content-image {
  padding: 0;
  margin: 0; }
  section.flexi-block.block--content-image .before {
    padding-top: 2rem; }
  section.flexi-block.block--content-image .wrapper {
    padding-left: var(--site-padding);
    padding-right: var(--site-padding);
    scroll-margin-top: var(--section-scroll-margin-top);
    margin-bottom: var(--s-vertical-padding);
    scroll-margin-top: var(--section-scroll-margin-top); }
  section.flexi-block.block--content-image div.content {
    margin-bottom: 40px; }
  section.flexi-block.block--content-image p {
    font-size: clamp(1rem, calc( 2vw + 5px), 32px); }
  section.flexi-block.block--content-image div.image {
    display: grid;
    place-items: center; }
    section.flexi-block.block--content-image div.image .floating-text {
      height: 80px;
      width: 80px;
      z-index: 10;
      color: white;
      text-align: center;
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 50%;
      background-color: var(--c-d-grey);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='178.5' height='178.5' viewBox='0 0 178.5 178.5'%3E%3Ccircle id='Ellipse_3' data-name='Ellipse 3' cx='89.25' cy='89.25' r='89.25' fill='%23fff335'/%3E%3C/svg%3E%0A");
      background-size: 0px;
      background-position: center;
      background-repeat: no-repeat; }
      section.flexi-block.block--content-image div.image .floating-text span {
        font-weight: bold;
        font-size: 20px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
  section.flexi-block.block--content-image.layout-image_content .content .content-button-wrapper {
    justify-content: end; }
  section.flexi-block.block--content-image .content .content-button-wrapper {
    margin-bottom: 20px; }
  section.flexi-block.block--content-image div.container, section.flexi-block.block--content-image .block--services div.block-heading, .block--services section.flexi-block.block--content-image div.block-heading {
    display: flex;
    flex-direction: column-reverse; }
  section.flexi-block.block--content-image.bg-grey {
    background: white; }
    @media screen and (max-width: 28.125em) {
      section.flexi-block.block--content-image.bg-grey .image::after {
        position: absolute;
        content: "";
        width: 100vw;
        height: 200px;
        background-color: var(--c-l-grey);
        z-index: 1; } }
    section.flexi-block.block--content-image.bg-grey .image img {
      z-index: 2; }
    section.flexi-block.block--content-image.bg-grey .wrapper {
      background: white; }
      @media screen and (min-width: 48em) {
        section.flexi-block.block--content-image.bg-grey .wrapper {
          background: linear-gradient(0deg, white 25%, var(--c-l-grey) 25%, var(--c-l-grey) 75%, white 75%); } }
    @media screen and (max-width: 48em) {
      section.flexi-block.block--content-image.bg-grey .content {
        padding: 1.125rem; }
        section.flexi-block.block--content-image.bg-grey .content * {
          text-align: left !important;
          justify-content: left !important; } }
  @media screen and (min-width: 28.125em) {
    section.flexi-block.block--content-image div.container, section.flexi-block.block--content-image .block--services div.block-heading, .block--services section.flexi-block.block--content-image div.block-heading {
      width: auto;
      display: grid;
      grid-gap: 30px;
      grid-template: 'b__ci_content b__ci_image' auto / 1fr 1fr; }
    section.flexi-block.block--content-image div.content {
      margin: 0;
      padding: 40px 0;
      grid-area: b__ci_content;
      align-self: center;
      padding-right: 10%;
      padding-left: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      height: 100%;
      display: flex;
      justify-content: center; }
      section.flexi-block.block--content-image div.content p {
        margin-bottom: 0; }
      section.flexi-block.block--content-image div.content .content-button-wrapper {
        position: absolute;
        bottom: 0; }
        section.flexi-block.block--content-image div.content .content-button-wrapper a.button-fill {
          font-size: calc(clamp(1rem, calc( 2vw + 10px), 32px ) / 1.5);
          font-weight: normal;
          padding: 10px 20px;
          border-radius: 8px;
          text-transform: uppercase;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='178.5' height='178.5' viewBox='0 0 178.5 178.5'%3E%3Ccircle id='Ellipse_3' data-name='Ellipse 3' cx='89.25' cy='89.25' r='89.25' fill='%23fff335'/%3E%3C/svg%3E%0A");
          background-size: 0px;
          background-position: center;
          background-repeat: no-repeat; }
          section.flexi-block.block--content-image div.content .content-button-wrapper a.button-fill:hover {
            -webkit-animation: gradient ease-in 200ms forwards;
                    animation: gradient ease-in 200ms forwards; }
    section.flexi-block.block--content-image.layout-image_content .content {
      padding-left: 10%;
      padding-right: 0;
      align-items: flex-end; }
    section.flexi-block.block--content-image div.image {
      min-height: 400px;
      margin: 0;
      position: relative;
      grid-area: b__ci_image; }
      section.flexi-block.block--content-image div.image img, section.flexi-block.block--content-image div.image .floating-text {
        transition: ease-out 0.3s; }
      section.flexi-block.block--content-image div.image:hover img {
        transform: scale(1.1); }
      section.flexi-block.block--content-image div.image:hover .floating-text {
        -webkit-animation: gradient ease-in 200ms forwards;
                animation: gradient ease-in 200ms forwards; }
    section.flexi-block.block--content-image.layout-image_content {
      /*
            Autoprefixer wants the area names to be unique so added the __l_ prefix
            */ }
      section.flexi-block.block--content-image.layout-image_content div.container, section.flexi-block.block--content-image.layout-image_content .block--services div.block-heading, .block--services section.flexi-block.block--content-image.layout-image_content div.block-heading {
        grid-template: '__l_b__ci_image __l_b__ci_content' auto / 1fr 1fr; }
      section.flexi-block.block--content-image.layout-image_content div.content {
        grid-area: __l_b__ci_content; }
      section.flexi-block.block--content-image.layout-image_content div.image {
        grid-area: __l_b__ci_image; } }
  @media screen and (min-width: 48em) {
    section.flexi-block.block--content-image div.content .content-button-wrapper a.button-fill {
      padding: 25px 60px; }
    section.flexi-block.block--content-image div.image {
      display: block; }
      section.flexi-block.block--content-image div.image .floating-text {
        height: 150px;
        width: 150px;
        top: -5%;
        left: -2%; }
        section.flexi-block.block--content-image div.image .floating-text span {
          font-size: 40px; } }

@-webkit-keyframes gradient {
  0% {
    background-size: 0px; }
  100% {
    background-size: 110%;
    color: black; } }

@keyframes gradient {
  0% {
    background-size: 0px; }
  100% {
    background-size: 110%;
    color: black; } }

/*

    //  //// --|    Blocks / CTA banner (small)

*/
section.flexi-block.block--cta-banner-small {
  --vertical-padding: 50px;
  padding-top: var(--vertical-padding);
  padding-bottom: var(--vertical-padding);
  text-align: center; }
  section.flexi-block.block--cta-banner-small.bg-black .button, section.flexi-block.block--cta-banner-small.bg-primary .button {
    --focus-outer: var(--c-white);
    color: var(--c-white); }
  section.flexi-block.block--cta-banner-small.bg-black {
    background-color: white; }
    section.flexi-block.block--cta-banner-small.bg-black .button {
      --focus-inner: var(--c-black); }
    section.flexi-block.block--cta-banner-small.bg-black .container, section.flexi-block.block--cta-banner-small.bg-black .block--services .block-heading, .block--services section.flexi-block.block--cta-banner-small.bg-black .block-heading, section.flexi-block.block--cta-banner-small.bg-black section.archive-options {
      background-color: var(--c-black); }
  section.flexi-block.block--cta-banner-small.bg-primary {
    color: var(--c-white); }
    section.flexi-block.block--cta-banner-small.bg-primary .button {
      --focus-inner: var(--c-primary);
      background-color: var(--c-white);
      color: var(--c-primary); }
  section.flexi-block.block--cta-banner-small p {
    padding: 0px 5px 20px 5px;
    margin: auto;
    text-align: center;
    font-size: clamp(1.125rem, calc( 2vw + 5px), 32px);
    max-width: 900px; }
    section.flexi-block.block--cta-banner-small p .primary {
      color: var(--c-primary); }
  section.flexi-block.block--cta-banner-small .button {
    --padding-ratio: 4;
    max-width: 80%; }
  section.flexi-block.block--cta-banner-small div.container, section.flexi-block.block--cta-banner-small .block--services div.block-heading, .block--services section.flexi-block.block--cta-banner-small div.block-heading {
    border-radius: 12px;
    padding: 2rem 0; }
  @media screen and (min-width: 48em) {
    section.flexi-block.block--cta-banner-small {
      --vertical-padding: 25px; }
      section.flexi-block.block--cta-banner-small div.container > *, section.flexi-block.block--cta-banner-small .block--services div.block-heading > *, .block--services section.flexi-block.block--cta-banner-small div.block-heading > * {
        align-self: center; }
      section.flexi-block.block--cta-banner-small p {
        margin-bottom: 0; }
      section.flexi-block.block--cta-banner-small a.button {
        --padding-ratio: 8;
        margin-right: auto; } }

/*

    //  //// --|    Blocks / Featured Posts

*/
/*

    //  //// --|    Blocks / Newsletter

*/
.block--newsletter {
  position: relative;
  color: var(--c-white); }
  .block--newsletter p {
    font-size: 18px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .block--newsletter p {
        font-size: 16px; } }
  .block--newsletter a {
    color: var(--c-primary); }
  @media screen and (min-width: 48em) {
    .block--newsletter h2 {
      margin-bottom: 4rem; } }
  .block--newsletter .content {
    display: grid;
    place-items: center;
    grid-row-gap: 1rem;
    max-width: 50rem;
    padding: 4rem 20px; }
    @media screen and (min-width: 48em) {
      .block--newsletter .content {
        padding: 6rem 5px; } }
    .block--newsletter .content form.shiftr-form {
      width: 90%;
      max-width: unset;
      display: grid;
      grid-template-columns: auto 25%; }
      @media screen and (min-width: 48em) {
        .block--newsletter .content form.shiftr-form {
          width: 100%; } }
      .block--newsletter .content form.shiftr-form .field-send button {
        width: 100%;
        border-radius: 8px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        background-color: var(--c-d-grey);
        height: 3rem; }
        @media screen and (min-width: 48em) {
          .block--newsletter .content form.shiftr-form .field-send button {
            height: 4rem; } }
      .block--newsletter .content form.shiftr-form .field-email {
        margin-bottom: 0; }
        .block--newsletter .content form.shiftr-form .field-email input {
          max-width: unset;
          height: 100%;
          width: 100%;
          border-radius: 8px;
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
  .block--newsletter img.background {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
    font-family: 'object-fit';
    -o-object-position: 50% 60%;
       object-position: 50% 60%; }
    @media screen and (min-width: 48em) {
      .block--newsletter img.background {
        -o-object-position: 50% 80%;
           object-position: 50% 80%; } }
  @media screen and (min-width: 48em) {
    .block--newsletter {
      padding-bottom: 4rem; } }

/*

    //  //// --|    Templates / Post Archive

*/
.hero--basic {
  margin-bottom: 80px;
  padding-top: 40px; }
  .hero--basic header {
    max-width: 900px;
    text-align: center; }
    .hero--basic header h1 {
      text-align: inherit; }

.search-result-count {
  margin-top: 20px;
  display: inline-block; }

ul.loop {
  list-style: none;
  margin: 0;
  padding: 0; }

ul.loop.posts {
  margin-bottom: 2rem;
  --grid-column-gap: 20px;
  --grid-columns: calc(3 + 0.5);
  display: grid;
  grid-gap: var(--grid-column-gap);
  grid-template-columns: repeat(auto-fit, minmax(calc( calc( var(--container-width) / var(--grid-columns) ) - calc( calc( var(--grid-columns) - 1) * var(--grid-column-gap) )), 1fr));
  place-items: center;
  grid-row-gap: 25px; }
  ul.loop.posts li.post:not(:last-child) {
    margin-bottom: 20px; }
  ul.loop.posts li.post a {
    width: 100%;
    height: 100%;
    display: inline-block; }
    ul.loop.posts li.post a:hover h3 {
      text-decoration: underline; }
  ul.loop.posts li.post .post-thumbnail {
    width: 100%;
    margin-bottom: 10px;
    padding-top: 60%;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    background-color: var(--c-l-grey); }
    ul.loop.posts li.post .post-thumbnail img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 50%;
         object-position: 50% 50%;
      font-family: 'object-fit'; }
  ul.loop.posts li.post h3 {
    font-size: clamp(1.25rem, calc( 2vw + 5px), 32px );
    margin-bottom: .2rem; }
  ul.loop.posts li.post time {
    color: var(--c-d-grey);
    font-size: clamp(12px, calc( 2vw + 5px), 16px);
    font-weight: bold; }
  ul.loop.posts li.post p {
    margin-top: 1.5rem;
    color: #707070; }
  ul.loop.posts li.post a.button-fill {
    width: auto;
    font-weight: normal; }
  ul.loop.posts li.post {
    max-width: 450px;
    width: 100%; }
    ul.loop.posts li.post:not(:last-child) {
      margin-bottom: 0; }

.category .no-hero, .blog .no-hero {
  text-align: center;
  margin-bottom: 5rem;
  padding: var(--site-padding); }
  .category .no-hero h1, .blog .no-hero h1 {
    text-align: center;
    margin-bottom: 2rem; }
  .category .no-hero p, .blog .no-hero p {
    margin: auto; }

ul.categories {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 10px;
  padding: 0;
  margin-bottom: 2rem; }
  @media screen and (min-width: 28.125em) {
    ul.categories {
      grid-template-columns: repeat(4, 1fr);
      grid-column-gap: 20px; } }
  ul.categories li {
    list-style-type: none; }
    ul.categories li a {
      width: 100%;
      height: 38px;
      display: flex;
      text-align: center;
      justify-content: center;
      align-items: center;
      border: 1px solid rgba(0, 0, 0, 0.1);
      border-radius: 5px;
      background-color: #F4F4F7; }
      ul.categories li a[aria-current="page"] {
        background-color: var(--c-black);
        color: var(--c-white); }
    ul.categories li.active a {
      background-color: var(--c-d-grey);
      color: white; }

section.archive-options {
  margin-bottom: 3rem; }
  @media screen and (min-width: 48em) {
    section.archive-options {
      display: grid;
      grid-template-columns: 3fr 1fr;
      grid-column-gap: 20px; } }
  @media screen and (min-width: 58.125em) {
    section.archive-options {
      grid-template-columns: 2fr 1fr; } }
  section.archive-options .pagination ul {
    padding: 0;
    display: flex;
    justify-content: flex-end;
    gap: 10px; }
    section.archive-options .pagination ul li {
      list-style: none;
      width: 30px;
      height: 30px;
      margin: 0;
      text-align: center; }
      section.archive-options .pagination ul li .page-numbers {
        display: block;
        height: 100%;
        width: 100%;
        border-radius: 3px; }
        section.archive-options .pagination ul li .page-numbers.current, section.archive-options .pagination ul li .page-numbers:focus, section.archive-options .pagination ul li .page-numbers:hover {
          color: white;
          background-color: var(--c-secondary); }
      section.archive-options .pagination ul li .next {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5.135' height='8.462' viewBox='0 0 5.135 8.462'%3E%3Cpath id='chevron-down' d='M9.558,128.493l-3.766-3.766a.465.465,0,0,1,0-.658l.439-.439a.465.465,0,0,1,.657,0l3,2.984,3-2.984a.465.465,0,0,1,.657,0l.439.439a.465.465,0,0,1,0,.658l-3.766,3.766A.465.465,0,0,1,9.558,128.493Z' transform='translate(-123.495 14.118) rotate(-90)' fill='%23231f20'/%3E%3C/svg%3E%0A"); }
      section.archive-options .pagination ul li .prev {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5.135' height='8.462' viewBox='0 0 5.135 8.462'%3E%3Cpath id='chevron-down' d='M9.558,128.493l-3.766-3.766a.465.465,0,0,1,0-.658l.439-.439a.465.465,0,0,1,.657,0l3,2.984,3-2.984a.465.465,0,0,1,.657,0l.439.439a.465.465,0,0,1,0,.658l-3.766,3.766A.465.465,0,0,1,9.558,128.493Z' transform='translate(128.63 -5.656) rotate(90)' fill='%23231f20'/%3E%3C/svg%3E%0A"); }
      section.archive-options .pagination ul li .next, section.archive-options .pagination ul li .prev {
        background-color: var(--c-primary);
        font-size: 0;
        background-repeat: no-repeat;
        background-position: center center;
        background-size: 25%; }

/*

    //  //// --|    Templates / Post Single

*/
body.single-post main.site-main {
  padding-top: 60px; }
  @media screen and (min-width: 48em) {
    body.single-post main.site-main {
      padding-top: 80px; } }

.hero--post_single {
  margin-bottom: 3.9375rem;
  position: relative;
  height: 300px; }
  .hero--post_single .container, .hero--post_single .block--services .block-heading, .block--services .hero--post_single .block-heading, .hero--post_single section.archive-options {
    height: 100%;
    position: relative; }
  .hero--post_single .post-featured-image {
    width: 100%;
    margin-bottom: 1.96875rem;
    position: relative;
    height: 100%;
    padding-top: 33%;
    overflow: hidden; }
    @media screen and (min-width: 48em) {
      .hero--post_single .post-featured-image {
        border-radius: 13px; } }
    .hero--post_single .post-featured-image img {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: 50% 50%;
         object-position: 50% 50%;
      font-family: 'object-fit'; }
    .hero--post_single .post-featured-image:after {
      position: absolute;
      content: '';
      width: 100%;
      height: 100%;
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%);
      top: 0; }
  .hero--post_single .post-header {
    padding: 0 var(--site-padding);
    position: absolute;
    bottom: 1rem;
    color: white; }
    .hero--post_single .post-header > div.container, .hero--post_single .block--services .post-header > div.block-heading, .block--services .hero--post_single .post-header > div.block-heading {
      max-width: 42.75rem; }
    .hero--post_single .post-header h1 {
      margin-bottom: 0.49219rem;
      font-size: clamp(2rem, calc( 4vw + 10px), 48px); }
    @media screen and (min-width: 48em) {
      .hero--post_single .post-header {
        bottom: 3rem;
        left: 2.5rem; } }
  @media screen and (min-width: 48em) {
    .hero--post_single {
      margin-top: var(--header-height);
      height: 40vh; } }

.post-content figure {
  margin: 0; }

.post-content * {
  width: 100%;
  max-width: 100%; }

.post-content .blocks-gallery-grid {
  display: grid;
  grid: auto-flow / 1fr;
  grid-gap: 20px;
  padding: 0 2rem;
  margin: 3rem 0; }
  @media screen and (min-width: 48em) {
    .post-content .blocks-gallery-grid {
      grid-template-columns: repeat(2, 1fr);
      padding: 0; } }
  .post-content .blocks-gallery-grid li {
    list-style-type: none;
    margin: 0 auto;
    max-width: 500px; }
    @media screen and (min-width: 48em) {
      .post-content .blocks-gallery-grid li {
        max-width: unset; } }

.post-content h2 {
  font-size: clamp(2rem, calc( 4vw + 10px), 32px);
  margin-bottom: 1rem; }

section.other-articles {
  margin: 4rem 0 8rem 0; }
  section.other-articles h2 {
    margin-bottom: 2rem;
    font-size: clamp(2rem, calc( 4vw + 10px), 32px); }

ul.loop.posts li.post.team-member .post-summary p {
  margin-top: 0;
  color: var(--c-secondary); }

ul.loop.posts li.post.team-member .post-thumbnail {
  padding-top: 130%; }

main.homepage .homepage-slider {
  position: relative;
  border-bottom: 20px solid var(--c-primary); }
  main.homepage .homepage-slider .hero-feature-image.blur {
    background-color: black; }
    main.homepage .homepage-slider .hero-feature-image.blur img {
      filter: blur(3px); }
  main.homepage .homepage-slider .hero-content h1 {
    font-weight: bold;
    font-size: clamp(2.375rem, calc( 5vw + 10px), 5rem); }
  main.homepage .homepage-slider .hero-content p {
    margin: 2rem 0;
    max-width: 45rem; }
  main.homepage .homepage-slider .hero-content .content-button-wrapper {
    justify-content: flex-start; }
  main.homepage .homepage-slider .hero-content .button-fill {
    background-color: var(--c-d-grey);
    min-width: 40%; }
  @media screen and (min-width: 48em) {
    main.homepage .homepage-slider .hero-content .button-fill {
      font-size: 1.5rem;
      padding: 1.125rem 2.5rem;
      border-radius: 8px;
      min-width: unset; } }
  main.homepage .homepage-slider li.glide__slide {
    margin-bottom: 0; }
  main.homepage .homepage-slider .container.controls, main.homepage .homepage-slider .block--services .controls.block-heading, .block--services main.homepage .homepage-slider .controls.block-heading, main.homepage .homepage-slider section.controls.archive-options {
    position: absolute;
    bottom: 80px;
    width: 100%;
    pointer-events: none;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 100em) {
      main.homepage .homepage-slider .container.controls, main.homepage .homepage-slider .block--services .controls.block-heading, .block--services main.homepage .homepage-slider .controls.block-heading, main.homepage .homepage-slider section.controls.archive-options {
        bottom: 120px; } }
    main.homepage .homepage-slider .container.controls .glide__arrows, main.homepage .homepage-slider .block--services .controls.block-heading .glide__arrows, .block--services main.homepage .homepage-slider .controls.block-heading .glide__arrows, main.homepage .homepage-slider section.controls.archive-options .glide__arrows {
      display: none; }
    @media screen and (min-width: 48em) {
      main.homepage .homepage-slider .container.controls .glide__arrows, main.homepage .homepage-slider .block--services .controls.block-heading .glide__arrows, .block--services main.homepage .homepage-slider .controls.block-heading .glide__arrows, main.homepage .homepage-slider section.controls.archive-options .glide__arrows {
        position: relative;
        display: flex;
        justify-content: flex-end;
        margin: auto; }
        main.homepage .homepage-slider .container.controls .glide__arrows .glide__arrow, main.homepage .homepage-slider .block--services .controls.block-heading .glide__arrows .glide__arrow, .block--services main.homepage .homepage-slider .controls.block-heading .glide__arrows .glide__arrow, main.homepage .homepage-slider section.controls.archive-options .glide__arrows .glide__arrow {
          background-color: var(--c-primary);
          border: 0;
          height: 78px;
          width: 78px;
          border-radius: var(--border-radius);
          pointer-events: auto;
          cursor: pointer;
          margin-right: 2rem; } }
    @media screen and (min-width: 48em) and (min-width: 80.625em) {
      main.homepage .homepage-slider .container.controls .glide__arrows .glide__arrow:last-child, main.homepage .homepage-slider .block--services .controls.block-heading .glide__arrows .glide__arrow:last-child, .block--services main.homepage .homepage-slider .controls.block-heading .glide__arrows .glide__arrow:last-child, main.homepage .homepage-slider section.controls.archive-options .glide__arrows .glide__arrow:last-child {
        margin-right: 0; } }
  main.homepage .homepage-slider .glide__bullets {
    display: flex;
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (min-width: 48em) {
      main.homepage .homepage-slider .glide__bullets {
        display: none; } }
    main.homepage .homepage-slider .glide__bullets .glide__bullet {
      background-color: var(--c-d-grey);
      border: 0;
      border-radius: 50%;
      height: 12px;
      aspect-ratio: 1/1;
      transition: 200ms;
      margin: 0 6px; }
    main.homepage .homepage-slider .glide__bullets .glide__bullet--active {
      background-color: var(--c-primary);
      box-shadow: 0 0 14px 0 #bbb; }

/*

    //  //// --|    Templates / Stockist Geocode

*/
body.page-template-stockist-geocode div.no-hero {
  margin-bottom: 90px;
  text-align: center; }
  body.page-template-stockist-geocode div.no-hero h1 {
    margin-bottom: 2rem;
    text-align: inherit;
    text-transform: uppercase; }

body.page-template-stockist-geocode div.flexi-blocks-builder section.site-section.background-grey:last-child, body.page-template-stockist-geocode div.flexi-blocks-builder section.background-grey.archive-options:last-child {
  margin-bottom: -60px;
  border-bottom: 5px solid var(--c-primary); }
  @media screen and (min-width: 48em) {
    body.page-template-stockist-geocode div.flexi-blocks-builder section.site-section.background-grey:last-child, body.page-template-stockist-geocode div.flexi-blocks-builder section.background-grey.archive-options:last-child {
      margin-bottom: -100px; } }

.postcode-search {
  margin-bottom: 30px;
  padding: 30px 15px;
  background-color: var(--c-black);
  color: var(--c-white);
  border-radius: var(--border-radius); }
  .postcode-search p {
    margin-bottom: 24px;
    text-align: center;
    font-family: aileron, sans-serif;
    font-size: 1.125rem;
    font-weight: 500; }
  .postcode-search form {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    display: flex; }
    .postcode-search form .form-search-field-wrapper {
      margin-right: 6px;
      padding-right: 6px;
      display: flex;
      flex-grow: 2;
      position: relative;
      background-color: var(--c-white);
      border-radius: var(--border-radius);
      overflow: auto; }
      .postcode-search form .form-search-field-wrapper::before {
        content: '';
        display: block;
        position: absolute;
        width: 6px;
        height: calc( 100% - 8px);
        top: 4px;
        left: 4px;
        background-color: var(--c-primary);
        opacity: 0;
        transition: 150ms; }
      .postcode-search form .form-search-field-wrapper.field-focus::before {
        opacity: 1; }
      .postcode-search form .form-search-field-wrapper button[name="geolocate"] {
        width: 36px;
        height: 36px;
        margin-left: 6px;
        position: relative;
        top: 6px;
        cursor: pointer;
        border: none;
        background: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'/%3E%3C/svg%3E") no-repeat center;
        outline: none; }
        .postcode-search form .form-search-field-wrapper button[name="geolocate"]:focus-visible {
          outline: none;
          transition: box-shadow 100ms ease-out;
          box-shadow: 0 0 0 2px var(--c-primary); }
    .postcode-search form input[type="search"] {
      padding-left: 20px;
      flex-grow: 2;
      border: none;
      outline: none; }
      .postcode-search form input[type="search"]::-moz-placeholder {
        color: #C1C1C1; }
      .postcode-search form input[type="search"]:-ms-input-placeholder {
        color: #C1C1C1; }
      .postcode-search form input[type="search"]::placeholder {
        color: #C1C1C1; }
    .postcode-search form [type="submit"] {
      width: 50px;
      height: 50px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.768' height='30.768' viewBox='0 0 30.768 30.768'%3E%3Cpath id='Path_5' data-name='Path 5' d='M318.758,215a8.758,8.758,0,0,0-.741,17.484v7.772a.741.741,0,0,0,1.482,0v-7.772A8.758,8.758,0,0,0,318.758,215Zm0,16.146a7.388,7.388,0,1,1,7.388-7.388A7.387,7.387,0,0,1,318.758,231.146Z' transform='translate(-371.231 79.561) rotate(-45)' fill='%23231f20'/%3E%3C/svg%3E%0A");
      background-position: center;
      background-repeat: no-repeat; }
    .postcode-search form.coords .form-search-field-wrapper button[name="geolocate"] {
      background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 0 24 24' width='24'%3E%3Cpath d='M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z'/%3E%3C/svg%3E"); }
  @media screen and (min-width: 48em) {
    .postcode-search {
      margin-bottom: 70px;
      display: flex;
      justify-content: center;
      align-items: center; }
      .postcode-search p,
      .postcode-search form {
        margin: 0 calc( var( --site-margin ) / 2);
        padding: 0; } }

ul.loop li,
ul.products li {
  transition: opacity 200ms ease-in; }
  ul.loop li.delay-entry,
  ul.products li.delay-entry {
    opacity: 0; }

div.stockist-loop {
  margin-bottom: 80px; }

ul.stockists {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.stockists li.stockist.distance-threshold {
    padding: 20px;
    display: block !important;
    background-color: var(--c-black); }
    ul.stockists li.stockist.distance-threshold p {
      margin: 0 auto;
      text-align: center;
      font-size: 1.125rem;
      font-family: aileron, sans-serif;
      color: var(--c-white); }
  ul.stockists li.stockist {
    margin-bottom: 30px;
    padding: 30px;
    background-color: #F4F4F7;
    border-radius: calc( var(--border-radius) * 2); }
    ul.stockists li.stockist:last-child {
      margin-bottom: 0; }
    ul.stockists li.stockist div.stockist-logo {
      width: 100%;
      max-width: 350px;
      margin-bottom: 20px;
      padding: 20px;
      display: grid;
      align-items: center;
      position: relative;
      background-color: var(--c-white); }
      ul.stockists li.stockist div.stockist-logo img {
        width: auto;
        max-width: 80%;
        max-height: 80%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); }
    ul.stockists li.stockist h3 {
      margin-bottom: 10px; }
    ul.stockists li.stockist a[href^="tel:"],
    ul.stockists li.stockist a[href^="mailto:"] {
      display: block;
      font-size: .875rem; }
      ul.stockists li.stockist a[href^="tel:"]:hover,
      ul.stockists li.stockist a[href^="mailto:"]:hover {
        text-decoration: underline; }
    ul.stockists li.stockist a.button {
      width: 100%;
      margin-bottom: 24px; }
    ul.stockists li.stockist span.distance {
      margin-bottom: 12px;
      display: inline-block;
      font-size: .875rem; }
    ul.stockists li.stockist div.stockist-map {
      width: 100%;
      overflow: auto;
      border-radius: calc( var(--border-radius) * 2);
      background-color: #F4F4F7; }
      ul.stockists li.stockist div.stockist-map img {
        margin: 0 auto;
        overflow: auto;
        border-radius: calc( var(--border-radius) * 2); }
    @media screen and (min-width: 41.25em) {
      ul.stockists li.stockist {
        padding: 0;
        display: flex; }
        ul.stockists li.stockist div.stockist-info {
          padding: 30px;
          flex-grow: 2; }
        ul.stockists li.stockist a.button {
          margin-bottom: 0; }
        ul.stockists li.stockist span.distance {
          margin: 24px 0 0;
          display: inline-block;
          font-size: .875rem; }
        ul.stockists li.stockist div.stockist-map {
          padding-top: 30px; } }
    @media screen and (min-width: 64em) {
      ul.stockists li.stockist {
        display: grid;
        grid-gap: var(--site-gutter);
        grid-template-columns: 3fr 1fr;
        background-color: transparent; }
        ul.stockists li.stockist div.stockist-info {
          display: flex;
          align-items: center;
          background-color: #F4F4F7;
          border-radius: calc( var(--border-radius) * 2); }
          ul.stockists li.stockist div.stockist-info > div:last-child {
            flex-grow: 2; }
        ul.stockists li.stockist div.stockist-logo {
          min-height: 100%;
          margin-bottom: 0;
          margin-right: var(--site-gutter); }
        ul.stockists li.stockist a.button {
          max-width: 276px; }
          ul.stockists li.stockist a.button + span.distance {
            margin-left: 16px; }
        ul.stockists li.stockist span.distance {
          margin-top: 0; }
        ul.stockists li.stockist h3 {
          font-size: 1.5625rem; }
        ul.stockists li.stockist div.stockist-map {
          padding-top: 0; } }

div.post-pagination {
  width: 100%;
  margin-top: 50px;
  text-align: center; }
  div.post-pagination a.button {
    min-width: 276px;
    background-color: #F4F4F7;
    color: var(--c-black);
    text-align: center; }
    div.post-pagination a.button.max-pages-reached {
      opacity: .5;
      pointer-events: none; }
  @media screen and (min-width: 48em) {
    div.post-pagination {
      margin-top: 70px; } }

div.no-posts-message {
  text-align: center; }
  div.no-posts-message p {
    margin: 0 auto; }

div.geolocating-popup {
  min-width: 300px;
  padding: 50px 30px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 200;
  text-align: center;
  background-color: var(--c-black);
  color: var(--c-white);
  font-family: aileron, sans-serif;
  -webkit-animation-duration: 400ms;
          animation-duration: 400ms;
  -webkit-animation-timing-function: cubic-bezier(0.21, 0.89, 0.58, 1);
          animation-timing-function: cubic-bezier(0.21, 0.89, 0.58, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  div.geolocating-popup span {
    display: block;
    line-height: 1.75; }
  div.geolocating-popup.is-visible {
    display: block;
    -webkit-animation-name: fade_in_geolocate_popup;
            animation-name: fade_in_geolocate_popup; }
  @media screen and (min-width: 64em) {
    div.geolocating-popup {
      padding: 50px 40px;
      font-size: 1.125rem; } }

@-webkit-keyframes fade_in_geolocate_popup {
  0% {
    opacity: 0;
    transform: translate(-50%, -40%); }
  10% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%); } }

@keyframes fade_in_geolocate_popup {
  0% {
    opacity: 0;
    transform: translate(-50%, -40%); }
  10% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%); } }

.woocommerce-breadcrumb-wrapper {
  padding: 30px var(--site-padding); }
  .woocommerce-breadcrumb-wrapper .woocommerce-breadcrumb {
    width: 100%;
    max-width: var(--container-width);
    margin: 0 auto; }
    .woocommerce-breadcrumb-wrapper .woocommerce-breadcrumb a:hover {
      text-decoration: underline; }

.customer_list_modal {
  width: calc( 100vw - ( var(--site-gutter) * 2 ));
  max-width: 1090px;
  height: calc( 100vh - 100px);
  max-height: 550px;
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 500;
  transform: translate(-50%, -50%);
  background-color: var(--c-white);
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
  border-radius: var(--border-radius);
  border-top-right-radius: 0; }
  .customer_list_modal.visible {
    display: block; }
  .customer_list_modal.create_customer_list_modal {
    height: auto; }
    .customer_list_modal.create_customer_list_modal .inner {
      padding: 40px 20px;
      position: relative; }
    .customer_list_modal.create_customer_list_modal form {
      margin-bottom: 0; }
  .customer_list_modal .block {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    z-index: 200;
    background-color: rgba(0, 0, 0, 0.25); }
  .customer_list_modal.blocked .block {
    display: block; }
  .customer_list_modal .inner {
    width: 100%;
    height: 100%;
    padding: 20px;
    position: absolute;
    top: 0;
    left: 0;
    overflow: auto; }
  .customer_list_modal button.close {
    min-width: 110px;
    padding: 12px;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-100%);
    cursor: pointer;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border: none;
    background-color: var(--c-primary); }
  .customer_list_modal span.model-title {
    margin-bottom: 20px;
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 1.5625rem; }
  .customer_list_modal .product-image-preview {
    margin-bottom: 40px; }
  .customer_list_modal .product-summary span.product-title {
    margin-bottom: 10px;
    display: inline-block;
    font-weight: 700;
    font-size: 1.5rem; }
  .customer_list_modal form {
    margin-bottom: 40px;
    position: relative; }
    .customer_list_modal form button[type="submit"] {
      white-space: nowrap; }
    .customer_list_modal form button[type="submit"][name="add_to_list"] {
      margin-top: 20px; }
    .customer_list_modal form .form-submission-message {
      width: 100%;
      margin: 0 auto;
      padding-left: 48px;
      display: none;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      text-transform: uppercase;
      font-weight: 700; }
      .customer_list_modal form .form-submission-message::before {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        width: 28px;
        height: 28px;
        transform: translateY(-50%);
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 27 27'%3E%3Cpath d='M21.5,8A13.5,13.5,0,1,0,35,21.5,13.5,13.5,0,0,0,21.5,8Zm0,2.613A10.887,10.887,0,1,1,10.613,21.5,10.881,10.881,0,0,1,21.5,10.613M29.132,17.7l-1.227-1.237a.653.653,0,0,0-.924,0L19.287,24.1l-3.255-3.281a.653.653,0,0,0-.924,0l-1.237,1.227a.653.653,0,0,0,0,.924l4.942,4.982a.653.653,0,0,0,.924,0l9.395-9.32a.653.653,0,0,0,0-.924Z' transform='translate(-8 -8)' fill='%2301a0c6'/%3E%3C/svg%3E%0A") no-repeat center; }
    .customer_list_modal form.submit-success div.add-product,
    .customer_list_modal form.submit-success div.create-list {
      visibility: hidden; }
    .customer_list_modal form.submit-success span.form-submission-message {
      display: block; }
    @media screen and (min-width: 40em) {
      .customer_list_modal form button[type="submit"] {
        margin-top: 0;
        margin-left: 30px; }
      .customer_list_modal form button[type="submit"][name="add_to_list"] {
        margin-top: 0; } }
    @media screen and (min-width: 40em) {
      .customer_list_modal form div.add-product {
        display: flex; } }
    .customer_list_modal form div.create-list {
      display: none; }
      .customer_list_modal form div.create-list div {
        width: 100%;
        display: flex; }
        .customer_list_modal form div.create-list div input {
          min-width: 1px; }
      .customer_list_modal form div.create-list .back_to-add_to_list {
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        background: none;
        border: none;
        color: var(--c-secondary);
        text-decoration: underline; }
      .customer_list_modal form div.create-list input[type="text"] {
        width: 100%;
        margin-right: 20px;
        padding: 14px 16px;
        background-color: #F4F4F7;
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: var(--border-radius); }
    .customer_list_modal form.disable-go_back div.create-list .back_to-add_to_list {
      display: none; }
    .customer_list_modal form.as-create-list div.add-product {
      display: none; }
    .customer_list_modal form.as-create-list div.create-list {
      display: block; }
    .customer_list_modal form.as-create-list .form-submission-message {
      width: auto;
      left: 50%;
      transform: translateX(-50%);
      white-space: nowrap; }
  @media screen and (min-width: 40em) {
    .customer_list_modal .inner {
      display: grid;
      grid-gap: 0 50px;
      grid-template-columns: repeat(2, minmax(10px, 1fr)); }
      .customer_list_modal .inner span.model-title,
      .customer_list_modal .inner form.add-to-customer-list-form {
        grid-column: 1 / -1; }
      .customer_list_modal .inner span.model-title {
        margin-bottom: 50px; }
      .customer_list_modal .inner form.add-to-customer-list-form {
        margin: 0;
        grid-row: 2; }
      .customer_list_modal .inner .product-image-preview {
        margin: 0; } }
  @media screen and (min-width: 64em) {
    .customer_list_modal .inner {
      padding: 40px 60px 100px;
      position: relative;
      grid-template-rows: auto 100px 230px; }
      .customer_list_modal .inner .product-image-preview {
        grid-row: span 2;
        position: relative;
        border-radius: calc( var(--border-radius) * 2);
        overflow: auto; }
        .customer_list_modal .inner .product-image-preview img {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: 50% 50%;
             object-position: 50% 50%;
          font-family: 'object-fit'; }
      .customer_list_modal .inner form.add-to-customer-list-form {
        grid-row: 2;
        grid-column: 2; }
      .customer_list_modal .inner .product-summary {
        grid-row: 3;
        grid-column: 2;
        align-self: flex-end; } }

select.active[data-js-select] {
  display: none; }

.js-select {
  width: 100%;
  position: relative; }
  .js-select.dropdown-active .selected {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }
  .js-select.dropdown-active .dropdown {
    display: block; }
  .js-select .selected {
    padding: 14px 16px;
    position: relative;
    cursor: pointer;
    background-color: #F4F4F7;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius); }
    .js-select .selected span {
      width: 20px;
      height: 20px;
      position: absolute;
      top: calc( 50% - 10px);
      right: 15px;
      border-radius: var(--border-radius);
      background-color: var(--c-primary);
      text-align: center; }
      .js-select .selected span svg {
        display: inline-block; }
  .js-select .dropdown {
    --options-to-show: 4;
    width: 100%;
    max-height: calc( 8px + ( var(--options-to-show) * 34px ) + ( var(--options-to-show) * 8px ) + 71px);
    padding-top: 8px;
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    overflow: auto;
    background-color: #F4F4F7;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-top: 0;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius); }
    .js-select .dropdown > span {
      width: 100%;
      margin-bottom: 8px;
      padding: 8px 10px;
      display: block;
      cursor: pointer;
      font-size: 1rem;
      font-weight: 700; }
      .js-select .dropdown > span svg {
        margin-left: 8px;
        position: relative;
        top: 4px; }
      .js-select .dropdown > span[data-disabled] {
        opacity: .8;
        cursor: auto; }
        .js-select .dropdown > span[data-disabled] span {
          display: inline-block; }
      .js-select .dropdown > span:not([data-disabled]):hover {
        background-color: #fcfcfc; }
      .js-select .dropdown > span:last-child {
        margin-bottom: 0; }
    .js-select .dropdown button {
      width: 100%;
      padding: 16px 10px;
      position: sticky;
      left: 0;
      bottom: 0;
      cursor: pointer;
      background-color: var(--c-white);
      border: none;
      border-top: 1px solid #F4F4F7;
      text-align: left; }
      .js-select .dropdown button span {
        width: 34px;
        height: 34px;
        display: inline-block;
        border-radius: var(--border-radius);
        background-color: var(--c-secondary); }

ul.products {
  --column-count: 2;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-gap: 30px var(--site-gutter);
  grid-template-columns: repeat(var(--column-count), minmax(10px, 1fr)); }
  @media screen and (min-width: 40.625em) {
    ul.products {
      --column-count: 3; } }
  @media screen and (min-width: 64em) {
    ul.products {
      --column-count: 4; } }
  ul.products li.product:not(.product-category) {
    min-height: 340px;
    margin: 0;
    padding-bottom: 20px;
    text-align: center;
    border-bottom: 2px solid rgba(0, 0, 0, 0.15); }
    ul.products li.product:not(.product-category) .onsale {
      display: none; }
    ul.products li.product:not(.product-category) div.thumbnail-wrapper {
      overflow: hidden;
      border-radius: calc( var(--border-radius) * 2); }
      ul.products li.product:not(.product-category) div.thumbnail-wrapper img {
        transition: 300ms; }
    ul.products li.product:not(.product-category) h2, ul.products li.product:not(.product-category) h3 {
      margin-top: 30px;
      text-align: inherit;
      font-size: clamp(1.5rem, 5vw, 2rem ); }
    ul.products li.product:not(.product-category) span.product-category {
      font-weight: 700;
      font-size: clamp(1rem, 3vw, 1.125rem ); }
    ul.products li.product:not(.product-category) div.price-wrapper {
      margin-top: 12px;
      margin-bottom: 12px; }
    ul.products li.product:not(.product-category) span.stock-quantity {
      margin-top: 20px;
      padding: 2px 10px;
      background-color: var(--c-white); }
    ul.products li.product:not(.product-category) div.actions .button {
      --padding: 5px;
      width: 100%; }
      ul.products li.product:not(.product-category) div.actions .button:first-child {
        margin-bottom: 10px; }
    ul.products li.product:not(.product-category) > a {
      display: block; }
      ul.products li.product:not(.product-category) > a:hover img {
        transform: scale(1.1); }
      ul.products li.product:not(.product-category) > a:hover h2, ul.products li.product:not(.product-category) > a:hover h3 {
        text-decoration: underline; }
    @media screen and (min-width: 48em) {
      ul.products li.product:not(.product-category) {
        min-height: 440px; } }
    @media screen and (min-width: 64em) {
      ul.products li.product:not(.product-category) {
        min-height: 495px; }
        ul.products li.product:not(.product-category) div.actions {
          display: flex;
          justify-content: space-between; }
          ul.products li.product:not(.product-category) div.actions .button {
            width: 100%; }
            ul.products li.product:not(.product-category) div.actions .button.color-black {
              background-color: var(--c-black); }
            ul.products li.product:not(.product-category) div.actions .button:first-child {
              margin-bottom: 0;
              margin-right: 20px; } }

@media screen and (min-width: 40em) {
  ul.products {
    --column-count: 2;
    display: grid;
    grid-gap: 30px var(--site-gutter);
    grid-template-columns: repeat(var(--column-count), minmax(10px, 1fr)); } }

@media screen and (min-width: 48em) {
  ul.products {
    --column-count: 3; } }

ul.products li.product-category {
  margin-bottom: 30px; }
  ul.products li.product-category:last-child {
    margin-bottom: 0; }
  ul.products li.product-category a {
    width: 100%;
    padding-top: 67.7%;
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: calc( var(--border-radius) * 2); }
    ul.products li.product-category a:hover img {
      transform: scale(1.1); }
  ul.products li.product-category img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
    font-family: 'object-fit';
    transition: 300ms; }
  ul.products li.product-category h2 {
    width: 100%;
    padding: 0 10px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: 2rem;
    text-align: center;
    color: var(--c-white); }

body.aquarium-category ul.products div.thumbnail-wrapper {
  width: 100%;
  padding-top: 67.72%;
  position: relative; }
  body.aquarium-category ul.products div.thumbnail-wrapper img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
    font-family: 'object-fit'; }

@media screen and (min-width: 64em) {
  body.aquarium-category ul.products {
    --column-count: 3; } }

body.logged-in ul.products li.product {
  min-height: 400px; }
  @media screen and (min-width: 48em) {
    body.logged-in ul.products li.product {
      min-height: 510px; } }
  @media screen and (min-width: 64em) {
    body.logged-in ul.products li.product {
      min-height: 630px; } }

.section--product_loop {
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: var(--c-l-grey); }

.quantity {
  display: flex;
  align-items: center; }
  .quantity label {
    margin-right: 16px; }
  .quantity div {
    display: flex; }
  .quantity .qty {
    width: 34px;
    margin: 0 8px;
    text-align: center;
    background-color: #F4F4F7;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius);
    -moz-appearance: textfield; }
    .quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button {
      -webkit-appearance: none; }
  .quantity .qty-button {
    width: 34px;
    height: 34px;
    padding: 0;
    display: grid;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-radius: var(--border-radius);
    background-color: var(--c-primary);
    border: none; }
    .quantity .qty-button[disabled] {
      opacity: 0.5;
      cursor: default; }

span.stock-quantity {
  padding: 4px 10px;
  display: inline-block;
  border-radius: var(--border-radius);
  background-color: var(--c-white);
  line-height: var(--t-base-line-height);
  text-align: center; }
  span.stock-quantity.good {
    color: #2CC620; }
  span.stock-quantity.low {
    color: #C6A001; }
  span.stock-quantity.empty {
    color: #C60101; }

.woocommerce-notices-wrapper {
  max-width: calc( var(--container-width) + ( var(--site-margin) ));
  margin: 0 auto; }

.woocommerce-message {
  margin: 4px 0;
  padding: 20px;
  border-radius: var(--border-radius);
  background-color: #F4F4F7;
  border: 1px solid var(--c-secondary); }

.select2-container .select2-selection--single {
  height: 42px;
  margin: 0;
  border-radius: var(--border-radius);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #F4F4F7; }
  .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 42px; }
  .select2-container .select2-selection--single .select2-selection__arrow {
    height: 40px; }

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
  background-color: var(--c-secondary); }

.woocommerce-products-header {
  min-height: 200px;
  margin: 0;
  padding: 20px var(--site-gutter);
  z-index: 10;
  position: relative;
  text-align: center;
  border-bottom: 20px solid var(--c-primary);
  box-shadow: 0 6px 6px rgba(0, 0, 0, 0.05); }
  .woocommerce-products-header .page-title {
    margin-bottom: 10px;
    position: relative;
    z-index: 10;
    text-transform: uppercase;
    text-align: inherit; }
  .woocommerce-products-header p {
    max-width: none; }
  .woocommerce-products-header img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
    font-family: 'object-fit';
    z-index: 1; }

body.top-level-product-category .woocommerce-products-header {
  padding-top: 150px;
  padding-bottom: 150px;
  color: var(--c-white);
  text-align: left; }
  body.top-level-product-category .woocommerce-products-header h1,
  body.top-level-product-category .woocommerce-products-header p {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto; }

.woocommerce ul.categories li a {
  background-color: var(--c-white); }
  .woocommerce ul.categories li a[aria-current="page"] {
    background-color: var(--c-black);
    color: var(--c-white); }

body.top-level-product-category .section--product_loop {
  padding-top: 0; }
  body.top-level-product-category .section--product_loop .woocommerce-breadcrumb-wrapper {
    margin-bottom: 30px;
    padding-left: 0;
    padding-right: 0; }

figure.woocommerce-product-gallery__wrapper {
  margin: 0; }

.product-summary-wrapper {
  margin-bottom: 60px;
  padding-top: 50px; }

.woocommerce-product-gallery {
  margin-bottom: 40px;
  opacity: 1 !important; }
  .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    --column-count: 4;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(var(--column-count), minmax(10px, 1fr)); }
    @media screen and (min-width: 64em) {
      .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
        --column-count: 6;
        grid-gap: 40px 30px; } }
  .woocommerce-product-gallery .woocommerce-product-gallery__image {
    border-radius: var(--border-radius);
    overflow: auto; }
    .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
      grid-column: 1 / -1; }

div.product {
  padding: 0 var(--site-gutter); }
  div.product .summary h1.product_title {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.15);
    text-transform: uppercase; }
  div.product .woocommerce-product-details__short-description {
    margin-bottom: 18px; }
  div.product .stock-quantity {
    padding: 7px 10px;
    background-color: #F4F4F7; }
  div.product .product-summary-wrapper {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 64em) {
      div.product .product-summary-wrapper {
        display: grid;
        grid-gap: var(--site-gutter);
        grid-template-columns: repeat(12, minmax(10px, 1fr)); }
        div.product .product-summary-wrapper .woocommerce-product-gallery {
          grid-column: 1 / 8;
          max-width: 612px;
          margin-bottom: 0; }
        div.product .product-summary-wrapper .summary {
          grid-column: 8 / 13; } }

form.variations_form {
  max-width: 480px; }
  form.variations_form .variations {
    max-width: 380px;
    margin-bottom: 40px; }

.styled-radio-group {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(2, minmax(10px, 1fr)); }

.variation--styled-radio .label {
  margin-bottom: 20px;
  display: block;
  text-transform: uppercase; }

.styled-radio {
  position: relative; }
  .styled-radio input[type="radio"] {
    width: 1px;
    height: 1px;
    position: absolute;
    opacity: 0; }
    .styled-radio input[type="radio"]:checked + label {
      background-color: var(--c-black);
      color: var(--c-white); }
  .styled-radio label {
    padding: 10px;
    background-color: #F4F4F7;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: var(--border-radius);
    text-align: center;
    font-weight: 400; }

.woocommerce-variation-add-to-cart {
  max-width: 380px;
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(2, minmax(10px, 1fr)); }

.woocommerce-variation.single_variation {
  margin-bottom: 30px; }

.woocommerce-variation-price {
  font-size: 1.25rem;
  font-weight: 700; }

.woocommerce-variation-availability {
  display: none; }

.aquarium-product-sizes {
  max-width: var(--container-width);
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 0;
  text-align: center;
  border-top: 2px solid rgba(0, 0, 0, 0.15);
  border-bottom: 2px solid rgba(0, 0, 0, 0.15); }
  .aquarium-product-sizes h2 {
    margin-bottom: 50px;
    text-align: inherit;
    text-transform: uppercase; }
  .aquarium-product-sizes p {
    max-width: 41.25em;
    margin: 30px auto 0; }

.aquarium-sizes-large {
  display: flex;
  justify-content: center; }
  .aquarium-sizes-large button {
    margin: 0 8px;
    display: block;
    background: none;
    border: none; }

.section--product_additional_information {
  padding-bottom: 90px; }
  @media screen and (min-width: 40em) {
    .section--product_additional_information div.container, .section--product_additional_information .block--services div.block-heading, .block--services .section--product_additional_information div.block-heading {
      display: grid;
      grid-gap: var(--site-gutter);
      grid-template-columns: repeat(12, minmax(10px, 1fr)); }
    .section--product_additional_information .key-features {
      grid-column: 1 / 8; }
    .section--product_additional_information .specifications {
      grid-column: 8 / 13; }
    .section--product_additional_information .woocommerce-tabs {
      grid-column: 1 / -1; } }
  .section--product_additional_information h2 {
    margin-bottom: 40px; }
  .section--product_additional_information .key-features {
    margin-bottom: 50px; }
    .section--product_additional_information .key-features ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .section--product_additional_information .key-features ul li {
        position: relative;
        padding-left: 50px; }
        .section--product_additional_information .key-features ul li::before {
          content: '';
          display: block;
          position: absolute;
          top: 5px;
          left: 0;
          width: 26px;
          height: 15px;
          background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25.45' height='14.139' viewBox='0 0 25.45 14.139'%3E%3Cpath id='fish' d='M14.451,96C10.476,96,7,98.42,5.072,100.49L1.214,97.572a.735.735,0,0,0-1.2.648l1.068,4.85-1.069,4.85a.735.735,0,0,0,1.2.648l3.859-2.918c1.932,2.07,5.4,4.49,9.379,4.49,6.073,0,11-5.655,11-7.069S20.525,96,14.451,96Zm3.863,8.13a1.06,1.06,0,1,1,1.06-1.06A1.061,1.061,0,0,1,18.314,104.13Z' transform='translate(0.001 -96)' fill='%23333'/%3E%3C/svg%3E%0A") no-repeat center; }
  .section--product_additional_information .specifications {
    margin-bottom: 50px; }

.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0; }
  .woocommerce-tabs ul.tabs li.description_tab {
    max-width: 260px; }
    .woocommerce-tabs ul.tabs li.description_tab a {
      padding: 10px;
      display: block;
      background-color: #F4F4F7;
      text-align: center;
      border-top-left-radius: calc( var(--border-radius) * 2);
      border-top-right-radius: calc( var(--border-radius) * 2);
      background-color: var(--c-secondary);
      color: var(--c-white); }

.woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 40px 10px 30px;
  border: 1px solid #DBDCDD;
  border-bottom-left-radius: calc( var(--border-radius) * 2);
  border-bottom-right-radius: calc( var(--border-radius) * 2); }
  .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    margin-bottom: 20px; }

.woocommerce-product-attributes dt,
.woocommerce-product-attributes dd {
  display: inline-block; }

.woocommerce-product-attributes dt {
  font-weight: 700; }
  .woocommerce-product-attributes dt::after {
    content: ':'; }

.woocommerce-product-attributes dd {
  margin: 0; }

body.woocommerce-cart h1 {
  margin: 50px 0 30px;
  text-align: center; }

table.cart {
  margin-bottom: 30px; }
  table.cart tbody {
    border: 1px solid #EBEBEB; }
  table.cart td {
    padding-top: 30px;
    padding-bottom: 30px; }
  table.cart th {
    text-align: left;
    text-transform: uppercase; }
  table.cart .product-thumbnail {
    width: 64px;
    height: 64px; }
  table.cart .quantity label {
    display: none; }
  table.cart .actions {
    padding: 10px;
    text-align: right;
    background-color: var(--c-l-grey); }

table.shop_table td,
table.shop_table th {
  border: none; }

.cart-collaterals {
  max-width: 560px;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 30px; }
  .cart-collaterals h2 {
    padding: 16px;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center;
    background-color: var(--c-l-grey); }
  .cart-collaterals table td,
  .cart-collaterals table th {
    border: 1px solid #EBEBEB; }
  .cart-collaterals .wc-proceed-to-checkout {
    padding: 20px 30px;
    border: 1px solid #EBEBEB;
    border-top: none; }
    .cart-collaterals .wc-proceed-to-checkout a.button {
      width: 100%; }

body.woocommerce-checkout h1 {
  margin: 50px 0 30px;
  text-align: center; }

form.checkout {
  padding-top: 50px;
  padding-bottom: 90px;
  border-top: 1px solid #EBEBEB; }
  @media screen and (min-width: 64em) {
    form.checkout {
      display: grid;
      align-items: flex-start;
      grid-gap: var(--site-gutter);
      grid-template-columns: repeat(12, minmax(10px, 1fr)); }
      form.checkout div#customer_details {
        grid-column: 1 / 8; }
      form.checkout div#order_review {
        grid-column: 8 / 13;
        position: sticky;
        top: 20px; } }

form.checkout .form-row {
  margin-bottom: 15px; }
  form.checkout .form-row abbr {
    display: none; }
  form.checkout .form-row label {
    margin-bottom: 10px;
    font-weight: 400; }

form.checkout .input-text {
  width: 100%;
  padding: 6px 12px;
  background-color: #F4F4F7;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: var(--border-radius);
  line-height: 1.5; }

form.checkout .woocommerce-billing-fields > h3 {
  margin-bottom: 20px;
  font-size: 1.5rem; }

@media screen and (min-width: 40em) {
  form.checkout .woocommerce-billing-fields__field-wrapper {
    display: grid;
    align-items: flex-end;
    grid-gap: 30px;
    grid-template-columns: repeat(2, minmax(10px, 1fr)); }
  form.checkout .form-row {
    margin-bottom: 0; } }

.woocommerce-checkout-review-order {
  padding: 20px 0;
  background-color: var(--c-l-grey);
  border-radius: var(--border-radius); }
  .woocommerce-checkout-review-order h3 {
    padding: 0 30px 20px;
    border-bottom: 1px solid var(--c-white);
    font-size: 1.125rem; }
  .woocommerce-checkout-review-order table {
    width: calc( 100% - 60px);
    margin: 20px 30px; }
    .woocommerce-checkout-review-order table td, .woocommerce-checkout-review-order table th {
      text-align: left; }
  .woocommerce-checkout-review-order .woocommerce-checkout-payment {
    padding: 20px 30px 0;
    border-top: 1px solid var(--c-white); }
  .woocommerce-checkout-review-order button[type="submit"] {
    width: 100%;
    margin-top: 20px; }

.woocommerce-additional-fields {
  margin-top: 50px; }
  .woocommerce-additional-fields > h3 {
    font-size: 1.5rem; }

.checkout-terms {
  margin-top: 50px; }
  .checkout-terms > span {
    margin-top: 30px;
    margin-bottom: 20px;
    display: inline-block;
    font-weight: 700; }
    .checkout-terms > span:first-child {
      margin-top: 0; }

.woocommerce-account header.shiftr-wc-account-page-header {
  margin-bottom: 40px;
  padding: 30px 0;
  border-bottom: 2px solid rgba(0, 0, 0, 0.1); }
  .woocommerce-account header.shiftr-wc-account-page-header h1 {
    text-transform: uppercase;
    font-size: clamp(1.25rem, calc( 4vw + 10px), 1.625rem ); }
  @media screen and (min-width: 48em) {
    .woocommerce-account header.shiftr-wc-account-page-header {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .woocommerce-account header.shiftr-wc-account-page-header a.button {
        min-width: 150px;
        text-align: center; } }

.woocommerce-account .box {
  background-color: var(--c-l-grey);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px; }

.woocommerce-account .woocommerce-MyAccount-content {
  padding-bottom: 60px; }

.woocommerce-MyAccount-content h2 {
  margin-bottom: 16px;
  font-size: 1.125rem; }

.woocommerce_account-go_back {
  color: var(--c-secondary); }
  .woocommerce_account-go_back svg {
    margin-right: 8px; }
  .woocommerce_account-go_back span {
    text-decoration: underline; }
  .woocommerce_account-go_back:hover span {
    text-decoration: none; }

.woocommerce-form-row {
  margin-bottom: 20px;
  padding: 2px 16px;
  position: relative;
  background-color: var(--c-l-grey);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 5px; }
  .woocommerce-form-row label {
    font-weight: 700;
    font-size: 1.125rem; }
    .woocommerce-form-row label::after {
      content: ':'; }
  .woocommerce-form-row .woocommerce-Input {
    width: 90%;
    padding: 4px 10px;
    padding-left: 0;
    background: none;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    outline: none; }
  .woocommerce-form-row .edit {
    position: absolute;
    top: 8px;
    right: 8px;
    cursor: pointer;
    color: #01A0C6;
    background: none;
    border: none;
    transition: 300ms; }
    .woocommerce-form-row .edit span {
      text-decoration: underline; }
    .woocommerce-form-row .edit:hover span {
      text-decoration: none; }
    .woocommerce-form-row .edit[disabled] {
      opacity: 0; }
  .woocommerce-form-row.focus {
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.3); }
  @media screen and (min-width: 64em) {
    .woocommerce-form-row {
      display: flex;
      align-items: center; }
      .woocommerce-form-row label {
        margin-right: 8px;
        white-space: nowrap; }
      .woocommerce-form-row .woocommerce-Input {
        max-width: 460px;
        padding: 6px 10px; } }

.account-dashboard-section {
  margin-bottom: 40px; }
  .account-dashboard-section:last-child {
    margin-bottom: 0; }

.dashboard-section-head {
  position: relative; }
  .dashboard-section-head a.view-all {
    padding: 4px 0;
    padding-left: 20px;
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font-size: 1rem;
    color: var(--c-secondary);
    text-decoration: underline;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.966' height='10.644' viewBox='0 0 15.966 10.644'%3E%3Cpath d='M15.87,68.917A8.891,8.891,0,0,0,7.984,64,8.892,8.892,0,0,0,.1,68.918a.9.9,0,0,0,0,.809,8.89,8.89,0,0,0,7.887,4.917,8.892,8.892,0,0,0,7.887-4.918.9.9,0,0,0,0-.809Zm-7.887,4.4a3.992,3.992,0,1,1,3.992-3.992A3.992,3.992,0,0,1,7.984,73.314Zm0-6.653a2.642,2.642,0,0,0-.7.105A1.326,1.326,0,0,1,5.428,68.62a2.655,2.655,0,1,0,2.556-1.959Z' transform='translate(-0.001 -64)' fill='%2301a0c6'/%3E%3C/svg%3E%0A");
    background-position: left center;
    background-repeat: no-repeat; }
    .dashboard-section-head a.view-all:hover {
      text-decoration: none; }

@media screen and (min-width: 64em) {
  .account-dashboard-wrapper {
    display: flex;
    justify-content: space-between; }
    .account-dashboard-wrapper .account-dashboard-column {
      width: calc( 50% - 30px); } }

.account-dashboard-section.credit-account .box {
  margin-bottom: 20px;
  padding: 8px 16px; }
  .account-dashboard-section.credit-account .box > span:first-child {
    font-weight: 700; }
  .account-dashboard-section.credit-account .box:last-child {
    margin-bottom: 0; }

.account-dashboard-section.credit-account .woocommerce-Price-amount {
  color: var(--c-green); }

.woocommerce-Address {
  margin-bottom: 20px;
  padding: 8px 16px;
  position: relative; }
  .woocommerce-Address:last-child {
    margin-bottom: 0; }
  .woocommerce-Address h3 {
    font-size: 1.125rem; }
    .woocommerce-Address h3::after {
      content: ':'; }
  .woocommerce-Address .woocommerce-Address-title {
    margin-bottom: 10px; }
  .woocommerce-Address address {
    font-style: normal; }
  .woocommerce-Address .edit {
    position: absolute;
    top: 8px;
    right: 8px;
    cursor: pointer;
    color: #01A0C6;
    background: none;
    border: none;
    transition: 300ms; }
    .woocommerce-Address .edit span {
      text-decoration: underline; }
    .woocommerce-Address .edit:hover span {
      text-decoration: none; }
    .woocommerce-Address .edit[disabled] {
      opacity: 0; }

.woocommerce-address-fields .form-row {
  margin-bottom: 15px; }
  .woocommerce-address-fields .form-row abbr {
    display: none; }
  .woocommerce-address-fields .form-row label {
    margin-bottom: 10px;
    font-weight: 400; }

.woocommerce-address-fields .input-text {
  width: 100%;
  padding: 6px 12px;
  background-color: #F4F4F7;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: var(--border-radius);
  line-height: 1.5; }

.woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
  margin-bottom: 30px; }

@media screen and (min-width: 40em) {
  .woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
    display: grid;
    align-items: flex-end;
    grid-gap: 30px 15px;
    grid-template-columns: repeat(2, minmax(10px, 1fr)); }
  .woocommerce-address-fields .form-row {
    margin-bottom: 0; } }

ul.orders {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.orders li.order {
    margin: 0 0 20px;
    padding: 2px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    ul.orders li.order:last-child {
      margin-bottom: 0; }
    ul.orders li.order span.order-date {
      padding-left: 20px;
      display: block;
      font-weight: 700;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.471' height='13.109' viewBox='0 0 11.471 13.109'%3E%3Cpath d='M0,11.88a1.229,1.229,0,0,0,1.229,1.229h9.013a1.229,1.229,0,0,0,1.229-1.229V4.916H0ZM8.193,6.862A.308.308,0,0,1,8.5,6.555H9.525a.308.308,0,0,1,.307.307V7.886a.308.308,0,0,1-.307.307H8.5a.308.308,0,0,1-.307-.307Zm0,3.277A.308.308,0,0,1,8.5,9.832H9.525a.308.308,0,0,1,.307.307v1.024a.308.308,0,0,1-.307.307H8.5a.308.308,0,0,1-.307-.307ZM4.916,6.862a.308.308,0,0,1,.307-.307H6.247a.308.308,0,0,1,.307.307V7.886a.308.308,0,0,1-.307.307H5.223a.308.308,0,0,1-.307-.307Zm0,3.277a.308.308,0,0,1,.307-.307H6.247a.308.308,0,0,1,.307.307v1.024a.308.308,0,0,1-.307.307H5.223a.308.308,0,0,1-.307-.307ZM1.639,6.862a.308.308,0,0,1,.307-.307H2.97a.308.308,0,0,1,.307.307V7.886a.308.308,0,0,1-.307.307H1.946a.308.308,0,0,1-.307-.307Zm0,3.277a.308.308,0,0,1,.307-.307H2.97a.308.308,0,0,1,.307.307v1.024a.308.308,0,0,1-.307.307H1.946a.308.308,0,0,1-.307-.307Zm8.6-8.5H9.013V.41A.411.411,0,0,0,8.6,0H7.784a.411.411,0,0,0-.41.41V1.639H4.1V.41A.411.411,0,0,0,3.687,0H2.868a.411.411,0,0,0-.41.41V1.639H1.229A1.229,1.229,0,0,0,0,2.868V4.1H11.471V2.868A1.229,1.229,0,0,0,10.242,1.639Z' fill='%2301a0c6'/%3E%3C/svg%3E%0A");
      background-position: left center;
      background-repeat: no-repeat; }
    ul.orders li.order a {
      padding: 4px 0;
      padding-left: 20px;
      font-size: .75rem;
      display: block;
      color: var(--c-secondary);
      text-decoration: underline;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.966' height='10.644' viewBox='0 0 15.966 10.644'%3E%3Cpath d='M15.87,68.917A8.891,8.891,0,0,0,7.984,64,8.892,8.892,0,0,0,.1,68.918a.9.9,0,0,0,0,.809,8.89,8.89,0,0,0,7.887,4.917,8.892,8.892,0,0,0,7.887-4.918.9.9,0,0,0,0-.809Zm-7.887,4.4a3.992,3.992,0,1,1,3.992-3.992A3.992,3.992,0,0,1,7.984,73.314Zm0-6.653a2.642,2.642,0,0,0-.7.105A1.326,1.326,0,0,1,5.428,68.62a2.655,2.655,0,1,0,2.556-1.959Z' transform='translate(-0.001 -64)' fill='%2301a0c6'/%3E%3C/svg%3E%0A");
      background-position: left center;
      background-repeat: no-repeat; }
      ul.orders li.order a:hover {
        text-decoration: none; }

@media screen and (min-width: 48em) {
  body.woocommerce-orders ul.orders {
    display: grid;
    grid-gap: 20px 60px;
    grid-template-columns: repeat(12, minmax(10px, 1fr)); }
    body.woocommerce-orders ul.orders li.order {
      margin-bottom: 0;
      grid-column: span 6; } }

div.order-again {
  margin-top: 40px;
  text-align: right; }

ul.customer-lists li.customer-list button.remove,
ul.customer-lists li.add-customer-list button.remove, ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden],
ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden], div.list ul.list-items li.list-item button.remove {
  width: 40px;
  height: 40px;
  background-color: black;
  border-radius: 20px;
  border: none; }
  ul.customer-lists li.customer-list button.remove::before,
  ul.customer-lists li.add-customer-list button.remove::before, ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden]::before,
  ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden]::before, div.list ul.list-items li.list-item button.remove::before, ul.customer-lists li.customer-list button.remove::after,
  ul.customer-lists li.add-customer-list button.remove::after, ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden]::after,
  ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden]::after, div.list ul.list-items li.list-item button.remove::after {
    content: '';
    display: block;
    position: absolute;
    width: 50%;
    height: 10%;
    top: 45%;
    left: 25%;
    background-color: var(--c-primary);
    border-radius: 2px; }

ul.customer-lists {
  --column-count: 2;
  list-style: none;
  margin: 0 0 50px;
  padding: 0; }
  ul.customer-lists li.customer-list,
  ul.customer-lists li.add-customer-list {
    margin-bottom: 40px;
    padding-top: 50%;
    position: relative; }
    ul.customer-lists li.customer-list:last-child,
    ul.customer-lists li.add-customer-list:last-child {
      margin-bottom: 0; }
    ul.customer-lists li.customer-list:hover button.remove,
    ul.customer-lists li.add-customer-list:hover button.remove {
      display: block; }
    ul.customer-lists li.customer-list a,
    ul.customer-lists li.customer-list button#create-customer-list,
    ul.customer-lists li.add-customer-list a,
    ul.customer-lists li.add-customer-list button#create-customer-list {
      width: 100%;
      height: 100%;
      padding: 20px;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      position: absolute;
      top: 0;
      left: 0;
      cursor: pointer;
      background-color: #F7F7F7;
      border: 1px solid rgba(0, 0, 0, 0.1);
      border-radius: var(--border-radius);
      font-weight: 700;
      text-align: center;
      font-size: 1.5625rem;
      transition: 200ms ease-in-out; }
      ul.customer-lists li.customer-list a:hover,
      ul.customer-lists li.customer-list button#create-customer-list:hover,
      ul.customer-lists li.add-customer-list a:hover,
      ul.customer-lists li.add-customer-list button#create-customer-list:hover {
        box-shadow: 0 0 16px rgba(0, 0, 0, 0.16); }
      ul.customer-lists li.customer-list a span:not([aria-hidden]),
      ul.customer-lists li.customer-list button#create-customer-list span:not([aria-hidden]),
      ul.customer-lists li.add-customer-list a span:not([aria-hidden]),
      ul.customer-lists li.add-customer-list button#create-customer-list span:not([aria-hidden]) {
        width: 100%;
        display: block; }
    ul.customer-lists li.customer-list button.remove,
    ul.customer-lists li.add-customer-list button.remove {
      display: none;
      position: absolute;
      top: -20px;
      right: -10px;
      cursor: pointer; }
      ul.customer-lists li.customer-list button.remove::before,
      ul.customer-lists li.add-customer-list button.remove::before {
        transform: rotate(45deg); }
      ul.customer-lists li.customer-list button.remove::after,
      ul.customer-lists li.add-customer-list button.remove::after {
        transform: rotate(-45deg); }
    @media not all and (hover: hover) {
      ul.customer-lists li.customer-list button.remove,
      ul.customer-lists li.add-customer-list button.remove {
        display: block; } }
    ul.customer-lists li.customer-list button#create-customer-list,
    ul.customer-lists li.add-customer-list button#create-customer-list {
      border: none;
      border-radius: var(--border-radius);
      background-color: var(--c-black);
      color: var(--c-white);
      font-weight: inherit; }
      ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden],
      ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden] {
        margin: 0 auto;
        position: relative;
        top: 0;
        left: 0;
        background-color: var(--c-secondary); }
        ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden]::before, ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden]::after,
        ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden]::before,
        ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden]::after {
          content: '';
          display: block;
          position: absolute;
          width: 20px;
          height: 4px;
          top: calc( 50% - 2px);
          left: calc( 50% - 10px);
          background-color: var(--c-white); }
        ul.customer-lists li.customer-list button#create-customer-list span[aria-hidden]::after,
        ul.customer-lists li.add-customer-list button#create-customer-list span[aria-hidden]::after {
          transform: rotate(90deg); }
  @media screen and (min-width: 40em) {
    ul.customer-lists {
      display: grid;
      grid-gap: 40px var(--site-gutter);
      grid-template-columns: repeat(var(--column-count), minmax(10px, 1fr)); }
      ul.customer-lists li.customer-list,
      ul.customer-lists li.add-customer-list {
        margin-bottom: 0;
        padding-top: 61.6%; } }
  @media screen and (min-width: 64em) {
    ul.customer-lists {
      --column-count: 3; }
      ul.customer-lists li.customer-list button.remove,
      ul.customer-lists li.add-customer-list button.remove {
        right: -20px; } }
  @media screen and (min-width: 71.875em) {
    ul.customer-lists {
      --column-count: 4; } }

.customer-list-model {
  display: none; }
  .customer-list-model.visible {
    display: block; }

div.list {
  padding: 30px 10px;
  background-color: var(--c-l-grey); }
  div.list ul.list-items {
    list-style: none;
    margin: 0 0 30px;
    padding: 0 0 40px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.2); }
    div.list ul.list-items li.head {
      margin-bottom: 30px;
      display: flex;
      font-weight: 700; }
      div.list ul.list-items li.head span:first-child {
        padding-left: 34px;
        flex-grow: 2; }
      div.list ul.list-items li.head span:last-child {
        text-align: right; }
    div.list ul.list-items li.list-item {
      margin-bottom: 25px;
      position: relative;
      display: flex;
      align-items: center;
      font-size: 1rem; }
      div.list ul.list-items li.list-item:last-child {
        margin-bottom: 0; }
      div.list ul.list-items li.list-item button.remove {
        width: 24px;
        height: 24px;
        margin-right: 10px;
        position: relative;
        top: unset;
        left: unset;
        cursor: pointer; }
        div.list ul.list-items li.list-item button.remove::before {
          transform: rotate(45deg); }
        div.list ul.list-items li.list-item button.remove::after {
          transform: rotate(-45deg); }
      div.list ul.list-items li.list-item div.product-thumbnail {
        width: 80px;
        height: 80px; }
      div.list ul.list-items li.list-item h3 {
        margin: 0 10px;
        flex-grow: 2;
        font-size: inherit;
        font-weight: 400; }
        div.list ul.list-items li.list-item h3:hover {
          text-decoration: underline; }
      div.list ul.list-items li.list-item span.price {
        text-align: right; }
  div.list div.list-totals {
    text-align: right; }
  @media screen and (min-width: 40.625em) {
    div.list {
      padding: 40px 70px; }
      div.list ul.list-items {
        position: relative; }
        div.list ul.list-items::after {
          content: '';
          display: block;
          position: absolute;
          width: 2px;
          height: calc( 100% - 20px);
          top: 0;
          right: 30%;
          background-color: rgba(0, 0, 0, 0.2); }
        div.list ul.list-items li.head span:first-child {
          padding-left: 30px; }
        div.list ul.list-items li.head span:last-child {
          width: 30%;
          text-align: center; }
        div.list ul.list-items li.list-item button.remove {
          margin-left: -30px;
          margin-right: 30px; }
        div.list ul.list-items li.list-item h3 {
          margin: 0 30px; }
        div.list ul.list-items li.list-item span.price {
          width: 30%;
          text-align: center; } }

div.list-actions {
  margin-top: 40px; }
  div.list-actions div {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between; }
  @media screen and (min-width: 48em) {
    div.list-actions {
      display: flex;
      justify-content: space-between;
      flex-direction: row-reverse; }
      div.list-actions div {
        margin-bottom: 0; }
        div.list-actions div a.button:first-child:not(:last-child) {
          margin-right: 30px; } }

/*

    //  //// --|    Wordpress Core 

*/
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto; }

.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px; }

a img.alignnone {
  margin: 5px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center; }

.wp-caption.alignnone {
  margin: 5px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 5px 20px 20px 0; }

.wp-caption.alignright {
  margin: 5px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */ }

wp_error {
  display: block;
  position: fixed;
  background: white;
  padding: 4rem;
  z-index: 100000;
  margin: auto;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 0 500vw #444444aa;
  border: 8px solid red; }

/*

    //  //// --|    Accessibility

*/
@media screen and (prefers-reduced-motion: reduce), (update: slow) {
  * {
    -webkit-animation-duration: 0ms !important;
            animation-duration: 0ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0ms !important; } }

/*

    //  //// --|    Fixer

*/
.no-hero .has-text-align-center {
  text-align: center;
  margin: auto; }

.no-hero h1, .no-hero h1.has-text-align-center {
  margin-top: 5rem;
  margin-bottom: 4rem; }

.no-hero p {
  font-size: 16px;
  line-height: 30px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto; }

/*

    //  //// --|    Dev Tools

*/
.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box; }
  .glide * {
    box-sizing: inherit; }
  .glide__track {
    overflow: hidden; }
  .glide__slides {
    position: relative;
    width: 100%;
    list-style: none;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform-style: preserve-3d;
    touch-action: pan-Y;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    will-change: transform; }
    .glide__slides--dragging {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none; }
  .glide__slide {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    white-space: normal;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent; }
    .glide__slide a {
      -webkit-user-select: none;
              user-select: none;
      -webkit-user-drag: none;
      -moz-user-select: none;
      -ms-user-select: none; }
  .glide__arrows {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .glide__bullets {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .glide--rtl {
    direction: rtl; }

@-webkit-keyframes fade-up {
  0% {
    opacity: 0;
    transform: translateY(100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@keyframes fade-up {
  0% {
    opacity: 0;
    transform: translateY(100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@-webkit-keyframes fade-down {
  0% {
    opacity: 0;
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@keyframes fade-down {
  0% {
    opacity: 0;
    transform: translateY(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@-webkit-keyframes fade-left {
  0% {
    opacity: 0;
    transform: translateX(100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@keyframes fade-left {
  0% {
    opacity: 0;
    transform: translateX(100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@-webkit-keyframes fade-right {
  0% {
    opacity: 0;
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@keyframes fade-right {
  0% {
    opacity: 0;
    transform: translateX(-100%); }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
    transform: ""; }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@keyframes fade-in {
  0% {
    opacity: 0;
    transform: ""; }
  100% {
    opacity: 1;
    transform: translateX(0px); } }

@media (prefers-reduced-motion: no-preference) {
  .fade-up {
    -webkit-animation: fade-up 800ms ease-in-out 0s forwards;
            animation: fade-up 800ms ease-in-out 0s forwards; }
  [class*="__preanimate-fade-up"] {
    opacity: 0; }
  .fade-down {
    -webkit-animation: fade-down 800ms ease-in-out 0s forwards;
            animation: fade-down 800ms ease-in-out 0s forwards; }
  [class*="__preanimate-fade-down"] {
    opacity: 0; }
  .fade-left {
    -webkit-animation: fade-left 800ms ease-in-out 0s forwards;
            animation: fade-left 800ms ease-in-out 0s forwards; }
  [class*="__preanimate-fade-left"] {
    opacity: 0; }
  .fade-right {
    -webkit-animation: fade-right 800ms ease-in-out 0s forwards;
            animation: fade-right 800ms ease-in-out 0s forwards; }
  [class*="__preanimate-fade-right"] {
    opacity: 0; }
  .fade-in {
    -webkit-animation: fade-in 800ms ease-in-out 0s forwards;
            animation: fade-in 800ms ease-in-out 0s forwards; }
  [class*="__preanimate-fade-in"] {
    opacity: 0; } }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  [riAnimate], [riAnimate] * {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 1; } }

/*# sourceMappingURL=.maps/main.css.map */
