@charset "UTF-8";
/**
 * Configuration
 */
/* ////////////////////////////////////////////////
 *  Mixins
 * //////////////////////////////////////////////// */
/** Project-related mixins
--------------------------------------------------------- */
/** Typography
--------------------------------------------------------- */
/**
 * Fluid size based on specific ratios and depending by body font size
 *
 * @param $ratio-mobile
 * @param $ratio-desktop
 * @param $pow: multiplier
 * @param $invert: if true reduce sizes instead of increase
 */
/**
 * Fluid font size
 * from a specific min size to a specific max size
 *
 * https://css-tricks.com/books/volume-i/scale-typography-screen-size/
 * https://css-tricks.com/snippets/css/fluid-typography/
 * CSS Lock: https://blog.typekit.com/2016/08/17/flexible-typography-with-css-locks/
 * Seen here: https://www.wvth.nl/
 *
 * Usage: @include fluid-font-size(14px, 18px);
 */
/**
 * Font Face
 * https://gist.github.com/jonathantneal/d0460e5c2d5d7f9bc5e6
 *
 * @usage @include font-face("Akkurat", "../fonts/Akkurat-Bold-Italic", bold, italic, eot woff2 woff ttf svg);
 */
/**
 * Kerning
 */
/**
 * Link with border-bottom underline
 */
/**
 * First letter spacing
 */
/**
 * Reset lists default styles
 * ❌ Deprecated: Added as global reset in reset.scss
 */
/**
 * Reset outline
 */
/** Colors
--------------------------------------------------------- */
/**
 * Convert HEX color to RGB
 * https://medium.com/techhive-io/how-to-use-css-variables-with-sass-mixins-671e1f6067b3
 */
/**
 * Define CSS variable for HSL color
 * https://codyhouse.co/ds/docs/framework/mixins#colors
 *
 * @usage
 * @include defineVariableColorHSL(--color-primary-dark, 220, 90%, 49%);
 * @include defineVariableColorHSL(--color-primary, 220, 90%, 56%);
 * @include defineVariableColorHSL(--color-primary-light, 220, 90%, 63%);
 */
/** Grid
 *
 * https://www.appfocused.com/blog/css-grid-flexbox-fallback/
 * Fallback anlysis https://zellwk.com/blog/calendar-flexbox-fallback/
 * https://www.ethangardner.com/articles/2020/02/20/transition-to-css-grid-layouts-with-a-solid-fallback-strategy/
 * https://www.sitepoint.com/sass-multiple-arguments-lists-or-arglist/
--------------------------------------------------------- */
/**
 * grid
 * Build a grid using CSS grid fragment (fr) unit
 * Fallback for IE11 using Flex: recreate the same columns schema
 *
 * @param $breakpoints
 * @param $align-vertical
 * @param $gap-horizontal
 * @param $gap-vertical
 *
 * @usage
  @include grid(
    $breakpoints: [
      ['',   [1]]
      ['md', [1, 2]]
      ['lg', [3, 7, 2]]
      ['1350px', [3, 3, 2, 3]]
    ],
    $gap-horizontal: var(--space-xl),
    $gap-vertical: var(--space-xxl),
    $align-vertical: center,
  );
 */
/**
 * gridAuto
 * Build a grid using CSS grids auto column width
 * Fallback for IE11 using Flex: recreate the columns schema passed by
 *
 * @param $fallback-breakpoints: number of columns per row for each breakpoint
 * @param $fallback-justify-content: flex justify-content
 *
 * @param $repeat: auto-fit or auto-fill
 * @param $cols-min-width: min column width
 * @param $cols-max-width: max column width
 * @param $gap-horizontal
 * @param $gap-vertical
 *
 * @usage
  @include gridAuto(
    $repeat: auto-fill,
    $cols-min-width: 320px,
    $cols-max-width: 1fr,

    $gap-horizontal: var(--space-xl),
    $gap-vertical: var(--space-xxl),

    $fallback-breakpoints: [
      ['', 1],
      ['sm', 2],
      ['lg', 3],
    ],
    $fallback-justify-content: space-around
  );
 */
/** Spacings
--------------------------------------------------------- */
/**
 * Lobotomized owl
 * aka * + *
 *
 * $space
 * $element (css selector): element affected by spacing
 * $reset-margin (bool): force margin to 0
 */
/**
 * Vertical spaced elements
 */
/**
 * Horizontal spaced elements
 */
/** Carousels
--------------------------------------------------------- */
/**
 * Calculate slide width based on columns to occupy
 *
 * $columns_number: number of columns slides have to cover
 */
/**
 * Set width of the slides and space between slide
 */
/** Math
--------------------------------------------------------- */
/**
 * pow() - Raise number to the nth power
 *
 * @param {number} $base      The base number
 * @param {number} $exponents The exponent to which to raise $base
 *
 * https://gist.github.com/hail2u/1964056
 */
/** Misc
--------------------------------------------------------- */
/**
 * Fluid size
 * @param $min-size
 * @param $max-size
 */
/**
 * Overlay
 */
/**
 * Fill available height
 * With CSS fix for 100vh in mobile WebKit
 *
 * @link https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/
 * @link https://github.com/postcss/postcss-100vh-fix
 */
/**
 * Expand clickable area
 * https://ishadeed.com/article/clickable-area/
 * https://codepen.io/shadeed/pen/BXXjEg?editors=1100
 */
/**
 * Media queries
 * http://www.sitepoint.com/introduction-mobile-first-media-queries/
 * https://css-tricks.com/media-queries-sass-3-2-and-codekit/
 *
 * Usage: @include media(sm) { width: 60%; }
 */
/**
 * Centering absolutelly
 * It needs a "relative" parent
 * https://css-tricks.com/snippets/sass/centering-mixin/
 * http://goo.gl/YS3Unf
 *
 * Usage: @include centerer (true, false)
 */
/**
 * Centering with table
 */
/**
 * Split background color
 */
/**
 * Vertical hint + icon
 * ie: Scroll down
 */
/*
 * Video fullscreen as background
 *
 * Based on:
 * https://www.w3schools.com/howto/howto_css_fullscreen_video.asp
 * http://thenewcode.com/777/Create-Fullscreen-HTML5-Page-Background-Video
 *
 * Usage:
 * @include video-fullscreen(
 *   $cover: "false",
 *   $bp: "md",
 * );
 *
 * NB: if "$cover: true" => add "height: 100vh" to .hero
 * NB: if "$cover: false" => remove "height: 100vh" from .hero and add "display: block;" (remove flex)
 */
/**
 * Expand element outside its container
 *
 * This mixin will force an element to expand full width even if it has
 * a container. See demo here: http://codepen.io/sebastianekstrom/pen/vNjOao/
 *
 * Usage:
 *
 *      img {
 *          @include expand-full-width(16px)
 *      }
 */
/**
 * String replace
 * Required for font-face() mixin
 *
 * @link https://gist.github.com/jonathantneal/d0460e5c2d5d7f9bc5e6
 */
/* ////////////////////////////////////////////////////
 *	Fonts
 * //////////////////////////////////////////////////// */
/** Google Fonts
 *  ⚠️ Don't use font @import, not working on Safari
 *  https://stackoverflow.com/a/36884919/1252920
--------------------------------------------------------- */
/** Adobe Typekit
--------------------------------------------------------- */
/** font-face() mixin
--------------------------------------------------------- */
/** LineAwesome
--------------------------------------------------------- */
/** FontAwesome
--------------------------------------------------------- */
/** @font-face
--------------------------------------------------------- */
/* ////////////////////////////////////////////////////
 *	Variables
 * //////////////////////////////////////////////////// */
/** SCSS Variables
--------------------------------------------------------- */
/** CSS Custom Properties
--------------------------------------------------------- */
:root {
  /** Breakpoints
   *  They're defined in _mixins.scss in "Media queries"
   *  section.
  --------------------------------------------------------- */
  --bp-sm: 576;
  --bp-md: 768;
  --bp-lg: 992;
  --bp-xl: 1200;
  --bp-xxl: 1400;
  --bp-xxxl: 1600;
  --bp-menu: 992;
  /** Colors
  --------------------------------------------------------- */
  --color-base: #333333;
  --color-base-rgb: 51, 51, 51;
  --color-base-alpha: rgba(51, 51, 51, 0.8);
  --color-base-extra-alpha: rgba(51, 51, 51, 0.7);
  --color-base-muted: #999999;
  --color-base-light: #454545;
  --color-base-lighter: #666666;
  --color-base-dark: #212121;
  --color-base-darker: black;
  --color-primary: #00C1CF;
  --color-primary-rgb: 0, 193, 207;
  --color-primary-alpha: rgba(0, 193, 207, 0.8);
  --color-primary-extra-alpha: rgba(0, 193, 207, 0.7);
  --color-primary-muted: #9cf8ff;
  --color-primary-light: #00e2f3;
  --color-primary-lighter: #36f1ff;
  --color-primary-dark: #00a0ab;
  --color-primary-darker: #006269;
  --color-secondary: #ae9364;
  --color-secondary-rgb: 174, 147, 100;
  --color-secondary-alpha: rgba(174, 147, 100, 0.8);
  --color-secondary-extra-alpha: rgba(174, 147, 100, 0.7);
  --color-secondary-muted: #f4f0ea;
  --color-secondary-light: #baa37b;
  --color-secondary-lighter: #d1c2a7;
  --color-secondary-dark: #9d8152;
  --color-secondary-darker: #715d3b;
  --color-selection: rgba(0, 193, 207, 0.2);
  --white: #fff;
  --gray-3: #f7f7f7;
  --gray-5: #f2f2f2;
  --gray-7: #ededed;
  --gray-10: #e6e6e6;
  --gray-15: #d9d9d9;
  --gray-20: #cccccc;
  --gray-30: #b3b3b3;
  --gray-40: #999999;
  --gray-50: gray;
  --gray-60: #666666;
  --gray-70: #4d4d4d;
  --gray-80: #333333;
  --gray-90: #1a1a1a;
  --black: #000;
  --color-success: #88c459;
  --color-error: #f5414f;
  --color-warning: #ffd137;
  /** Fluid responsive ratio
   *
   *  Avoid breakpoint jumps. Acts from 20rem (320px) to --f-summit
   *
   *  Usage:
   *  font-size: calc(var(--f-2) * 40);
   *
   *  References:
   *  https://clearleft.com/posts/fluid-custom-properties
   *  CSS Locks: https://blog.typekit.com/2016/08/17/flexible-typography-with-css-locks/
   *  https://www.kelliekowalski.com/articles/the-myth-of-pixel-perfection
  --------------------------------------------------------- */
  --f-summit: 1920;
  --f-screen: 100vw;
  --f-foot: 1 / 16;
  --f-hill: (var(--f-screen) - 20rem) / (var(--f-summit) / 16 - 20) + var(--f-foot) * 1rem;
  --f-1-25: ((1.25 / 16 - var(--f-foot)) * var(--f-hill));
  --f-1-5: ((1.5 / 16 - var(--f-foot)) * var(--f-hill));
  --f-2: ((2 / 16 - var(--f-foot)) * var(--f-hill));
  --f-3: ((3 / 16 - var(--f-foot)) * var(--f-hill));
  /** Typography
  --------------------------------------------------------- */
  --font-primary: "Raleway", sans-serif;
  --font-secondary: "Playfair Display", serif;
  --f-body-min-font-size: 14;
  --f-body-max-font-size: 17;
  --f-body-gradient: (( (var(--f-body-max-font-size) / var(--f-body-min-font-size)) / 16 - var(--f-foot)) * var(--f-hill));
  --body-font-size: calc(var(--f-body-gradient) * var(--f-body-min-font-size));
  --text-xxxxxl-font-size: calc(calc(var(--f-body-min-font-size) * 2.2806973457) * calc(( (calc(var(--f-body-max-font-size) * 3.5831808) / calc(var(--f-body-min-font-size) * 2.2806973457)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-xxxxl-font-size: calc(calc(var(--f-body-min-font-size) * 2.0272865295) * calc(( (calc(var(--f-body-max-font-size) * 2.985984) / calc(var(--f-body-min-font-size) * 2.0272865295)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-xxxl-font-size: calc(calc(var(--f-body-min-font-size) * 1.8020324707) * calc(( (calc(var(--f-body-max-font-size) * 2.48832) / calc(var(--f-body-min-font-size) * 1.8020324707)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-xxl-font-size: calc(calc(var(--f-body-min-font-size) * 1.6018066406) * calc(( (calc(var(--f-body-max-font-size) * 2.0736) / calc(var(--f-body-min-font-size) * 1.6018066406)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-xl-font-size: calc(calc(var(--f-body-min-font-size) * 1.423828125) * calc(( (calc(var(--f-body-max-font-size) * 1.728) / calc(var(--f-body-min-font-size) * 1.423828125)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-lg-font-size: calc(calc(var(--f-body-min-font-size) * 1.265625) * calc(( (calc(var(--f-body-max-font-size) * 1.44) / calc(var(--f-body-min-font-size) * 1.265625)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-md-font-size: calc(calc(var(--f-body-min-font-size) * 1.125) * calc(( (calc(var(--f-body-max-font-size) * 1.2) / calc(var(--f-body-min-font-size) * 1.125)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-sm-font-size: calc(calc(var(--f-body-min-font-size) / 1.125) * calc(( (calc(var(--f-body-max-font-size) / 1.2) / calc(var(--f-body-min-font-size) / 1.125)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-xs-font-size: calc(calc(var(--f-body-min-font-size) / 1.265625) * calc(( (calc(var(--f-body-max-font-size) / 1.44) / calc(var(--f-body-min-font-size) / 1.265625)) / 16 - var(--f-foot)) * var(--f-hill)));
  --text-xxs-font-size: calc(calc(var(--f-body-min-font-size) / 1.423828125) * calc(( (calc(var(--f-body-max-font-size) / 1.728) / calc(var(--f-body-min-font-size) / 1.423828125)) / 16 - var(--f-foot)) * var(--f-hill)));
  --h1-font-size: var(--text-xxxl-font-size);
  --h2-font-size: var(--text-xxl-font-size);
  --h3-font-size: var(--text-xl-font-size);
  --h4-font-size: var(--text-lg-font-size);
  --h5-font-size: var(--text-md-font-size);
  --h6-font-size: var(--text-sm-font-size);
  --blockquote-font-size: var(--text-xl-font-size);
  --body-line-height: 1.5;
  --heading-line-height: 1.3;
  --body-line-adjust: 0;
  --heading-line-adjust: 0;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --body-font-weight: var(--font-weight-normal);
  --heading-font-weight: var(--font-weight-normal);
  --heading-color: var(--color-secondary);
  --body-color: var(--color-base);
  --link-color: var(--color-secondary);
  --link-visited-color: var(--link-color);
  --link-hover-color: var(--color-secondary-light);
  --link-focus-color: var(--link-hover-color);
  /** Spacings
   *
   * Custom spacing values:
   * What if you’re setting a margin on an element, and
   * space-sm looks too small, while space-md is too big?
   * ==> ie. margin-right: calc(var(--space-sm) * 1.1);
  --------------------------------------------------------- */
  --min-space: 25;
  --max-space: 50;
  --space-gradient: (((var(--max-space) / var(--min-space)) / 16 - var(--f-foot)) * var(--f-hill));
  --space-unit: calc(var(--space-gradient) * var(--min-space));
  --space-scale-ratio: 1.700;
  --space-md: calc(1 * var(--space-unit));
  --space-sm: calc(var(--space-md) / var(--space-scale-ratio));
  --space-xs: calc(var(--space-sm) / var(--space-scale-ratio));
  --space-xxs: calc(var(--space-xs) / var(--space-scale-ratio));
  --space-lg: calc(var(--space-md) * var(--space-scale-ratio));
  --space-xl: calc(var(--space-lg) * var(--space-scale-ratio));
  --space-xxl: calc(var(--space-xl) * var(--space-scale-ratio));
  --space-xxxl: calc(var(--space-xxl) * var(--space-scale-ratio));
  /** Containers
  --------------------------------------------------------- */
  --container-max-width: 1450px;
  --container-padding: var(--space-md);
  /** Grids
  --------------------------------------------------------- */
  --grid-gap-horizontal: var(--space-sm);
  --grid-gap-vertical: var(--space-sm);
  --grid-column-width: calc( (100% - 11*var(--grid-gap-horizontal)) / 12 );
  /** Buttons
  --------------------------------------------------------- */
  --btn-font-family: var(--font-primary);
  --btn-font-size: 1em;
  --btn-font-weight: var(--font-weight-normal);
  --btn-padding-x: 1.2em;
  --btn-padding-y: 1em;
  --btn-radius: 0.25em;
  --btn-primary-bg-color: var(--color-primary);
  --btn-primary-hover-color: var(--color-primary-alpha);
  --btn-primary-active-color: var(--color-primary-extra-alpha);
  --btn-primary-label-color: var(--white);
  --btn-disabled-bg-color: var(--gray-10);
  --btn-disabled-label-color: var(--gray-50);
  --btn-font-size-sm: calc(var(--btn-font-size) - 0.2em);
  --btn-font-size-lg: calc(var(--btn-font-size) + 0.2em);
  /** Forms
  --------------------------------------------------------- */
  --form-control-font-family: var(--font-primary);
  --form-control-font-size: 1em;
  --form-control-font-weight: var(--font-weight-normal);
  --form-control-color: var(--color-base);
  --form-control-padding-x: .65em;
  --form-control-padding-y: .65em;
  --form-control-bg-color: var(--white);
  --form-control-placeholder-color: var(--color-base-muted);
  --form-control-border-width: 1px;
  --form-control-border-color: var(--color-base-muted);
  --form-control-border-color-focus: var(--color-base);
  --form-control-border-radius: var(--btn-radius);
  --form-gap: var(--space-sm);
  --form-disabled-opacity: 0.3;
  --form-select-caret-bg-image: var(--icon-down);
  --form-checkbox-size: 23px;
  --form-checkbox-padding-start: 1.8em;
  --form-checkbox-checked-bg-image: var(--icon-check);
  --form-radio-checked-bg-image: var(--icon-radio);
  /** Cards
  --------------------------------------------------------- */
  --card-space: var(--space-xs);
  --card-border-width: 1px;
  --card-border-color: var(--color-primary);
  /** Header
  --------------------------------------------------------- */
  --logo-height: calc(40 * calc(( (65 / 40) / 16 - var(--f-foot)) * var(--f-hill)));
  --header-padding: var(--space-xs);
  --header-height: calc(var(--logo-height) + 2*var(--header-padding));
  --header-border-color: var(--gray-7);
  --top-bar-height: 2.5em;
  --header-total-height: calc(var(--header-height) + var(--top-bar-height));
  /** Section
  --------------------------------------------------------- */
  --section-padding: var(--space-lg);
  --section-gap: var(--section-padding);
  --section-border-color: var(--color-base-muted);
  /** Accordion
  --------------------------------------------------------- */
  --accordion-transition: var(--transition-duration) var(--transition-easing);
  --accordion-header-space-x: var(--space-sm);
  --accordion-header-space-y: var(--space-sm);
  --accordion-content-space: var(--accordion-header-space-y);
  --accordion-btn-icon-bg-image: var(--icon-plus);
  /** Icons
  --------------------------------------------------------- */
  --icon-down: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><!-- Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/></svg>");
  --icon-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='1000' viewBox='0 0 1000 1000'%3E%3Cpolygon points='470 837.66 530 837.66 530 554.92 812.74 554.92 812.74 494.92 530 494.92 530 212.18 470 212.18 470 494.92 187.26 494.92 187.26 554.92 470 554.92 470 837.66'/%3E%3C/svg%3E");
  --icon-check: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.71569 15L4 10L5.27451 8.55263L8.71569 12.1053L15.7255 5L17 6.31579L8.71569 15Z' fill='white'/%3E%3C/svg%3E%0A");
  --icon-radio: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='%23fff'/></svg>");
  /** z-index
  --------------------------------------------------------- */
  --z-index-loading: 60;
  --z-index-cursor: 50;
  --z-index-cookie-bar: 40;
  --z-index-modal: 30;
  --z-index-nav: 25;
  --z-index-header: 20;
  /** Transition
  --------------------------------------------------------- */
  --transition-easing: cubic-bezier(0.25, 1, 0.5, 1);
  --transition-duration: .6s;
  /** Misc
  --------------------------------------------------------- */
  --body-bg-color: var(--white);
  --border-color: var(--gray-10);
  --image-placeholder-bg-color: white;
  --menu-link-space: var(--space-xs);
  --border-radius: 0.6em;
  --scrollbar-width: 0;
  --size-0vw: 0vw;
  --size-100vw: calc(100vw - var(--scrollbar-width) * 1px);
  --size-container-margin-auto: calc(var(--size-100vw)/2 - 50%);
}
@media (min-width: 1920px) {
  :root {
    --f-screen: calc(var(--f-summit) * 1px);
  }
}

/** Dark theme
 *  https://css-tricks.com/a-complete-guide-to-dark-mode-on-the-web/
--------------------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 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 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 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 */
}

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 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 in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

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

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ////////////////////////////////////////////////
 *  Reset
 *  https://elad.medium.com/normalize-css-or-css-reset-9d75175c5d1e
 * //////////////////////////////////////////////// */
/** Universal Box Sizing
 *  https://css-tricks.com/box-sizing/
--------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

/** Remove highlight color (transparent gray) on
 *  tapped elements (mobile/iOS)
 *  https://stackoverflow.com/a/45050338/1252920
 *  https://apple.co/3ssJaMj
--------------------------------------------------------- */
* {
  -webkit-tap-highlight-color: transparent;
}

/** Forms
--------------------------------------------------------- */
input, textarea, select, button {
  font: inherit;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

textarea {
  display: block;
}

/** Buttons
--------------------------------------------------------- */
button {
  margin: 0;
  padding: 0;
  border: none;
  color: inherit;
  background: none;
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
}

/** Links
--------------------------------------------------------- */
a {
  text-decoration: none;
  word-break: break-word;
}
a:visited {
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: none;
}

/** Images
--------------------------------------------------------- */
img {
  display: block;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

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

/** Lists
--------------------------------------------------------- */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/** Blockquote
--------------------------------------------------------- */
blockquote {
  margin: 0;
}

/** Address
--------------------------------------------------------- */
address {
  font-style: initial;
}

/**
 * External dependencies
 *
 * Prefix your imports with `~` to grab from node_modules/
 * @see https://github.com/webpack-contrib/sass-loader#imports
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-container-pointer-events {
  touch-action: pan-y;
}
.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}
.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px;
}
.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}
.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}
.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
  --swiper-navigation-color: #ffffff;
}

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
  --swiper-navigation-color: #000000;
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #000;
  opacity: 0.2;
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}
.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}
.swiper-container-vertical > .swiper-pagination-progressbar, .swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff;
}

.swiper-pagination-black {
  --swiper-pagination-color: #000000;
}

.swiper-pagination-lock {
  display: none;
}

/**
 * Base
 */
/* ////////////////////////////////////////////////
 *  Base
 * //////////////////////////////////////////////// */
/** Selection color
--------------------------------------------------------- */
::selection {
  background: var(--color-selection);
}

/** Html
--------------------------------------------------------- */
/** Body
--------------------------------------------------------- */
body {
  overflow-x: hidden;
  background: var(--body-bg-color);
  padding-top: calc(var(--header-height) + var(--top-bar-height));
}

/**
 * Fix Safari bug with viewport units in calc()
 * Force Safari to repaint page while resizing, needed for
 * fluid elements using vw unit.
 * TO IMPROVE: is this the best solution?
 *
 * Useful links
 * https://codepen.io/martinwolf/pen/yKgagE
 * https://www.google.com/search?sxsrf=ALeKk01b5jOFCRtKp3EQ4Q88ODyGuHALoA%3A1603901598092&ei=npiZX5ChBYS3kwW21bnoBA&q=fluid+typography+safari&oq=fluid+typography+safari&gs_lcp=CgZwc3ktYWIQAzIFCCEQoAE6BAgAEEc6BQgAEMsBOgYIABAWEB5QuBpY1yBglyFoAHADeACAAegBiAGeBZIBBTAuNC4xmAEAoAEBqgEHZ3dzLXdpesgBCMABAQ&sclient=psy-ab&ved=0ahUKEwiQ6IiI19fsAhWE26QKHbZqDk0Q4dUDCA0&uact=5
 * https://css-tricks.com/snippets/css/fluid-typography/
 */
body.is-safari * {
  min-height: var(--size-0vw);
}

/**
 * Testing
 */
/** Main
--------------------------------------------------------- */
main > article > * + * {
  margin-top: var(--section-gap);
}

/* ////////////////////////////////////////////////
 *  Typography
 * //////////////////////////////////////////////// */
/** Body
--------------------------------------------------------- */
body, .body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: var(--font-primary);
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  font-weight: var(--body-font-weight);
  color: var(--body-color);
}

p {
  margin-top: var(--body-line-adjust);
  margin-bottom: var(--body-line-adjust);
}

.text-lg, .lead {
  font-size: var(--text-lg-font-size);
}

small, .text-sm {
  font-size: var(--text-sm-font-size);
}

.text-xs {
  font-size: var(--text-xs-font-size);
}

.text-xxs {
  font-size: var(--text-xxs-font-size);
}

.text-muted {
  color: var(--color-base-muted);
}

blockquote {
  font-size: var(--blockquote-font-size);
  font-weight: var(--font-weight-normal);
  line-height: var(--heading-line-height);
  text-align: center;
}

/** Heading
--------------------------------------------------------- */
.heading {
  font-family: var(--font-secondary);
  line-height: var(--heading-line-height);
  font-weight: var(--heading-font-weight);
  color: var(--heading-color);
  word-break: break-word;
  margin-top: var(--heading-line-adjust);
  margin-bottom: var(--heading-line-adjust);
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font-secondary);
  line-height: var(--heading-line-height);
  font-weight: var(--heading-font-weight);
  color: var(--heading-color);
  word-break: break-word;
  margin-top: var(--heading-line-adjust);
  margin-bottom: var(--heading-line-adjust);
}

/*
 * Specific heading style
 */
h1, .h1 {
  font-size: var(--h1-font-size);
}

h2, .h2 {
  font-size: var(--h2-font-size);
}

h3, .h3 {
  font-size: var(--h3-font-size);
}

h4, .h4 {
  font-size: var(--h4-font-size);
}

h5, .h5 {
  font-size: var(--h5-font-size);
}

h6, .h6 {
  font-size: var(--h6-font-size);
}

/** Links
--------------------------------------------------------- */
p a,
a.link,
button.link,
.is-content a,
main a:not(.btn):not(.is-img-link):not(.text-muted) {
  color: var(--link-color);
  transition: color var(--transition-easing) var(--transition-duration);
}
p a:visited, p a:focus,
a.link:visited,
a.link:focus,
button.link:visited,
button.link:focus,
.is-content a:visited,
.is-content a:focus,
main a:not(.btn):not(.is-img-link):not(.text-muted):visited,
main a:not(.btn):not(.is-img-link):not(.text-muted):focus {
  color: var(--link-visited-color);
}
p a:hover,
a.link:hover,
button.link:hover,
.is-content a:hover,
main a:not(.btn):not(.is-img-link):not(.text-muted):hover {
  color: var(--link-hover-color);
}

/** Menu links
--------------------------------------------------------- */
.menu > ul > li a {
  font-weight: var(--font-weight-bold);
  color: var(--color-base);
  transition: color var(--transition-easing) var(--transition-duration);
}
@media (min-width: 992px) {
  .menu > ul > li a {
    font-size: var(--text-sm-font-size);
  }
}
.menu > ul > li a:visited, .menu > ul > li a:focus {
  color: var(--color-base);
}
.menu > ul > li a:hover {
  color: var(--color-secondary);
}

/** Lists
--------------------------------------------------------- */
.is-content ul,
.is-content ol {
  padding-left: 2.5em;
}
.is-content ul > * + *,
.is-content ol > * + * {
  margin-top: var(--space-xs);
}
.is-content ul {
  list-style-type: disc;
}
.is-content ol {
  list-style-type: decimal;
}

/* Custom bullets */
/** HR
--------------------------------------------------------- */
hr {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  border: 0;
  border-top: 1px solid var(--gray-5);
}

/* ////////////////////////////////////////////////////
 *	Content styles
 * //////////////////////////////////////////////////// */
.is-content {
  /** Spacings
  --------------------------------------------------------- */
  /** Containers
  --------------------------------------------------------- */
  /** Typography
  --------------------------------------------------------- */
  /** Blocks
  --------------------------------------------------------- */
  /** Responsive embeds
   *  https://torquemag.io/2020/07/make-embeds-responsive-wordpress/
  --------------------------------------------------------- */
}
.is-content > * + * {
  margin-top: var(--space-md);
}
.is-content p + p,
.is-content p + ul, .is-content ul + p,
.is-content p + ol, .is-content ol + p,
.is-content .core-heading + p {
  margin-top: var(--space-sm);
}
.is-content > *:first-child {
  margin-top: 0 !important;
}
article.article .is-content > *:not(.slideshow-with-thumbs) {
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  width: 100%;
  max-width: 60em;
}
.is-content .core-heading:not(:first-child),
.is-content h1:not(:first-child), .is-content h2:not(:first-child), .is-content h3:not(:first-child),
.is-content h4:not(:first-child), .is-content h5:not(:first-child), .is-content h6:not(:first-child) {
  margin-top: 3em;
}
.is-content .core-heading > *,
.is-content > h1, .is-content > h2, .is-content > h3, .is-content > h4, .is-content > h5, .is-content > h6 {
  margin-bottom: 0em;
}
.is-content ul, .is-content ol {
  padding-left: calc(var(--container-padding) * 2);
}
.is-content iframe.instagram-media {
  margin-left: auto !important;
  margin-right: auto !important;
}
.is-content .wp-block-embed > .wp-block-embed__wrapper {
  overflow: hidden;
  position: relative;
}
.is-content .wp-block-embed > .wp-block-embed__wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.is-content .wp-block-embed.is-type-video > .wp-block-embed__wrapper,
.is-content .wp-block-embed.is-provider-youtube > .wp-block-embed__wrapper,
.is-content .wp-block-embed.is-provider-vimeo > .wp-block-embed__wrapper {
  padding-top: 56.25%;
}
.is-content .wp-block-embed.wp-embed-aspect-16-9 > .wp-block-embed__wrapper {
  padding-top: 56.25%;
}
.is-content .wp-block-embed.wp-embed-aspect-4-3 > .wp-block-embed__wrapper {
  padding-top: 75%;
}

/**
 * Layout
 */
/* ////////////////////////////////////////////////
 *  Containers
 *  https://ishadeed.com/article/styling-wrappers-css/
 *  https://css-tricks.com/best-way-implement-wrapper-css/
 *  https://css-tricks.com/full-width-containers-limited-width-parents/
 * //////////////////////////////////////////////// */
/** Classes
--------------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}
@media (min-width: 576px) {
  .woocommerce-account:not(.logged-in) main > article > .container, .container--lg {
    max-width: 60em;
  }
}
@media (min-width: 576px) {
  .container--md {
    max-width: 45em;
  }
}
@media (min-width: 576px) {
  .woocommerce-lost-password main > article > .container, .container--sm {
    max-width: 32em;
  }
}
.container--fluid {
  width: 100%;
  max-width: none;
}

.container--align-left {
  margin-left: 0;
  margin-right: auto;
}

/* ////////////////////////////////////////////////
 *  Grids
 * //////////////////////////////////////////////// */
/**
 * Legend:
 * -: column
 * g: gutter
 * o: offset
 */
/**
 * |------|------|
 */
.grid--6-6 {
  display: grid;
  grid-gap: var(--space-md) var(--grid-gap-horizontal);
}
@media (min-width: 992px) {
  .grid--6-6 {
    grid-template-columns: 6fr 6fr;
  }
}

/**
 * |----|----|----|
 */
.grid--4-4-4 {
  display: grid;
  grid-gap: var(--space-lg) var(--grid-gap-horizontal);
}
@media (min-width: 768px) {
  .grid--4-4-4 {
    grid-template-columns: 4fr 4fr 4fr;
  }
}

/**
 * |---|---|---|---|
 */
.grid--3-3-3-3 {
  display: grid;
  grid-gap: var(--space-md) var(--grid-gap-horizontal);
}
@media (min-width: 768px) {
  .grid--3-3-3-3 {
    grid-template-columns: 3fr 3fr 3fr 3fr;
  }
}

/**
 * |------|g|-----|
 */
.grid--6-1-5 {
  display: grid;
  grid-gap: var(--space-lg) var(--grid-gap-horizontal);
}
@media (min-width: 768px) {
  .grid--6-1-5 {
    grid-template-columns: repeat(12, 1fr);
  }
  .grid--6-1-5 > div:first-child {
    grid-column: 1/7;
  }
  .grid--6-1-5 > div:last-child {
    grid-column: 8/13;
  }
  .grid--6-1-5 .grid__cell--offset {
    margin-top: var(--space-xxl);
  }
}

/**
 * |ooooo|-------|
 */
/** Grids with IE fallback mixin
--------------------------------------------------------- */
/**
 * |--|-----|-----|
 */
/**
 * |---|---|---|...
 * |---|---|---|...
 * |---|...
 */
/* ////////////////////////////////////////////////
 *  Footer
 * //////////////////////////////////////////////// */
.footer {
  clear: both;
  margin-top: var(--section-gap);
  background-color: #000;
  color: var(--white);
}
.footer a {
  font-weight: var(--font-weight-bold);
  color: var(--color-base-light);
  transition: color var(--transition-easing) var(--transition-duration);
}
.footer a:visited, .footer a:focus {
  color: var(--color-base-light);
}
.footer a:hover {
  color: var(--color-secondary);
}

.footer__main {
  padding: var(--space-md) 0;
  font-size: var(--text-sm-font-size);
}

.footer__bottom {
  font-size: var(--text-xs-font-size);
  padding: var(--space-md) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.footer__logo {
  display: inline-block;
  margin-bottom: var(--space-xs);
}

.footer__logo-img {
  height: 6.5em;
  width: auto;
}

.footer__menu {
  column-count: 3;
  column-gap: var(--space-sm);
}
.footer__menu > ul > li {
  margin-bottom: var(--space-xxs);
}

.footer__social > *:not(:last-child) {
  margin-right: var(--space-xxs);
}

/* ////////////////////////////////////////////////
 *  Header
 * //////////////////////////////////////////////// */
.header {
  position: absolute;
  z-index: var(--z-index-header);
  top: var(--top-bar-height);
  left: 0;
  width: 100%;
  border-bottom: 1px solid var(--header-border-color);
  background: white;
  will-change: transform;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
}
body.design-system .header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: var(--z-index-header);
}
.header.is-fixed {
  position: fixed;
  top: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.header.is-small {
  --logo-height: 2em;
  --header-height: 4.5em;
}
.header > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

/** Top bar
--------------------------------------------------------- */
.top-bar {
  position: absolute;
  z-index: calc(var(--z-index-nav) + 1);
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  height: var(--top-bar-height);
  background: white;
  border-bottom: 1px solid var(--header-border-color);
}
.top-bar > .container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/** Notice bar
--------------------------------------------------------- */
.notice-bar {
  background-color: var(--color-primary);
  color: white;
  width: 100%;
  padding: var(--space-xxs) 0;
}
.notice-bar > .container {
  text-align: center;
}

/** Sub-elements
--------------------------------------------------------- */
/**
 * Logo
 */
.logo {
  display: inline-block;
  position: relative;
  z-index: var(--z-index-header-logo);
}

.logo__img {
  height: var(--logo-height) !important;
  width: auto;
  transform: scale(1.000001);
}

/**
 * Menu
 */
/**
 * Mobile buttons
 */
.header__buttons-mobile {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
@media (min-width: 992px) {
  .header__buttons-mobile {
    display: none;
  }
}

.menu-btn {
  z-index: 0;
  position: relative;
  z-index: calc(var(--z-index-nav) + 1);
  font-size: 2.5em;
}
.menu-btn:after {
  content: "";
  position: absolute;
  left: calc(-1 * var(--space-sm));
  top: calc(-1 * var(--space-sm));
  right: calc(-1 * var(--space-sm));
  bottom: calc(-1 * var(--space-sm));
  z-index: -1;
}
.menu-btn > svg {
  display: none;
}
.menu-btn > svg.is-visible {
  display: block;
}

/**
 * Search button
 */
.search-btn {
  display: inline-flex;
  color: var(--link-color);
  margin-top: 0.2em;
}

/**
 * Account + Cart lnk
 */
@media (min-width: 992px) {
  .header .wc-account-link {
    margin-left: var(--menu-link-space);
    padding-left: calc(var(--menu-link-space)*2);
    border-left: 1px solid var(--header-border-color);
  }
}

@media (max-width: 991px) {
  li.header__cart-desktop-wrap {
    display: none;
  }
}

@media (max-width: 991px) {
  a.header__cart-link {
    display: flex !important;
    align-items: center;
  }
}
a.header__cart-link svg {
  width: 1.4em;
  height: auto;
  fill: var(--color-base);
  transition: fill ease 0.3s;
}
a.header__cart-link:hover svg {
  fill: var(--color-secondary);
}
a.header__cart-link span {
  background-color: var(--color-secondary);
  color: white;
  border-radius: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 2em;
  font-size: 10px;
  margin-left: 0.5em;
  padding-bottom: 2px;
}

/**
 * Forms
 */
/* ////////////////////////////////////////////////
 *  Form base
 * //////////////////////////////////////////////// */
/** Basic forms styles
 *  based on:
 *  https://codyhouse.co/ds/globals/forms
 *  https://github.com/CodyHouse/codyhouse-framework/blob/master/main/assets/css/base/_forms.scss
 *  https://github.com/CodyHouse/codyhouse-framework/blob/master/main/assets/css/custom-style/_forms.scss
--------------------------------------------------------- */
form.form > * + * {
  margin-top: var(--form-gap);
}

/** Form group
--------------------------------------------------------- */
.form-group > * + * {
  margin-top: var(--space-xxs);
}

/** Label
--------------------------------------------------------- */
label,
.form-label {
  display: block;
  font-size: var(--text-sm-font-size);
  margin-top: var(--body-line-adjust);
  margin-bottom: 0.5em;
}

.asterisk {
  color: var(--color-error);
  font-size: 2em;
  line-height: 0;
  font-weight: normal;
  position: relative;
  top: 10px;
}

/** Form messages
--------------------------------------------------------- */
.form-hint {
  font-size: var(--text-sm-font-size);
  color: var(--color-base-muted);
}

.form-validation-msg,
.wpcf7-not-valid-tip {
  font-size: var(--text-sm-font-size);
  color: var(--color-error);
}

/* ////////////////////////////////////////////////
 *  Form check
 * //////////////////////////////////////////////// */
/**
 * Styled checkbox / radio
 * Based on Bootstrap 5
 *
 * @link https://github.com/twbs/bootstrap/blob/main/scss/forms/_form-check.scss
 *
 * @usage
   <div class="form-check">
    <input class="form-check__input" type="checkbox" value="" id="checkboxExample1">
    <label class="form-check__label" for="checkboxExample1">Styled checkbox</label>
  </div>

  <div class="form-check">
    <input class="form-check__input" type="radio" name="radioExample" id="radioExample1">
    <label class="form-check__label" for="radioExample1">Styled radio</label>
  </div>
 *
--------------------------------------------------------- */
.form-check {
  display: flex;
  align-items: flex-start;
  min-height: var(--form-checkbox-size);
  padding-left: var(--form-checkbox-padding-start);
}
.form-check .form-check__input {
  margin-left: calc(-1 * var(--form-checkbox-padding-start));
}

.form-check__input {
  flex: 0 0 var(--form-checkbox-size);
  width: var(--form-checkbox-size);
  height: var(--form-checkbox-size);
  vertical-align: top;
  background-color: var(--form-control-bg-color);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--form-control-border-width) solid var(--form-control-border-color);
  -webkit-appearance: none;
          appearance: none;
  -webkit-print-color-adjust: exact;
          color-adjust: exact;
}
.form-check__input[type=checkbox] {
  border-radius: var(--form-control-border-radius);
}
.form-check__input[type=radio] {
  border-radius: 50%;
}
.form-check__input:focus {
  border-color: var(--color-primary-light);
  outline: 0;
}
.form-check__input:checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.form-check__input:checked[type=checkbox] {
  background-image: var(--form-checkbox-checked-bg-image);
}
.form-check__input:checked[type=radio] {
  background-image: var(--form-radio-checked-bg-image);
}
.form-check__input:disabled {
  pointer-events: none;
  filter: none;
  opacity: var(--form-disabled-opacity);
}
.form-check__input[disabled] ~ .form-check__label, .form-check__input:disabled ~ .form-check__label {
  opacity: var(--form-disabled-opacity);
}
.form--white .form-check__input, .form--white .form-check__input:checked {
  border-color: var(--white);
}

.form-check__label {
  font-size: var(--text-sm-font-size);
  margin-bottom: 0;
  margin-left: var(--space-xs);
  margin-top: calc(1 * calc(( (0 / 1) / 16 - var(--f-foot)) * var(--f-hill)));
}

/* ////////////////////////////////////////////////
 *  Form control
 * //////////////////////////////////////////////// */
/** Form control
--------------------------------------------------------- */
input[type=text],
input[type=number],
input[type=email],
input[type=password],
input[type=tel],
textarea,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.form-control {
  -webkit-appearance: none;
          appearance: none;
  font-family: var(--form-control-font-family);
  font-size: var(--form-control-font-size);
  font-weight: var(--form-control-font-weight);
  color: var(--form-control-color);
  padding-top: var(--form-control-padding-y);
  padding-bottom: var(--form-control-padding-y);
  padding-left: var(--form-control-padding-x);
  padding-right: var(--form-control-padding-x);
  border-radius: var(--form-control-border-radius);
  background-color: var(--form-control-bg-color);
  border: var(--form-control-border-width) solid var(--form-control-border-color);
  width: 100%;
  transition: border-color var(--transition-easing) var(--transition-duration);
}
input[type=text]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=tel]:focus,
textarea:focus,
.woocommerce-cart table.cart td.actions .coupon .input-text:focus,
.form-control:focus {
  outline: none;
  border-color: var(--form-control-border-color-focus);
}

.form-control--disabled,
.form-control[disabled],
.form-control[readonly] {
  cursor: not-allowed;
}

/**
 * Placeholder color
 *
 * Notice: do not group these rules (a group of selectors
 * containing an invalid selector is invalid)
 *
 * @link https://stackoverflow.com/a/2610741/1252920
--------------------------------------------------------- */

.wpcf7-form ::placeholder,
::placeholder {
  color: var(--form-control-placeholder-color);
}

/* ////////////////////////////////////////////////
 *  Form select
 * //////////////////////////////////////////////// */
/**
 * Styled select
 * Based on Bootstrap 5
 *
 * @link https://github.com/twbs/bootstrap/blob/main/scss/forms/_form-select.scss
 *
 * @usage
  <select class="form-select" aria-label="Default select example">
    <option selected>Open this select menu</option>
    <option value="1">One</option>
    <option value="2">Two</option>
    <option value="3">Three</option>
  </select>
 *
--------------------------------------------------------- */
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations select,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.form-select {
  display: block;
  width: 100%;
  padding: var(--form-control-padding-y) calc(var(--form-control-padding-y) * 2) var(--form-control-padding-y) var(--form-control-padding-y);
  font-family: var(--form-control-font-family);
  font-size: var(--form-control-font-size);
  font-weight: var(--form-control-font-weight);
  line-height: normal;
  color: var(--form-control-color);
  background-color: var(--form-control-bg-color);
  background-image: var(--form-select-caret-bg-image);
  background-repeat: no-repeat;
  background-position: right var(--form-control-padding-y) center;
  background-size: 10px;
  border: var(--form-control-border-width) solid var(--form-control-border-color);
  border-radius: var(--form-control-border-radius);
  -webkit-appearance: none;
          appearance: none;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations select:focus,
.select2-container--default .select2-selection--single .select2-selection__rendered:focus,
.form-select:focus {
  outline: 0;
  border-color: var(--form-control-border-color-focus);
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations select:disabled,
.select2-container--default .select2-selection--single .select2-selection__rendered:disabled,
.form-select:disabled {
  opacity: var(--form-disabled-opacity);
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations select:-moz-focusring,
.select2-container--default .select2-selection--single .select2-selection__rendered:-moz-focusring,
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--form-control-color);
}

/* Select2 overrides
--------------------------------------------------------- */
.select2-container .select2-selection--single {
  height: auto !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.select2-container .select2-selection--single .select2-selection__arrow {
  display: none;
}

/* ////////////////////////////////////////////////
 *  WP Contact Form 7
 * //////////////////////////////////////////////// */
/** Basic markup
--------------------------------------------------------- */
/*
<label> Il tuo nome
    [text* your-name] </label>

<label> La tua email
    [email* your-email] </label>

<label> Oggetto
    [text* your-subject] </label>

<label> Il tuo messaggio
    [textarea your-message] </label>

[acceptance privacy use_label_element "-"] <label class="checkbox-label small" for="privacy">Acconsento al trattamento dei dati (vedi l'<a href="/privacy-policy" target="_blank">informativa sulla privacy</a>)*</label>

[submit "Invia"]



<div class="form-group">
  <label>Nome</label>
  [text* your-name class:form-control placeholder "Nome"]
</div>

<div class="form-group">
  <label>Email</label>
  [email* your-email class:form-control placeholder "Email"]
</div>

<div class="form-group">
  <label>Messaggio</label>
  [textarea your-message x4 class:form-control placeholder "Messaggio"]
</div>

<div class="form group form-group--checkbox">
  [acceptance privacy use_label_element "-"] <label class="checkbox-label small" for="privacy">Dichiaro di aver visionato termini e condizioni <a href="/privacy-policy" target="_blank">informativa sulla privacy</a>.</label><div style="clear:both"></div>
</div>

<div class="form-group form-group--submit">
  <!-- <button type="submit" class="wpcf7-form-control wpcf7-submit btn btn--primary">Invia</button> -->
  [submit class:btn class:btn--primary "Invia"]
</div>
*/
/** Styling
--------------------------------------------------------- */
form.wpcf7-form > * + * {
  margin-top: var(--form-gap);
}
form.wpcf7-form br {
  display: none;
}
form.wpcf7-form div:nth-child(2) {
  margin-top: 0;
}
form.wpcf7-form .wpcf7-response-output {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
  margin-top: var(--space-xl);
  padding: var(--space-sm);
  font-size: var(--text-sm-font-size);
  border: 0;
  background-color: var(--color-success);
}
form.wpcf7-form.invalid .wpcf7-response-output {
  background-color: var(--color-error);
}
form.wpcf7-form .form-validation-msg,
form.wpcf7-form .wpcf7-not-valid-tip {
  text-align: left;
  margin-top: var(--space-sm);
  font-size: var(--text-sm-font-size);
}
form.wpcf7-form .wpcf7-not-valid-tip {
  color: var(--color-error);
}
form.wpcf7-form .form-group--submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
form.wpcf7-form .form-group--submit .ajax-loader {
  background-color: var(--color-primary);
  opacity: 1;
}

/**
 * Styled checkbox
 * Without using appearence:none, inspired by Shopify checkbox
 *
 * Usage:
<div class="form group form-group--checkbox">
  [acceptance privacy use_label_element "-"] <label class="checkbox-label small" for="privacy">Dichiaro di aver visionato termini e condizioni <a href="/privacy-policy" target="_blank">informativa sulla privacy</a>.</label><div style="clear:both"></div>
</div>
--------------------------------------------------------- */
.form-group--checkbox {
  display: flex;
  align-items: flex-start;
}

.checkbox-label {
  margin-bottom: 0;
  position: relative;
  padding-left: var(--space-xs);
  font-size: var(--text-sm-font-size);
  margin-top: 0.25em;
}

span.wpcf7-list-item {
  width: var(--form-checkbox-size);
  height: var(--form-checkbox-size);
  position: relative;
  margin-left: 0;
}

.wpcf7-list-item input[type=checkbox] {
  width: var(--form-checkbox-size);
  height: var(--form-checkbox-size);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  opacity: 0;
}

.wpcf7-list-item span.wpcf7-list-item-label {
  width: var(--form-checkbox-size);
  height: var(--form-checkbox-size);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  color: transparent;
  background: var(--form-control-bg-color);
  border: var(--form-control-border-width) solid var(--form-control-border-color);
  border-radius: var(--form-control-border-radius);
}

.wpcf7-list-item input[type=checkbox]:checked ~ span.wpcf7-list-item-label {
  background-color: var(--color-primary);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: var(--form-checkbox-checked-bg-image);
  border-color: var(--color-primary);
}

/**
 * Components
 */
/* ////////////////////////////////////////////////
 *  Accordion
 * //////////////////////////////////////////////// */
/** Item
--------------------------------------------------------- */
.accordion__item {
  border-bottom: 1px solid var(--color-base-muted);
}

/** Item header
--------------------------------------------------------- */
.accordion__title {
  font-size: var(--h5-font-size);
}

.accordion__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: var(--accordion-header-space-y);
  padding-bottom: var(--accordion-header-space-y);
  padding-left: 0;
  padding-right: var(--accordion-header-space-x);
}

.accordion__btn-icon {
  display: flex;
  margin-left: var(--accordion-header-space-y);
  will-change: transform;
  transition: transform var(--accordion-transition);
  transform-origin: center;
}
.accordion__item.is-active .accordion__btn-icon {
  transform: rotate(45deg);
}

/** Item content
--------------------------------------------------------- */
.accordion__content {
  max-height: 0;
  overflow: hidden;
  transform: translateZ(0);
  will-change: max-height;
  transition: max-height 0.5s var(--transition-easing);
}
.accordion__item.is-active .accordion__content {
  transition: max-height var(--accordion-transition);
}

.accordion__content-inner {
  padding-top: 0;
  padding-bottom: var(--accordion-header-space-y);
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 576px) {
  .accordion__content-inner {
    padding-right: var(--accordion-header-space-y);
  }
}
.accordion__content-inner > * + * {
  margin-top: var(--space-sm);
}

/* ////////////////////////////////////////////////////
 *	Button
 * //////////////////////////////////////////////////// */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  cursor: pointer;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  border-radius: var(--btn-radius);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  color: var(--btn-primary-label-color);
  outline: 0;
  box-shadow: none;
  border: 0;
  transition: all var(--transition-easing) var(--transition-duration);
  transition-property: background-color, color;
}
.btn:active {
  transition: none;
}
.btn .icon {
  color: inherit;
  flex-shrink: 0;
}
.btn > svg > img,
.btn > i {
  margin-right: var(--space-sm);
}

/** Color variations
--------------------------------------------------------- */
.btn--primary {
  background-color: var(--btn-primary-bg-color);
  color: var(--btn-primary-label-color);
}
.btn--primary:visited {
  color: var(--btn-primary-label-color);
}
.btn--primary:hover {
  background-color: var(--btn-primary-hover-color);
}
.btn--primary:active {
  background-color: var(--btn-primary-active-color);
}

.btn--secondary {
  background-color: var(--btn-secondary-bg-color);
  color: var(--btn-secondary-label-color);
}
.btn--secondary:visited {
  color: var(--btn-secondary-label-color);
}
.btn--secondary:hover {
  background-color: var(--btn-secondary-hover-color);
}
.btn--secondary:active {
  background-color: var(--btn-secondary-active-color);
}

.btn--accent {
  background-color: var(--btn-accent-bg-color);
  color: var(--btn-accent-label-color);
}
.btn--accent:visited {
  color: var(--btn-accent-label-color);
}
.btn--accent:hover {
  background-color: var(--btn-accent-hover-color);
}
.btn--accent:active {
  background-color: var(--btn-accent-active-color);
}

/** Outline variations
--------------------------------------------------------- */
.btn--outline-primary {
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}

/** Size variations
--------------------------------------------------------- */
.btn--sm {
  font-size: var(--btn-font-size-sm);
}

.btn--lg {
  font-size: var(--btn-font-size-lg);
}

.btn--xl {
  font-size: var(--btn-font-size-xl);
}

/** Text button
--------------------------------------------------------- */
.btn--text {
  padding: 0;
  color: var(--color-base);
  font-size: var(--text-sm-font-size);
}
.btn--text .icon {
  font-size: 1.5em;
}
.btn--text--white {
  color: var(--white);
}
.btn--text--white .icon {
  color: var(--white);
}

/** Misc
--------------------------------------------------------- */
.btn--full-width {
  display: flex;
  width: 100%;
  justify-content: center;
}

.btns {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(-1 * var(--space-xs));
}
.btns > * {
  margin-right: var(--space-xs);
  margin-bottom: var(--space-xs);
}
.btns > *:last-of-type {
  margin-right: 0;
}

button,
button:focus {
  outline: 0;
  box-shadow: none;
}

/** States
--------------------------------------------------------- */
.button:disabled,
.btn.disabled,
.btn[disabled],
.btn[disabled=disabled] {
  cursor: not-allowed;
  background-color: var(--btn-primary-bg-color) !important;
  color: var(--btn-disabled-label-color) !important;
  box-shadow: none;
  opacity: 0.5;
}
.button:disabled:hover,
.btn.disabled:hover,
.btn[disabled]:hover,
.btn[disabled=disabled]:hover {
  background-color: var(--btn-primary-bg-color) !important;
}
.button:disabled:visited,
.btn.disabled:visited,
.btn[disabled]:visited,
.btn[disabled=disabled]:visited {
  color: var(--btn-disabled-label-color);
}

/* ////////////////////////////////////////////////////
 *	Card
 * //////////////////////////////////////////////////// */
.card {
  position: relative;
}
.card > * + * {
  margin-top: var(--card-space);
}
.card--border {
  border: var(--card-border-width) solid var(--card-border-color);
  padding-bottom: var(--card-space);
}
.card--white {
  background-color: var(--white);
}
.card--primary {
  background-color: var(--color-primary);
}
.card--overlay {
  overflow: hidden;
}
.card--centered {
  text-align: center;
}
@media (min-width: 768px) {
  .card--horizontal {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .card--horizontal .card__img-link,
.card--horizontal .card__wrapper {
    width: 48%;
    margin-top: 0;
  }
}

.card__wrapper > * + * {
  margin-top: var(--card-space);
}

/** Image
--------------------------------------------------------- */
.card__img-link {
  display: block;
  overflow: hidden;
}

/** Header
--------------------------------------------------------- */
.card__header > * + * {
  margin-top: var(--card-space);
}
.card--border .card__header {
  padding-left: var(--card-space);
  padding-right: var(--card-space);
}

.card__subtitle {
  font-size: var(--text-sm-font-size);
}

.card__title {
  margin-bottom: 0;
  font-size: var(--h3-font-size);
}

/** Body
--------------------------------------------------------- */
.card__body > * + * {
  margin-top: var(--card-space);
}
.card--border .card__body {
  padding-left: var(--card-space);
  padding-right: var(--card-space);
}

.card__cta {
  display: inline-block;
  font-size: var(--text-sm-font-size);
}

/** Footer
--------------------------------------------------------- */
.card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.card__footer .article-actions {
  font-size: var(--text-sm-font-size);
}

/* ////////////////////////////////////////////////////
 *	Carousel
 * //////////////////////////////////////////////////// */
.carousel {
  position: relative;
}
.carousel .swiper-container {
  width: 100%;
}
.carousel .swiper-slide {
  height: auto;
}
.carousel .swiper-slide > .card {
  height: 100%;
}

/** Helpers
--------------------------------------------------------- */
/**
 * Carousel Edge to edge
 * Brings carousel outside the container
 */
.carousel--outside {
  overflow: hidden;
  margin-left: calc(-1 * var(--size-container-margin-auto));
  margin-right: calc(-1 * var(--size-container-margin-auto));
  padding-left: calc(var(--size-container-margin-auto));
  padding-right: calc(var(--size-container-margin-auto));
}
.carousel--outside > .swiper-container {
  overflow: visible;
}

/** Specific carousels
--------------------------------------------------------- */
/**
 * Carousel Smart
 * Carousel automatic Carousel / Grid layout
 * It's a carousel or a grid based on slides total width
 * Calculation via JS
 */
.carousel--smart .swiper-slide {
  width: var(--carousel-slide-width);
}
.carousel--smart .swiper-slide:not(:last-child) {
  margin-right: var(--grid-gap-horizontal);
}

.carousel--smart--default {
  --carousel-slide-width: calc( (9 * var(--grid-column-width)) + ((9 - 1) * var(--grid-gap-horizontal)) );
}
@media (min-width: 768px) {
  .carousel--smart--default {
    --carousel-slide-width: calc( (3.5 * var(--grid-column-width)) + ((3.5 - 1) * var(--grid-gap-horizontal)) );
  }
}

/**
 * Slideshow: 1 slide per view, full screen
 */
.carousel--hero {
  width: 100%;
  height: 40vh;
  min-height: 32em;
  overflow: hidden;
}
.carousel--hero .swiper-container {
  width: 100%;
  height: 100%;
}
.carousel--hero .swiper-slide {
  background-position: center;
  background-size: cover;
  background-color: var(--image-placeholder-bg-color);
  width: 100%;
  height: 100%;
}
.carousel--hero .swiper-slide figure {
  height: 100%;
  width: 100%;
}
.carousel--hero .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  height: 100%;
  width: 100%;
  transition: transform linear 10s;
}
.carousel--hero .swiper-slide.swiper-slide-active img {
  transform: scale(1.2, 1.2);
}
.carousel--hero .carousel__slide-text {
  position: absolute;
  left: 0;
  bottom: 2.5em;
  width: 100%;
  z-index: 10;
  text-align: center;
  color: white;
}

/**
 * Slideshow with thumbs
 */
.slideshow-with-thumbs {
  position: relative;
}

.slideshow-with-thumbs__slideshow .swiper-slide {
  opacity: 0.4;
  transition: opacity var(--transition-easing) var(--transition-duration);
}
.slideshow-with-thumbs__slideshow .swiper-slide.swiper-slide-active {
  opacity: 1;
}

.slideshow-with-thumbs__thumbs {
  display: none;
  position: absolute;
  bottom: 2em;
  left: 0;
  width: 100%;
}
@media (min-width: 992px) {
  .slideshow-with-thumbs__thumbs {
    display: flex;
  }
}
.slideshow-with-thumbs__thumbs .swiper-slide {
  width: 8em;
  height: auto;
  cursor: pointer;
  border: 2px solid transparent;
}
.slideshow-with-thumbs__thumbs .swiper-slide.swiper-slide-thumb-active {
  border-color: var(--color-secondary);
}

/** Navigation buttons
--------------------------------------------------------- */
/**
 * Navigation buttons (global styles)
 */
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4em;
  height: 4em;
  padding: 0;
  margin: 0 1vw;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: background-color var(--transition-easing) var(--transition-duration);
  will-change: background-color;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-size: 1.3em;
  color: white;
}

.swiper-button-prev:after {
  padding-right: 0.2em;
}

.swiper-button-next:after {
  padding-left: 0.2em;
}

/**
 * Navigation buttons specific variants
 */
.swiper-button-prev {
  transform: translate3d(0%, -50%, 0);
}
.swiper-button-next {
  transform: translate3d(0%, -50%, 0);
}
/** Pagination bullets
--------------------------------------------------------- */
.swiper-pagination-bullet {
  border: 2px solid white;
  width: 16px;
  height: 16px;
  background: transparent;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background: white;
}

/* ////////////////////////////////////////////////
 *  Hero
 * //////////////////////////////////////////////// */
.hero {
  position: relative;
  background-color: var(--color-primary);
}
.hero.has-overlay:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(var(--color-primary-rgb), 0.2);
  z-index: 1;
}
.hero * {
  color: inherit;
}

/** General
--------------------------------------------------------- */
.hero--fullscreen {
  height: 100vh;
  display: flex;
  align-items: center;
}
@supports (-webkit-touch-callout: none) {
  .hero--fullscreen {
    height: -webkit-fill-available;
  }
}

.hero--short {
  height: 30em;
}

/** Specific heroes
--------------------------------------------------------- */
/** Background image
--------------------------------------------------------- */
figure.hero__image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  padding-top: 0;
}
figure.hero__image .aspect-ratio-box {
  width: 100%;
  height: 100%;
}
figure.hero__image img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

/** Content
--------------------------------------------------------- */
.hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: var(--header-height);
}

.hero__arrow {
  position: absolute;
  bottom: var(--space-md);
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 3;
  display: inline-block;
  font-size: var(--h3-font-size);
}

/** Video fullscreen as background
*  NB: if "$cover: true" => add "height: 100vh" to .hero
*  NB: if "$cover: false" => remove "height: 100vh" from .hero
--------------------------------------------------------- */
/* ////////////////////////////////////////////////////
 *	Icon
 * //////////////////////////////////////////////////// */
.icon {
  display: inline-block;
  height: 1em;
  width: 1em;
  line-height: 1;
  font-size: 1em;
  fill: currentColor;
}
.icon--xxs {
  font-size: 0.2em;
}
.icon--xs {
  font-size: 0.5em;
}
.icon--sm {
  font-size: 0.8em;
}
.icon--md {
  font-size: 1em;
}
.icon--lg {
  font-size: 1.2em;
}
.icon--xl {
  font-size: 1.5em;
}
.icon--xxl {
  font-size: 2em;
}
.icon--primary {
  fill: var(--color-primary);
}
.icon--caret-down {
  stroke: currentColor;
}

/** Helpers
--------------------------------------------------------- */
.icon-text-aligner {
  display: flex;
  align-items: center;
}
.icon-text-aligner > *:nth-child(2) {
  margin-left: var(--space-xxs);
}
.icon-text-aligner .icon {
  color: inherit;
  flex-shrink: 0;
}

/**
 * Component: Icon text
 */
/* ////////////////////////////////////////////////
 *  Image
 * //////////////////////////////////////////////// */
figcaption {
  margin-top: var(--space-xs);
  font-size: var(--text-sm-font-size);
}

/** Lazysizes
--------------------------------------------------------- */
img.lazyload:not([src]):not([srcset]) {
  visibility: hidden;
}

img[data-sizes=auto] {
  display: block;
  width: 100%;
}

/**
 * Lazysizes unveil effects
 */
.lazyload--blur {
  filter: blur(5px);
  transition: filter var(--transition-easing) var(--transition-duration);
}
.lazyload--blur.lazyloaded {
  filter: blur(0);
}

.lazyload--fade {
  opacity: 0;
  transition: opacity var(--transition-easing) 0.3s;
}
.lazyload--fade.lazyloaded {
  opacity: 1;
}

/* ////////////////////////////////////////////////
 *  Mail Chimp form
 * //////////////////////////////////////////////// */
#mc_embed_signup {
  background: #fff;
  clear: left;
  font: 14px Helvetica, Arial, sans-serif;
}
#mc_embed_signup form {
  display: block;
  position: relative;
  text-align: left;
  margin: 20px;
}
#mc_embed_signup h2 {
  font-weight: bold;
  padding: 0;
  margin: 15px 0;
  font-size: 1.4em;
}
#mc_embed_signup input {
  border: 1px solid #abb0b2;
  border-radius: 3px;
}
#mc_embed_signup input[type=checkbox] {
  -webkit-appearance: checkbox;
          appearance: checkbox;
}
#mc_embed_signup input:focus {
  border-color: #333;
}
#mc_embed_signup .button {
  clear: both;
  background-color: #111;
  border: 0 none;
  border-radius: 4px;
  transition: all 0.23s ease-in-out 0s;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 15px;
  font-weight: normal;
  height: 32px;
  line-height: 32px;
  margin: 0 5px 10px 0;
  padding: 0 22px;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  white-space: nowrap;
  width: -moz-fit-content;
  width: fit-content;
}
#mc_embed_signup .button:hover {
  background-color: #222;
}
#mc_embed_signup .mc-field-group {
  clear: left;
  position: relative;
  width: 96%;
  padding-bottom: 3%;
  min-height: 50px;
  display: grid;
}
#mc_embed_signup .mc-field-group label {
  display: block;
  margin-bottom: 3px;
}
#mc_embed_signup .mc-field-group input {
  display: block;
  width: 100%;
  padding: 8px 0;
  text-indent: 2%;
}
#mc_embed_signup .indicates-required {
  text-align: right;
  font-size: 11px;
  margin-right: 4%;
}
#mc_embed_signup .asterisk {
  color: #e85c41;
  font-size: 150%;
  font-weight: normal;
  position: relative;
  top: 5px;
}
#mc_embed_signup .clear {
  clear: both;
}
#mc_embed_signup .mc-field-group.input-group ul {
  margin: 0;
  padding: 5px 0;
  list-style: none;
}
#mc_embed_signup .mc-field-group.input-group ul li {
  display: block;
  padding: 3px 0;
  margin: 0;
}
#mc_embed_signup .mc-field-group.input-group label {
  display: inline;
}
#mc_embed_signup .mc-field-group.input-group input {
  display: inline;
  width: auto;
  border: none;
}

#mc-embedded-subscribe {
  clear: both;
  width: auto;
  display: block;
  margin: 1em 0 1em 5%;
}

html:not([lang=it-IT]) .mailchimp-form {
  pointer-events: none;
  opacity: 0.2;
}
.mailchimp-form #mc_embed_signup {
  background-color: transparent;
  font-family: var(--font-primary);
  width: 100%;
  max-width: 40em;
}
.mailchimp-form #mc_embed_signup .mc-field-group ul li label {
  padding-left: 0.5em;
  position: relative;
  top: -0.1em;
}
.mailchimp-form #mc_embed_signup #mc-embedded-subscribe {
  background-color: var(--color-primary);
}
.mailchimp-form form#mc-embedded-subscribe-form {
  padding: 0;
  margin: 0;
}
.mailchimp-form #mc_embed_signup_scroll > h2,
.mailchimp-form #mc_embed_signup_scroll > .indicates-required {
  display: none;
}
.mailchimp-form .mc-field-group > strong {
  display: none;
}

/* ////////////////////////////////////////////////
 *  Menu
 * //////////////////////////////////////////////// */
/** Menu (common styles)
--------------------------------------------------------- */
nav.menu a > .caret {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-md);
  background: var(--icon-down) no-repeat 85% 51%/7px;
}
nav.menu a.is-active > .caret {
  transform: scaleY(-1);
}

/** Menu on Mobile (Modal + Accordion)
--------------------------------------------------------- */
@media (max-width: 991px) {
  /**
   * Set nav.menu as a modal
   */
  nav.menu {
    background-color: var(--white);
    overflow-y: scroll;
    display: flex;
    align-items: flex-start;
    padding-top: var(--header-height);
    padding-bottom: var(--header-height);
    width: 100%;
    max-width: var(--container-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
    position: fixed;
    top: 0;
    right: 0;
    width: 80%;
    max-width: 26em;
    height: 100vh;
    z-index: var(--z-index-nav);
    transform: translateX(100%);
    transition: transform var(--transition-duration) var(--transition-easing);
  }
  nav.menu.is-visible {
    transform: translateX(0%);
  }
  nav.menu ul {
    width: 100%;
  }
  nav.menu li > a {
    position: relative;
    display: block;
  }
  nav.menu li > a > figure {
    display: none;
  }

  /**
   * Level 0
   */
  nav.menu > ul > li {
    border-bottom: 1px solid var(--gray-10);
  }
  nav.menu > ul > li > a {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }

  /**
   * Sub-menus (all Levels)
   */
  nav.menu ul.sub-menu {
    display: none;
    transition-timing-function: var(--transition-easing);
  }
  nav.menu ul.sub-menu > li > a {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
  }

  /**
   * Sub-menu (Level 1)
   */
  nav.menu > ul > li > ul.sub-menu > li > a {
    padding-left: var(--space-sm);
    padding-top: 0;
  }

  /**
   * Sub-menu (Level 2)
   */
}
/** Menu on Desktop
--------------------------------------------------------- */
@media (min-width: 992px) {
  nav.menu li {
    position: relative;
  }

  /**
   * Level 0
   */
  nav.menu {
    height: 100%;
  }
  nav.menu > ul {
    display: flex;
    height: 100%;
  }
  nav.menu > ul > li {
    position: relative;
    height: 100%;
  }
  nav.menu > ul > li:last-child {
    margin-right: calc(-1 * var(--menu-link-space));
  }
  nav.menu > ul > li.menu-item-has-children {
    padding-right: var(--menu-link-space);
  }
  nav.menu > ul > li > a {
    display: flex;
    align-items: center;
    height: 100%;
    padding-left: var(--menu-link-space);
    padding-right: var(--menu-link-space);
    word-break: normal;
  }
  nav.menu > ul > li > a > .caret {
    margin-left: var(--space-xxs);
  }

  /**
   * Sub-menu (all Levels)
   */
  ul.sub-menu {
    opacity: 0;
    visibility: hidden;
    transition: visibility linear, opacity ease;
    transition-duration: 0.2s;
    transition-delay: 0.2s;
    position: absolute;
    left: -22vw;
    z-index: var(--z-index-header);
    background: var(--white);
    width: 37vw;
    display: grid;
    grid-gap: var(--space-sm);
    grid-template-columns: 6fr 6fr;
    padding: var(--space-sm);
    border: 1px solid var(--gray-3);
  }
  nav.menu li.menu-item-has-children:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
  }
  ul.sub-menu li a {
    position: relative;
    display: block;
    text-align: center;
  }
  ul.sub-menu li a > .caret {
    position: absolute;
    right: var(--space-md);
  }
  ul.sub-menu li a figure {
    margin-bottom: var(--space-xxs);
  }

  /**
   * Sub-menu Level 1
   */
  /**
   * Sub-menu Level 2
   */
  nav.menu > ul > li > ul.sub-menu > li > ul.sub-menu {
    top: 0;
    right: 100%;
  }
}
/* ////////////////////////////////////////////////////
 *	Modal
 * //////////////////////////////////////////////////// */
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-modal);
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  display: block;
  visibility: hidden;
  opacity: 0;
  transition: opacity ease 0.5s;
}
.modal.is-visible {
  opacity: 1;
}

.modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: calc(var(--z-index-modal) + 1);
  cursor: pointer;
}

.modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: calc(var(--z-index-modal) + 2);
  background: white;
  padding: var(--space-xxs);
}
@media (max-width: 767px) {
  .modal__content {
    width: 90%;
    height: 90%;
  }
}
@media (min-width: 768px) {
  .modal__content {
    width: 90%;
    height: auto;
    max-width: 30rem;
    border-radius: var(--border-radius);
  }
}

.modal__content-inner {
  border: 2px dotted var(--color-secondary);
  padding: var(--space-md) var(--space-md);
}
@media (max-width: 767px) {
  .modal__content-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.modal__header {
  text-align: center;
}
.modal__header img {
  display: inline-block;
  max-width: 17em;
}

.modal__close {
  position: absolute;
  top: var(--space-lg);
  right: var(--space-lg);
  color: var(--white);
}

.adult-string {
  display: flex;
  font-size: var(--text-sm-font-size);
}
.adult-string img {
  width: auto;
  height: 100%;
  margin-right: 1em;
  margin-top: 0.3em;
}

/** Search modal
--------------------------------------------------------- */
.modal-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-total-height);
  z-index: var(--z-index-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border-bottom: 1px solid var(--header-border-color);
  transform: translateY(-101%);
  transition: transform var(--transition-easing) var(--transition-duration);
}
.modal-search.is-open {
  transform: translateY(0%);
}
.modal-search > .container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-search form {
  width: 100%;
}
.modal-search label {
  margin-bottom: 0;
}
.modal-search input[type=search] {
  width: 100%;
  font-size: 1.8em;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  padding-top: 0;
  padding-left: 0;
  padding-right: 2em;
}
.modal-search button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: inherit;
  position: absolute;
  right: 0;
}

/* ////////////////////////////////////////////////////
 *	Pagination
 * //////////////////////////////////////////////////// */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  padding: var(--space-xxs);
  line-height: 1;
}
/** Infinite scroll (Load more)
--------------------------------------------------------- */
.page-load-status {
  display: none;
}

/* ////////////////////////////////////////////////
 *  Section
 * //////////////////////////////////////////////// */
.section {
  position: relative;
}
.section--bt-0 {
  border-top: 0 !important;
}
.section--padding {
  padding: var(--section-padding) 0;
}
.section--pt {
  padding-top: var(--section-padding);
}
.section--pt-0 {
  padding-top: 0 !important;
}
.section--py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.section--no-overflow {
  overflow: hidden;
}
.section--centered {
  text-align: center;
}
.section--text-white {
  color: var(--white);
}
.section--text-white .section__heading {
  color: var(--white);
}
.section--white {
  background-color: var(--white);
  padding-top: var(--section-gap);
  padding-bottom: var(--section-gap);
}
.section--white * {
  color: var(--color-primary);
}

/** Header
--------------------------------------------------------- */
.section__header > * + * {
  margin-top: var(--space-sm);
}
.section__header--centered {
  text-align: center;
}

.section__subtitle {
  color: var(--color-base-muted);
}

/** Footer
--------------------------------------------------------- */
/* ////////////////////////////////////////////////////
 *	Table
 * //////////////////////////////////////////////////// */
main table {
  width: 100%;
  table-layout: fixed;
  word-wrap: break-word;
  border: 1px solid var(--border-color);
  border-collapse: collapse;
}
main table td, main table th {
  border: 1px solid var(--border-color);
  padding: var(--space-md);
  font-size: var(--text-sm-font-size);
  text-align: left;
}
main table thead td, main table thead th {
  background: var(--gray-3);
}

/* ////////////////////////////////////////////////
 *  Text-media
 * //////////////////////////////////////////////// */
@media (max-width: 767px) {
  .text-media + .text-media {
    margin-top: var(--space-lg);
  }
}
.text-media--white {
  color: white;
}
@media (min-width: 768px) {
  .text-media--text-right {
    text-align: right;
  }
}

/** Grid
--------------------------------------------------------- */
.text-media__grid {
  display: grid;
}
@media (min-width: 768px) {
  .text-media__grid {
    grid-template-columns: 6fr 6fr;
  }
}
@media (max-width: 767px) {
  .text-media__grid > * + * {
    margin-top: var(--space-md);
  }
}

@media (min-width: 768px) {
  .text-media--inverted .text-media__grid > div:first-child {
    order: 2;
  }
  .text-media--inverted .text-media__grid > div:last-child {
    order: 1;
  }
}

/** Text
--------------------------------------------------------- */
@media (min-width: 768px) {
  .text-media__text {
    padding: var(--space-md);
    align-self: center;
  }
}

/** Media
--------------------------------------------------------- */
/**
 * Utils
 */
/* ////////////////////////////////////////////////
 *  Helpers
 * //////////////////////////////////////////////// */
/** Aspect ratio box
 * https://ratiobuddy.com/
 * https://css-tricks.com/aspect-ratio-boxes/
--------------------------------------------------------- */
.aspect-ratio-box {
  position: relative;
  background-color: var(--image-placeholder-bg-color);
}
.aspect-ratio-box:before {
  content: "";
  width: 1px;
  margin-left: -1px;
  float: left;
  height: 0;
  padding-top: 100%;
}
.aspect-ratio-box:after {
  content: "";
  display: table;
  clear: both;
}
.aspect-ratio-box > :first-child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.aspect-ratio-box--rect-h:before {
  padding-top: calc((2 / 3) * 100%);
}
.aspect-ratio-box--wide:before {
  padding-top: calc((7 / 16) * 100%);
}
.aspect-ratio-box--video:before {
  padding-top: 56%;
}
.aspect-ratio-box--rect-v:before {
  padding-top: calc((3 / 2) * 100%);
}

.aspect-ratio-box--cover {
  overflow: hidden;
}
.aspect-ratio-box--cover > :first-child {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

.aspect-ratio-box--contain {
  overflow: hidden;
}
.aspect-ratio-box--contain > :first-child {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

/** Spacings
--------------------------------------------------------- */
.is-spaced-xxs > * + * {
  margin-top: var(--space-xxs);
}

.is-spaced-xs > * + * {
  margin-top: var(--space-xs);
}

.is-spaced > * + *,
.is-spaced-md > * + * {
  margin-top: var(--space-md);
}

.is-spaced-sm > * + * {
  margin-top: var(--space-sm);
}

.is-spaced-lg > * + * {
  margin-top: var(--space-lg);
}

.is-spaced-xl > * + * {
  margin-top: var(--space-xl);
}

.is-spaced-h > *:not(:last-child),
.is-spaced-h-md > *:not(:last-child) {
  margin-right: var(--space-md);
}

.mt-0 {
  margin-top: 0 !important;
}

.py-lg {
  padding: var(--space-lg) 0;
}

.pt-lg {
  padding-top: var(--space-lg);
}

/** Elements outside the container
 *
 *  https://gomakethings.com/how-to-break-an-image-out-of-its-parent-container-with-css/
 *  https://codepen.io/tigt/post/bust-elements-out-of-containers-with-one-line-of-css
--------------------------------------------------------- */
/**
 * 👇 Works only for an element that occupies 100% of the container
 */
/**
 * |mmm|p|-------------|p|mmm|
 *              ⬇
 * |mmm|p|-------------------|
 */
.to-edge-right {
  margin-right: calc(-1 * var(--size-container-margin-auto));
}

/**
 * |mmm|p|-------------|p|mmm|
 *              ⬇
 * |-------------------|p|mmm|
 */
.to-edge-left {
  margin-left: calc(-1 * var(--size-container-margin-auto));
}

/**
 * |mmm|p|-------------|p|mmm|
 *              ⬇
 * |-------------------------|
 */
.edge-to-edge {
  margin-left: calc(-1 * var(--size-container-margin-auto));
  margin-right: calc(-1 * var(--size-container-margin-auto));
}

/**
 * 👇 For element that occupies 50% of the container.
 * - Requires grid gap
 *
 * |mmm|p|------|g|------|p|mmm|
 *              ⬇
 * |mmm|p|------|g|------------|
 */
@media (min-width: 768px) {
  .col-50-to-edge-right {
    margin-left: 0;
    margin-right: calc(-1 * (var(--size-100vw)/2 - 100% - var(--grid-gap-horizontal)/2));
  }
}

/**
 * 👇 For element occupies part of the container
 * - Requires a known container width!
 *
 * |mmm|p|------|------|p|mmm|
 *              ⬇
 * |mmm|p|------|------------|
 */
/**
 * Use for <img> elements
 *
 * On Windows browsers appear horizontal scrollbar
 * with little offset => subtract scrollbar width
 *
 * https://destroytoday.com/blog/100vw-and-the-horizontal-overflow-you-probably-didnt-know-about
 * https://css-tricks.com/full-width-containers-limited-width-parents/
 * https://cloudfour.com/thinks/breaking-out-with-viewport-units-and-calc/
 * https://medium.com/@simonlidesign/an-elegant-way-to-break-the-bootstrap-container-2912628e4829
 */
.wide-100vw {
  width: var(--size-100vw) !important;
  margin-left: calc(-1 * (var(--size-100vw) - 100%)/2) !important;
  max-width: none !important;
}

/** Box scrollbar
--------------------------------------------------------- */
.box-scrollbar {
  overflow-y: auto;
  max-height: 20em;
  /**
   * Scrollbar styling
   * https://www.digitalocean.com/community/tutorials/css-scrollbars
   * https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scrollbars
   */
}
@media (min-width: 768px) {
  .box-scrollbar {
    max-height: 15em;
  }
}
.box-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.05);
}
.box-scrollbar::-webkit-scrollbar {
  width: 0.4em;
}
.box-scrollbar::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 20em;
}
.box-scrollbar::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.05);
}

/** Visibility
--------------------------------------------------------- */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.d-none {
  display: none !important;
}

/** reCaptcha badge
--------------------------------------------------------- */
.grecaptcha-badge {
  visibility: hidden !important;
}

/** Misc
--------------------------------------------------------- */
.is-freeze {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.has-no-scrolling {
  overflow: hidden;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

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

/** Parallax box
--------------------------------------------------------- */
@media (min-width: 992px) {
  .parallax-box {
    overflow: hidden;
    height: 450px;
  }
}
.parallax-box img {
  width: 100%;
  height: auto;
}

/** Google map
--------------------------------------------------------- */
.google-map > iframe {
  width: 100%;
  height: 30em;
}

/* ////////////////////////////////////////////////
 *  Design system styles
 * //////////////////////////////////////////////// */
/** Globals
--------------------------------------------------------- */
code {
  font-family: Consolas, "courier new";
  color: crimson;
  background-color: var(--gray-5);
  padding: 0.1em 0.4em;
  font-size: 0.85em;
}

/** Dev grid
--------------------------------------------------------- */
.ds-grid-dev {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999999999999;
  pointer-events: none;
}
.ds-grid-dev .grid {
  display: grid;
  grid-gap: var(--grid-gap-vertical) var(--grid-gap-horizontal);
  grid-template-columns: repeat(12, 1fr);
}
.ds-grid-dev .grid > div {
  background: rgba(0, 0, 255, 0.03);
  height: 100vw;
}

/** Hero
--------------------------------------------------------- */
.ds-hero {
  height: 100vh;
  display: flex;
  align-items: center;
}
@supports (-webkit-touch-callout: none) {
  .ds-hero {
    height: -webkit-fill-available;
  }
}
.ds-hero ul, .ds-hero ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ds-hero li {
  display: inline-block;
  margin-right: var(--space-sm);
}

/** Spacings
--------------------------------------------------------- */
.ds-space {
  display: flex;
  align-items: center;
  margin-bottom: var(--space-sm);
}

.ds-space__md {
  width: var(--space-md);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__sm {
  width: var(--space-sm);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xs {
  width: var(--space-xs);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xxs {
  width: var(--space-xxs);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xxxs {
  width: var(--space-xxxs);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xxxxs {
  width: var(--space-xxxxs);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__lg {
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xl {
  width: var(--space-xl);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xxl {
  width: var(--space-xxl);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xxxl {
  width: var(--space-xxxl);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__xxxxl {
  width: var(--space-xxxxl);
  height: var(--space-lg);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-space__label {
  font-size: var(--text-xs-font-size);
}

/** Colors
--------------------------------------------------------- */
.ds-colors-wrapper {
  display: grid;
  grid-gap: var(--space-lg) var(--grid-gap-horizontal);
  grid-template-columns: 1fr;
}
@media (min-width: 576px) {
  .ds-colors-wrapper {
    grid-template-columns: 1fr 1fr;
  }
}

.ds-color {
  display: flex;
  align-items: center;
}

.ds-color__primary- {
  background-color: var(--color-primary);
  margin: var(--space-xs) 0;
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__primary-dark {
  background-color: var(--color-primary-dark);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__primary-darker {
  background-color: var(--color-primary-darker);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__primary-light {
  background-color: var(--color-primary-light);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__primary-lighter {
  background-color: var(--color-primary-lighter);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__primary-alpha {
  background-color: var(--color-primary-alpha);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__secondary- {
  background-color: var(--color-secondary);
  margin: var(--space-xs) 0;
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__secondary-dark {
  background-color: var(--color-secondary-dark);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__secondary-darker {
  background-color: var(--color-secondary-darker);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__secondary-light {
  background-color: var(--color-secondary-light);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__secondary-lighter {
  background-color: var(--color-secondary-lighter);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__secondary-alpha {
  background-color: var(--color-secondary-alpha);
  width: var(--space-lg);
  height: var(--space-lg);
  display: block;
  line-height: 0;
  margin-right: var(--space-xs);
}

.ds-color__label {
  font-size: var(--text-xs-font-size);
}

/** Icons
--------------------------------------------------------- */
.ds-icons {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(4em, 1fr));
  grid-gap: var(--space-xs) var(--space-xs);
  margin-top: var(--space-sm);
}

.ds-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-bottom: 100%;
  border: 1px solid var(--gray-3);
}
.ds-icon:before {
  display: block;
  content: "";
  width: 100%;
}
.ds-icon .icon {
  position: absolute;
  top: 0;
  height: 100%;
}

/** Containers
--------------------------------------------------------- */
.ds-container-width {
  width: 100%;
  height: var(--space-md);
  display: block;
  background-color: var(--color-primary);
  padding: 0;
  line-height: 0;
}

/**
 * Pages
 */
/* ////////////////////////////////////////////////
 *  Pages
 * //////////////////////////////////////////////// */
/** Home
--------------------------------------------------------- */
/** Product
--------------------------------------------------------- */
body.single-product .additional-image {
  max-width: 35em;
}

/** Article (Post)
--------------------------------------------------------- */
.article__featured-image img {
  width: 100%;
  height: auto;
}

.article__footer .article-actions {
  justify-content: flex-end;
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--gray-7);
}

/**
 * WooCommerce
 */
/* ////////////////////////////////////////////////////
 *	WooCommerce
 * //////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////
 *	WooCommerce: Common
 * //////////////////////////////////////////////////// */
/** Tables
--------------------------------------------------------- */
.woocommerce-page .woocommerce table {
  table-layout: auto;
  border-collapse: collapse !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.woocommerce-page .woocommerce table thead tr:first-of-type th {
  border-top: 0 !important;
}
.woocommerce-page .woocommerce table tr,
.woocommerce-page .woocommerce table th,
.woocommerce-page .woocommerce table td {
  background-color: transparent !important;
  border-color: var(--border-color) !important;
}
.woocommerce-page .woocommerce table th,
.woocommerce-page .woocommerce table td {
  border-left: 0;
  border-right: 0;
  padding: 15px 0;
}
.woocommerce-page .woocommerce table th,
.woocommerce-page .woocommerce table td:before {
  text-transform: uppercase;
  font-size: var(--text-sm-font-size);
  font-weight: var(--font-weight-bold);
}

/** Forms
--------------------------------------------------------- */
.woocommerce-checkout .woocommerce form .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce form .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce form .woocommerce-additional-fields__field-wrapper,
.woocommerce-checkout .woocommerce form .woocommerce-account-fields,
.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper,
.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset,
.woocommerce-account .woocommerce form,
.woocommerce-lost-password .woocommerce form {
  max-width: 550px;
}
.woocommerce-checkout .woocommerce form .woocommerce-billing-fields__field-wrapper > *,
.woocommerce-checkout .woocommerce form .woocommerce-shipping-fields__field-wrapper > *,
.woocommerce-checkout .woocommerce form .woocommerce-additional-fields__field-wrapper > *,
.woocommerce-checkout .woocommerce form .woocommerce-account-fields > *,
.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper > *,
.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset > *,
.woocommerce-account .woocommerce form > *,
.woocommerce-lost-password .woocommerce form > * {
  padding: 0;
  margin-bottom: 0;
  float: none;
  width: 100%;
}
.woocommerce-checkout .woocommerce form .woocommerce-billing-fields__field-wrapper > *:not(.clear):not([type=hidden]),
.woocommerce-checkout .woocommerce form .woocommerce-shipping-fields__field-wrapper > *:not(.clear):not([type=hidden]),
.woocommerce-checkout .woocommerce form .woocommerce-additional-fields__field-wrapper > *:not(.clear):not([type=hidden]),
.woocommerce-checkout .woocommerce form .woocommerce-account-fields > *:not(.clear):not([type=hidden]),
.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper > *:not(.clear):not([type=hidden]),
.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset > *:not(.clear):not([type=hidden]),
.woocommerce-account .woocommerce form > *:not(.clear):not([type=hidden]),
.woocommerce-lost-password .woocommerce form > *:not(.clear):not([type=hidden]) {
  margin-bottom: var(--space-xs);
}
.woocommerce-checkout .woocommerce form .woocommerce-billing-fields__field-wrapper:after,
.woocommerce-checkout .woocommerce form .woocommerce-shipping-fields__field-wrapper:after,
.woocommerce-checkout .woocommerce form .woocommerce-additional-fields__field-wrapper:after,
.woocommerce-checkout .woocommerce form .woocommerce-account-fields:after,
.woocommerce-account .woocommerce form .woocommerce-address-fields__field-wrapper:after,
.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset:after,
.woocommerce-account .woocommerce form:after,
.woocommerce-lost-password .woocommerce form:after {
  content: "";
  display: block;
  clear: both;
}

.woocommerce form fieldset {
  margin: 0;
  border: 0;
  margin-top: var(--space-sm);
}
.woocommerce form fieldset legend {
  margin-bottom: var(--space-xxs) !important;
  font-weight: var(--font-weight-bold);
}
.woocommerce .woocommerce-privacy-policy-text {
  font-size: var(--text-sm-font-size);
}
.woocommerce form .form-row label {
  line-height: var(--body-line-height);
  margin-bottom: 0.3em;
}
.woocommerce form .form-row > span > em {
  display: block;
  font-size: var(--text-sm-font-size);
  line-height: var(--body-line-height);
  margin-top: var(--space-xxs);
  color: var(--color-base-muted);
  font-style: normal;
}
.woocommerce form .form-row label.checkbox,
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce #ship-to-different-address .woocommerce-form__label-for-checkbox,
.woocommerce ul#shipping_method > li,
.woocommerce ul.payment_methods > li {
  display: flex;
  align-items: center;
}
.woocommerce form .form-row label.checkbox > input[type=checkbox],
.woocommerce form .form-row label.checkbox > input[type=radio],
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme > input[type=checkbox],
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme > input[type=radio],
.woocommerce #ship-to-different-address .woocommerce-form__label-for-checkbox > input[type=checkbox],
.woocommerce #ship-to-different-address .woocommerce-form__label-for-checkbox > input[type=radio],
.woocommerce ul#shipping_method > li > input[type=checkbox],
.woocommerce ul#shipping_method > li > input[type=radio],
.woocommerce ul.payment_methods > li > input[type=checkbox],
.woocommerce ul.payment_methods > li > input[type=radio] {
  margin: 0 !important;
  margin-right: var(--space-xxs) !important;
}
.woocommerce form .form-row label.checkbox > label,
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme > label,
.woocommerce #ship-to-different-address .woocommerce-form__label-for-checkbox > label,
.woocommerce ul#shipping_method > li > label,
.woocommerce ul.payment_methods > li > label {
  margin-bottom: 0;
  line-height: var(--body-line-height);
}
.woocommerce .mc4wp-checkbox {
  margin: 0 !important;
  padding: 0 !important;
}
html:not([lang=it-IT]) .woocommerce .mc4wp-checkbox {
  display: none !important;
}
.woocommerce #billing_country_field,
.woocommerce #shipping_country_field {
  display: none;
}
@media (min-width: 576px) {
  .woocommerce #billing_first_name_field,
.woocommerce #shipping_first_name_field {
    float: left;
    width: 50%;
  }
  .woocommerce #billing_last_name_field,
.woocommerce #shipping_last_name_field {
    clear: none;
    float: right;
    width: 49%;
    margin-left: 1%;
  }
  .woocommerce #billing_postcode_field,
.woocommerce #shipping_postcode_field {
    float: left;
    width: 20%;
  }
  .woocommerce #billing_city_field,
.woocommerce #shipping_city_field {
    clear: none;
    float: left;
    width: 49%;
    margin-left: 1%;
  }
  .woocommerce #billing_state_field,
.woocommerce #shipping_state_field {
    clear: none;
    float: right;
    width: 29%;
    margin-left: 1%;
  }
}

/** Message / Notices
--------------------------------------------------------- */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  width: 100%;
  border-top: 0;
  padding: 1em 2em 1em 3.5em !important;
}
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button {
  font-size: 0.7em !important;
}

/** Breadcrumb
--------------------------------------------------------- */
.woocommerce .woocommerce-breadcrumb {
  margin: var(--space-md) 0;
}

/** Button "Add to cart"
--------------------------------------------------------- */
/*single prodotto disabled*/
/*message*/
/*single prodotto*/
/*card prodotto*/
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt,
.woocommerce ul.products li.product .button {
  background-color: var(--color-primary);
  font-weight: normal;
  border-radius: 4px;
  color: white !important;
  transition: all ease 0.3s !important;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt:hover,
.woocommerce ul.products li.product .button:hover {
  background-color: var(--color-primary-dark);
}

/** Card prodotto in una lista prodotti
--------------------------------------------------------- */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
  text-align: center;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
  font-size: var(--h3-font-size);
}

.woocommerce ul.products li.product .woocommerce-loop-product__subtitle {
  color: var(--color-base);
}

.woocommerce ul.products li.product .price {
  font-family: var(--font-secondary);
  font-size: var(--h5-font-size);
  color: var(--color-secondary);
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

.woocommerce ul.products li.product a {
  display: block;
}

/** Shipping methods Box
 *  - Cart
 *  - Checkout
--------------------------------------------------------- */
.woocommerce-shipping-totals > th {
  display: none;
}
.woocommerce-shipping-totals > td {
  text-align: left;
}
.woocommerce-shipping-totals > td:before {
  content: attr(data-title);
  display: block;
  margin-bottom: 20px;
  text-align: left;
  font-weight: var(--font-weight-bold);
  float: none !important;
}

ul#shipping_method {
  display: flex;
  flex-direction: column;
  text-align: left;
  padding-left: 0 !important;
}
ul#shipping_method > * + * {
  margin-top: var(--space-xxs);
}
ul#shipping_method > li {
  position: relative;
  padding-right: 100px;
  margin-bottom: 0;
}
ul#shipping_method > li label {
  font-weight: var(--font-weight-bold);
}
ul#shipping_method .woocommerce-Price-amount {
  position: absolute;
  right: 0;
  top: 0;
}

/** Address cards
 *  - Order confirmation page
 *  - My account > Addresses
--------------------------------------------------------- */
@media (max-width: 767px) {
  .woocommerce-order-received .woocommerce .addresses > * + *,
.woocommerce-edit-address .woocommerce .addresses > * + *,
.woocommerce-view-order .woocommerce .addresses > * + * {
    margin-top: var(--space-sm);
  }
}

.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address {
  padding: var(--space-sm);
  border: 1px solid var(--border-color);
}
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address > * + *,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address > * + *,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address > * + *,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address > * + *,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address > * + * {
  margin-top: var(--space-xs);
}
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address header, .woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address h2,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address header,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address h2,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address header,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address h2,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address header,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address h2,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address header,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address h2 {
  margin-bottom: 0;
}
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address header h3,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address header h3,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address header h3,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address header h3,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address header h3 {
  float: none;
}
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address header a.edit,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address header a.edit,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address header a.edit,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address header a.edit,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address header a.edit {
  float: none;
}
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address address,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address address,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address address,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address address,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address address {
  padding: 0;
  border: 0;
}
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--billing-address .woocommerce-customer-details--email,
.woocommerce-order-received .woocommerce .addresses .woocommerce-column--shipping-address .woocommerce-customer-details--email,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--billing-address .woocommerce-customer-details--email,
.woocommerce-view-order .woocommerce .addresses .woocommerce-column--shipping-address .woocommerce-customer-details--email,
.woocommerce-edit-address .woocommerce .addresses .woocommerce-Address .woocommerce-customer-details--email {
  margin-top: 0;
}

/** Order details
 *  - Order confirmation page
 *  - My account > View order
--------------------------------------------------------- */
.woocommerce-order-details {
  padding: var(--space-sm);
  border: 1px solid var(--border-color);
}
.woocommerce-order-details > * + * {
  margin-top: var(--space-xs);
}
.woocommerce-order-details table.woocommerce-table--order-details tr > * {
  width: 50%;
}
.woocommerce-order-details table.woocommerce-table--order-details tbody td {
  border: 0;
}
@media (max-width: 575px) {
  .woocommerce-order-details table.woocommerce-table--order-details tr > *:last-child {
    text-align: right;
  }
}
.woocommerce-order-details table.woocommerce-table--order-details tfoot > tr:last-child > * {
  border: 0;
  padding-bottom: 0;
}
.woocommerce-order-details table.woocommerce-table--order-details tbody tr.order_item:not(:first-child) td {
  padding-top: 0;
}
.woocommerce-order-details table.woocommerce-table--order-details .shipped_via, .woocommerce-order-details table.woocommerce-table--order-details .includes_tax {
  display: block;
}

/** Totals
--------------------------------------------------------- */
.woocommerce-cart .woocommerce .order-total small.includes_tax,
.woocommerce-checkout .woocommerce .order-total small.includes_tax {
  display: block;
  font-family: var(--font-primary);
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  font-weight: var(--body-font-weight);
  color: var(--body-color);
  font-size: var(--text-sm-font-size);
}
/** Bar shop info
--------------------------------------------------------- */
.bar-shop-info {
  background-color: var(--color-primary);
  padding: var(--space-md) 0;
}
.bar-shop-info * {
  color: white;
}
.bar-shop-info svg {
  fill: white;
  font-size: 2em;
  margin-right: var(--space-sm);
}
.bar-shop-info h3 {
  max-width: 15em;
}
.bar-shop-info h3 small {
  display: block;
  font-family: var(--font-primary);
  font-size: var(--text-xs-font-size);
  margin-top: 0.4em;
}
.bar-shop-info .grid > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ////////////////////////////////////////////////////
 *	WooCommerce: Account
 * //////////////////////////////////////////////////// */
/** Login / Register page
--------------------------------------------------------- */
.woocommerce-account .woocommerce h2 {
  margin-top: 0;
}
.woocommerce-account .woocommerce form.woocommerce-form-login .form-row:nth-child(3) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.woocommerce-account .woocommerce form.woocommerce-form-login .form-row:nth-child(3):before, .woocommerce-account .woocommerce form.woocommerce-form-login .form-row:nth-child(3):after {
  display: none;
}
.woocommerce-account .woocommerce form.woocommerce-form-login .form-row:nth-child(3) label {
  margin: 0;
}
.woocommerce-account .woocommerce form.woocommerce-form-login .form-row:nth-child(3) button.woocommerce-form-login__submit {
  margin-right: 0;
}
/** Lost password
--------------------------------------------------------- */
.woocommerce-lost-password .woocommerce form.woocommerce-ResetPassword p {
  float: none;
  width: 100%;
}

/** My account
--------------------------------------------------------- */
.woocommerce-account .woocommerce {
  /**
   * Layout
   */
  /**
   * Nav
   */
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
    margin-bottom: var(--space-md);
  }
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content > * + * {
  margin-top: var(--space-sm);
}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content > *:nth-child(2) {
  margin-top: 0;
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 4px;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li {
    width: calc(50% - 2px);
    margin-top: 0;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li > a {
    display: flex;
    justify-content: center;
    padding: var(--space-xs);
    border: 1px solid currentColor;
  }
  .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul li.is-active > a {
    background-color: var(--color-secondary);
    color: white;
  }
}
@media (min-width: 768px) {
  .woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul > * + * {
    margin-top: var(--space-xxs);
  }
}

/** My account > Orders
--------------------------------------------------------- */
.woocommerce-orders .woocommerce table.woocommerce-orders-table thead th.woocommerce-orders-table__header-order-actions {
  text-align: right;
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody {
  /**
   * 📱 Mobile layout
   */
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody > * + * {
  margin-top: var(--space-sm);
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-status span {
  display: inline-flex;
  padding: 0.1em 0.8em;
  border-radius: 500px;
  background: #e5e5e5;
  color: #777;
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-status span.on-hold {
  background: #f8dda7;
  color: #5b841b;
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-status span.processing {
  background: #c6e1c6;
  color: #5b841b;
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-status span.completed {
  background: #c8d7e1;
  color: #2e4453;
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount {
  display: block;
  font-size: var(--text-md-font-size);
  font-weight: var(--font-weight-bold);
}
.woocommerce-orders .woocommerce table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions {
  text-align: right;
}
@media (max-width: 767px) {
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid red;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row > td {
    flex: 0 0 50%;
    padding: var(--space-sm);
    border: 0;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-number {
    text-align: left !important;
    font-size: var(--text-xs-font-size);
    background-color: var(--gray-3) !important;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-date {
    font-size: var(--text-xs-font-size);
    color: var(--color-base-muted);
    background-color: var(--gray-3) !important;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-status {
    text-align: left !important;
    padding-bottom: 0;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-total {
    padding-bottom: 0;
    padding-left: 0;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-total .woocommerce-Price-amount {
    font-size: var(--text-lg-font-size);
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions {
    flex: 0 0 100%;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td.woocommerce-orders-table__cell-order-actions a.woocommerce-button {
    width: 100%;
    text-align: center;
  }
  .woocommerce-orders .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row td:before {
    display: none;
  }
}

/** My account > View Order
--------------------------------------------------------- */
.woocommerce-view-order .woocommerce mark.order-number,
.woocommerce-view-order .woocommerce mark.order-date,
.woocommerce-view-order .woocommerce mark.order-status {
  background-color: transparent;
  color: var(--color-base);
  font-weight: var(--font-weight-bold);
}

/** My account > Addresses
--------------------------------------------------------- */
/* ////////////////////////////////////////////////////
 *	WooCommerce: Single product
 * //////////////////////////////////////////////////// */
@media (min-width: 768px) {
  .woocommerce-page.single-product #content div.product div.images, .woocommerce-page.single-product div.product div.images, .woocommerce-page.single-product .woocommerce-page #content div.product div.images, .woocommerce-page.single-product .woocommerce-page div.product div.images {
    width: 58%;
  }
}
@media (min-width: 768px) {
  .woocommerce-page.single-product #content div.product div.summary, .woocommerce-page.single-product div.product div.summary, .woocommerce-page.single-product .woocommerce-page #content div.product div.summary, .woocommerce-page.single-product .woocommerce-page div.product div.summary {
    width: 38%;
  }
}
.woocommerce-page.single-product div.product div.summary > * + * {
  margin-top: var(--space-xs);
}
.woocommerce-page.single-product div.product div.summary .product_meta {
  font-size: var(--text-xs-font-size);
  opacity: 0.4;
}
.woocommerce-page.single-product div.product div.summary .product_meta > *:not(:last-child) {
  margin-right: var(--space-sm);
}
.woocommerce-page.single-product .woocommerce-product-details__short-description > * + * {
  margin-top: var(--space-xs);
}
.woocommerce-page.single-product div.product p.price,
.woocommerce-page.single-product div.product span.price {
  font-family: var(--font-secondary);
  font-size: var(--h3-font-size);
  color: var(--color-secondary);
}
.woocommerce-page.single-product div.product p.price ins,
.woocommerce-page.single-product div.product span.price ins {
  text-decoration: none;
}
.woocommerce-page.single-product div.product.product-type-variable .summary > p.price {
  font-size: var(--h5-font-size);
}
.woocommerce-page.single-product div.product.product-type-simple form.cart {
  display: flex;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations th, .woocommerce-page.single-product div.product.product-type-variable form.cart table.variations td {
  padding: 0;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations a.reset_variations {
  display: none !important;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations tbody tr th {
  vertical-align: middle;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations tbody tr th label {
  margin-bottom: 0;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart table.variations tbody tr td select {
  width: 100%;
}
.woocommerce-page.single-product div.product.product-type-variable form.cart .woocommerce-variation {
  margin-bottom: var(--space-sm);
}
.woocommerce-page.single-product div.product.product-type-variable form.cart .woocommerce-variation-add-to-cart {
  display: flex;
}
.woocommerce-page.single-product div.product div.images img {
  max-width: 30em;
  margin: 0 auto;
}
.woocommerce-page.single-product span.onsale {
  background-color: var(--color-secondary);
  min-height: 7em;
  min-width: 7em;
  line-height: 7em;
  top: 0;
  left: 0;
  padding: 0;
}
.woocommerce-page.single-product div.product > section {
  clear: both;
  margin-top: var(--space-md);
}
.woocommerce-page.single-product div.product .section--details-1 {
  margin-top: 0 !important;
  padding-top: var(--space-md);
}
.woocommerce-page.single-product div.product .up-sells.upsells.products,
.woocommerce-page.single-product .related.products {
  border-top: 1px solid #eee;
  padding-top: var(--space-md);
}
.woocommerce-page.single-product div.product .up-sells.upsells.products > h2,
.woocommerce-page.single-product .related.products > h2 {
  margin-bottom: var(--space-sm);
}
.woocommerce-page.single-product div.product .up-sells.upsells.products + .related.products {
  margin-top: 0 !important;
}

/* ////////////////////////////////////////////////////
 *	WooCommerce: Category
 * //////////////////////////////////////////////////// */
.woocommerce-products-header {
  text-align: center;
  margin-bottom: var(--space-sm);
}

.archive.woocommerce .products ul,
.archive.woocommerce ul.products {
  margin-top: var(--space-xl);
}

/* ////////////////////////////////////////////////////
 *	WooCommerce: Cart
 *
 *  Styles based on: https://demo.addonify.com/woo/01/floating-cart/cart
 * //////////////////////////////////////////////////// */
.woocommerce-cart .woocommerce {
  /** Layout
   *
   *  2 columns: cart items table | cart totals
   *  This layout works after moving 'woocommerce_cross_sell_display'
   *  into hook 'woocommerce_after_cart'
  --------------------------------------------------------- */
  /** Cross sells
  --------------------------------------------------------- */
  /** Notices
  --------------------------------------------------------- */
  /** Cart item
  --------------------------------------------------------- */
  /**
   * 📱Cart item for Mobile
   */
  /** Actions
  --------------------------------------------------------- */
  /**
   * 📱Actions for Mobile
   */
  /** Cart totals
  --------------------------------------------------------- */
  /** Shipping calculator
  --------------------------------------------------------- */
}
.woocommerce-cart .woocommerce:after {
  content: "";
  display: block;
  clear: both;
}
@media (min-width: 1200px) {
  .woocommerce-cart .woocommerce .woocommerce-cart-form {
    float: left;
    width: 70%;
    padding-right: var(--space-sm);
  }
  .woocommerce-cart .woocommerce .cart-collaterals {
    float: right;
    width: 30%;
    margin-top: 0;
  }
}
.woocommerce-cart .woocommerce .cart_totals {
  float: none;
  width: 100%;
}
.woocommerce-cart .woocommerce .cross-sells {
  clear: both;
  padding-top: var(--space-md);
}
.woocommerce-cart .woocommerce .cross-sells ul {
  padding-left: 0 !important;
}
.woocommerce-cart .woocommerce .woocommerce-notices-wrapper:not(:empty) {
  margin-bottom: 30px;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form table tr,
.woocommerce-cart .woocommerce .woocommerce-cart-form table th,
.woocommerce-cart .woocommerce .woocommerce-cart-form table td {
  border: 1px solid;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form table th,
.woocommerce-cart .woocommerce .woocommerce-cart-form table td {
  border-left: 0;
  border-right: 0;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form table th {
  padding: 16px 0;
  font-size: var(--text-xs-font-size);
}
.woocommerce-cart .woocommerce .woocommerce-cart-form table td {
  font-size: var(--body-font-size);
}
.woocommerce-cart .woocommerce .woocommerce-cart-form table tbody tr:not(.woocommerce-cart-form__cart-item),
.woocommerce-cart .woocommerce .woocommerce-cart-form table tbody tr:not(.woocommerce-cart-form__cart-item) td {
  border-color: transparent !important;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form table tr.cart_item td {
  padding: 30px 0;
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .woocommerce-cart-form table tr.cart_item td {
    padding: 30px;
  }
}
@media (min-width: 992px) {
  .woocommerce-cart .woocommerce .shop_table td.product-subtotal,
.woocommerce-cart .woocommerce .shop_table td.product-quantity,
.woocommerce-cart .woocommerce .shop_table td.product-price {
    width: 15%;
  }
}
.woocommerce-cart .woocommerce .product-remove {
  font-size: var(--text-lg-font-size);
  text-align: center;
  padding: 0 10px;
}
.woocommerce-cart .woocommerce .product-remove a {
  display: inline-block;
  color: inherit !important;
  text-align: center !important;
  font-weight: 300;
}
.woocommerce-cart .woocommerce .product-remove a:hover {
  color: var(--color-error) !important;
  background-color: transparent;
}
.woocommerce-cart .woocommerce .product-thumbnail {
  text-align: center;
  width: var(--space-lg);
  max-width: var(--space-lg);
  vertical-align: top;
}
.woocommerce-cart .woocommerce .product-thumbnail img {
  width: auto;
  max-width: var(--space-lg);
}
.woocommerce-cart .woocommerce th.product-name,
.woocommerce-cart .woocommerce td.product-name {
  padding-left: 30px !important;
  padding-right: 15px !important;
  text-align: left;
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce th.product-name,
.woocommerce-cart .woocommerce td.product-name {
    padding-left: 10px !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .woocommerce-cart .woocommerce .shop_table td.product-name {
    width: 30%;
  }
}
.woocommerce-cart .woocommerce .product-name a {
  font-family: var(--font-secondary);
}
@media (max-width: 575px) {
  .woocommerce-cart .woocommerce .product-name a {
    font-size: var(--text-sm-font-size);
  }
}
.woocommerce-cart .woocommerce .qty {
  max-width: 100px;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form__contents .product-subtotal {
  font-weight: var(--font-weight-bold);
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 30px 15px;
    position: relative;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item:not(:first-of-type) {
    border-top: 0;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td {
    border: 0;
    padding: 0;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr td:before {
    display: none;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-remove {
    position: absolute;
    top: 10px;
    right: 10px;
    line-height: 1;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-thumbnail {
    display: block !important;
    flex: 0 0 60px;
    max-width: 60px;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-thumbnail img {
    max-width: 60px;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-name {
    flex: 0 0 calc(70% - 30px);
    padding-left: 15px !important;
    text-align: left !important;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-price {
    flex: 0 0 calc(30% - 30px);
    text-align: right !important;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-quantity,
.woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-subtotal {
    padding-top: 30px;
    flex: 0 0 50%;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-quantity {
    text-align: left !important;
  }
  .woocommerce-cart .woocommerce table.woocommerce-cart-form__contents tr.cart_item td.product-subtotal {
    text-align: right;
  }
}
.woocommerce-cart .woocommerce .woocommerce-cart-form .actions {
  padding-top: 30px;
  padding-left: 0;
  padding-right: 0;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form .actions .button {
  float: right;
  padding-top: var(--form-control-padding-y);
  padding-bottom: var(--form-control-padding-y);
  padding-left: var(--form-control-padding-x);
  padding-right: var(--form-control-padding-x);
  height: 3em;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon {
  display: flex;
  float: left;
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon {
    float: none;
    display: flex;
  }
}
.woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon label {
  display: none;
}
.woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon input[type=text] {
  width: auto;
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon input[type=text] {
    flex-grow: 1;
  }
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .button[name=update_cart] {
    float: none;
    margin-top: 15px;
  }
}
@media (max-width: 767px) {
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions {
    display: flex;
    flex-wrap: wrap;
  }
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .button[name=update_cart] {
    order: -1;
    margin-top: 0;
    margin-bottom: 15px;
    width: 100%;
  }
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon {
    float: none;
    width: 100%;
  }
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon button,
.woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon input {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .woocommerce-cart .woocommerce .woocommerce-cart-form .actions .coupon button {
    padding: 10px;
  }
}
.woocommerce-cart .woocommerce .cart_totals {
  background-color: var(--gray-3);
  padding: var(--space-sm);
}
@media (max-width: 991px) {
  .woocommerce-cart .woocommerce .cart_totals {
    max-width: none;
    margin: 5px 0 40px;
  }
}
.woocommerce-cart .woocommerce .cart-totals-sticky + .woocommerce-cart-form + .cart_totals {
  position: sticky;
  top: 35px;
}
.woocommerce-cart .woocommerce .admin-bar .cart-totals-sticky + .woocommerce-cart-form + .cart_totals {
  top: 67px;
}
.woocommerce-cart .woocommerce div.cart_totals table tr td {
  border-top: 0;
}
.woocommerce-cart .woocommerce div.cart_totals table tr.order-total th,
.woocommerce-cart .woocommerce div.cart_totals table tr.order-total td {
  border-bottom: 0;
}
.woocommerce-cart .woocommerce .cart_totals td {
  text-align: right;
}
.woocommerce-cart .woocommerce .cart_totals h2 {
  font-size: var(--h3-font-size);
  margin-bottom: var(--space-xs);
}
.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination {
  text-align: left;
  margin-top: var(--space-xs);
  font-size: var(--text-sm-font-size);
}
.woocommerce-cart .woocommerce .cart_totals .order-total strong .woocommerce-Price-amount {
  font-size: var(--h4-font-size);
}
.woocommerce-cart .woocommerce .cart_totals .checkout-button {
  display: block;
  width: 100%;
  font-size: var(--h5-font-size);
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 0;
}
.woocommerce-cart .woocommerce .cart_totals .checkout-button + #ppc-button {
  margin-top: var(--space-lg);
}
.woocommerce-cart .woocommerce #ppcp-messages + .checkout-button {
  margin-top: 10px;
}
.woocommerce-cart .woocommerce .checkout-button + .ppc-button-wrapper {
  margin-top: 20px;
}
.woocommerce-cart .woocommerce .woocommerce-shipping-calculator {
  text-align: left;
}
.woocommerce-cart .woocommerce .shipping-calculator-form {
  margin-top: 30px;
  text-align: left;
}
.woocommerce-cart .woocommerce .shipping-calculator-form .input-text {
  width: 100%;
}
.woocommerce-cart .woocommerce .shipping-calculator-form .form-row {
  margin-bottom: 20px;
}
.woocommerce-cart .woocommerce a.shipping-calculator-button {
  margin: 0;
  color: var(--link-color) !important;
}
.woocommerce-cart .woocommerce a.shipping-calculator-button:after {
  content: none;
}
.woocommerce-cart .woocommerce .cart_totals .shipping-calculator-button {
  color: #716f6f;
  font-size: var(--text-sm-font-size);
  text-transform: uppercase;
  text-decoration: none;
}

.woocommerce-cart .cart-collaterals .woocommerce-error,
.woocommerce-cart .cart-collaterals .woocommerce-message {
  display: none !important;
}

/* ////////////////////////////////////////////////////
 *	WooCommerce: Checkout
 *
 *  Styles based on: https://demo.addonify.com/woo/01/floating-cart/checkout
 * //////////////////////////////////////////////////// */
.woocommerce-checkout .woocommerce {
  /** Layout
  --------------------------------------------------------- */
  /** Globals
  --------------------------------------------------------- */
  /** Coupon
  --------------------------------------------------------- */
  /** Notices (ie. error messages)
  --------------------------------------------------------- */
  /** Billing / Shipping forms
  --------------------------------------------------------- */
  /** Order review
  --------------------------------------------------------- */
  /** Shipping methods Box
  --------------------------------------------------------- */
  /** Payment methods Box
  --------------------------------------------------------- */
}
.woocommerce-checkout .woocommerce .woocommerce-checkout {
  margin-top: var(--space-md);
}
.woocommerce-checkout .woocommerce #customer_details {
  display: flex;
  flex-flow: column nowrap;
}
.woocommerce-checkout .woocommerce #customer_details .col-1,
.woocommerce-checkout .woocommerce #customer_details .col-2 {
  width: 100%;
}
.woocommerce-checkout .woocommerce #order_review_heading {
  margin-top: var(--space-md);
}
@media (min-width: 992px) {
  .woocommerce-checkout .woocommerce form.woocommerce-checkout {
    display: flex;
    flex-wrap: wrap;
  }
  .woocommerce-checkout .woocommerce #customer_details {
    flex: 0 0 60%;
    max-width: 60%;
    padding-right: var(--space-xl);
  }
  .woocommerce-checkout .woocommerce .checkout-order-review {
    flex: 0 0 40%;
    max-width: 40%;
  }
  .woocommerce-checkout .woocommerce #order_review_heading {
    margin-top: 0;
  }
}
.woocommerce-checkout .woocommerce h3 {
  margin-bottom: var(--space-sm);
}
.woocommerce-checkout .woocommerce .woocommerce-form-coupon-toggle .woocommerce-info {
  margin-bottom: 0;
  background-color: var(--gray-3);
}
.woocommerce-checkout .woocommerce form.checkout_coupon {
  padding-top: var(--space-xs);
  margin: 0;
  border: 0;
  border-radius: 0;
  background-color: var(--gray-3);
  display: flex;
  flex-wrap: wrap;
}
.woocommerce-checkout .woocommerce form.checkout_coupon > p:first-child {
  width: 100%;
  margin-bottom: var(--space-xs);
}
.woocommerce-checkout .woocommerce form.checkout_coupon .form-row {
  margin: 0;
  padding: 0;
  float: none;
  width: 100%;
}
@media (min-width: 576px) {
  .woocommerce-checkout .woocommerce form.checkout_coupon .form-row {
    width: auto;
  }
}
.woocommerce-checkout .woocommerce form.checkout_coupon button {
  height: 100%;
  width: 100%;
  margin-top: var(--space-xs);
}
@media (min-width: 576px) {
  .woocommerce-checkout .woocommerce form.checkout_coupon button {
    margin-left: var(--space-xs);
    margin-top: 0;
    width: auto;
  }
}
.woocommerce-checkout .woocommerce .woocommerce-NoticeGroup-checkout {
  flex: 0 0 100%;
  max-width: 100%;
}
.woocommerce-checkout .woocommerce .woocommerce-NoticeGroup-checkout > ul {
  margin-bottom: var(--space-md);
}
.woocommerce-checkout .woocommerce #customer_details .col-2,
.woocommerce-checkout .woocommerce #customer_details .woocommerce-additional-fields {
  margin-top: var(--space-md);
}
.woocommerce-checkout .woocommerce #ship-to-different-address {
  font-family: var(--font-primary);
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  font-weight: var(--body-font-weight);
  color: var(--body-color);
  margin-bottom: 0;
}
.woocommerce-checkout .woocommerce #ship-to-different-address .woocommerce-form__label-for-checkbox span {
  font-weight: var(--font-weight-bold);
}
.woocommerce-checkout .woocommerce .woocommerce-account-fields {
  margin-top: var(--space-md);
}
.woocommerce-checkout .woocommerce .checkout-order-review {
  /** Cart items and Totals
  --------------------------------------------------------- */
}
.woocommerce-checkout .woocommerce .checkout-order-review #order_review {
  background-color: var(--gray-3);
  padding: var(--space-sm);
}
.woocommerce-checkout .woocommerce .checkout-order-review td,
.woocommerce-checkout .woocommerce .checkout-order-review .product-total {
  text-align: right;
}
.woocommerce-checkout .woocommerce .checkout-order-review .cart_item td {
  border: 0;
}
.woocommerce-checkout .woocommerce .checkout-order-review .cart_item:not(:first-child) td {
  padding-top: 0;
}
.woocommerce-checkout .woocommerce .checkout-order-review .cart_item td.product-name {
  text-align: left;
}
.woocommerce-checkout .woocommerce .checkout-order-review .order-total th,
.woocommerce-checkout .woocommerce .checkout-order-review .order-total td {
  border-bottom: 0;
}
.woocommerce-checkout .woocommerce .checkout-order-review .cart-subtotal .amount {
  font-size: var(--text-sm-font-size);
  font-weight: var(--font-weight-bold);
}
.woocommerce-checkout .woocommerce .checkout-order-review .order-total strong .amount {
  font-size: var(--text-lg-font-size);
  font-weight: var(--font-weight-bold);
}
.woocommerce-checkout .woocommerce .checkout-order-review .button {
  width: 100%;
  text-transform: uppercase;
  padding: var(--space-sm);
}
.woocommerce-checkout .woocommerce #payment {
  background: transparent;
  border-radius: 0;
}
.woocommerce-checkout .woocommerce #payment > * + * {
  margin-top: var(--space-sm);
}
.woocommerce-checkout .woocommerce #payment div.form-row {
  padding: 0;
}
.woocommerce-checkout .woocommerce #payment ul.payment_methods {
  background-color: transparent;
  border-bottom: 0;
  padding: 0 !important;
}
.woocommerce-checkout .woocommerce #payment ul.payment_methods > * + * {
  margin-top: var(--space-xxs);
}
.woocommerce-checkout .woocommerce #payment ul.payment_methods > li.wc_payment_method {
  flex-wrap: wrap;
}
.woocommerce-checkout .woocommerce #payment ul.payment_methods > li.wc_payment_method label {
  font-weight: var(--font-weight-bold);
}
.woocommerce-checkout .woocommerce #payment div.payment_box {
  background-color: var(--white);
  color: var(--color-base);
  font-size: var(--text-sm-font-size);
}
.woocommerce-checkout .woocommerce #payment div.payment_box:before {
  border-bottom-color: var(--white);
}
.woocommerce-checkout .woocommerce .woocommerce-terms-and-conditions-wrapper {
  font-size: var(--text-sm-font-size);
}
.woocommerce-checkout .woocommerce #payment button#place_order {
  float: none;
  margin-top: var(--space-sm);
}
.woocommerce-checkout .woocommerce .wc_payment_methods .woocommerce-notice {
  padding: 0;
}
.woocommerce-checkout .woocommerce .ppc-button-wrapper {
  margin-top: var(--space-sm);
}

/** Order confirmation page
--------------------------------------------------------- */
.woocommerce-order-received .woocommerce > * + * {
  margin-top: var(--space-md);
}
.woocommerce-order-received .woocommerce .woocommerce-order > * + * {
  margin-top: var(--space-md);
}
.woocommerce-order-received .woocommerce .woocommerce-notice {
  padding: var(--space-sm);
  text-align: center;
  background-color: var(--gray-3);
}
.woocommerce-order-received .woocommerce .woocommerce-notice--success {
  background-color: var(--color-success);
}
.woocommerce-order-received .woocommerce .woocommerce-notice--error {
  background-color: var(--color-error);
}
.woocommerce-order-received .woocommerce ul.order_details {
  background-color: var(--gray-3);
  display: flex;
  flex-direction: column;
  padding: var(--space-md);
  margin-bottom: 0;
}
.woocommerce-order-received .woocommerce ul.order_details > * + * {
  margin-top: var(--space-md);
}
@media (min-width: 992px) {
  .woocommerce-order-received .woocommerce ul.order_details {
    flex-direction: row;
    justify-content: space-between;
    padding: 0;
  }
}
.woocommerce-order-received .woocommerce ul.order_details > li {
  float: none;
  margin-right: 0;
  border-right: 0;
  padding: 0;
  font-size: var(--text-sm-font-size);
}
.woocommerce-order-received .woocommerce ul.order_details > li strong {
  font-size: var(--body-font-size);
  margin-top: var(--space-xxs);
}
@media (min-width: 992px) {
  .woocommerce-order-received .woocommerce ul.order_details > li {
    margin-top: 0;
    padding: var(--space-md);
  }
}
.woocommerce-order-received .woocommerce ul.order_details:before, .woocommerce-order-received .woocommerce ul.order_details:after {
  display: none;
}
.woocommerce-order-received .woocommerce .woocommerce-bacs-bank-details h3.wc-bacs-bank-details-account-name {
  font-size: var(--h4-font-size);
  font-weight: var(--heading-font-weight);
  margin-top: var(--space-sm);
}

/**
 * Shame
 * https://changelog.com/posts/shame-css
 * https://csswizardry.com/2013/04/shame-css/
 */
/* ////////////////////////////////////////////////
 *  Shame
 *  https://csswizardry.com/2013/04/shame-css/
 * //////////////////////////////////////////////// */
/** Filters (Blog)
--------------------------------------------------------- */
.filters {
  display: none;
  align-items: center;
  justify-content: center;
}
@media (min-width: 576px) {
  .filters {
    display: flex;
  }
}
.filters > *:not(:last-child) {
  margin-right: var(--space-md);
}
.filters ul {
  display: flex;
  align-items: center;
}
.filters ul > *:not(:last-child) {
  margin-right: var(--space-md);
}

/** Article actions
--------------------------------------------------------- */
.article-actions {
  display: flex;
}
.article-actions > *:not(:last-child) {
  margin-right: var(--space-sm);
}
.article-actions a {
  color: var(--color-base) !important;
}
.article-actions a:visited, .article-actions:focus {
  color: var(--color-base) !important;
}
.article-actions a:hover {
  color: var(--link-color) !important;
}

.article-actions__action {
  position: relative;
}

.article-actions__dropdown {
  display: none;
  background: white;
  border: 1px solid var(--gray-5);
  min-width: 9em;
  padding: var(--space-xxs) 0;
  position: absolute;
  left: -100%;
  z-index: 1;
}
.article-actions__action:hover .article-actions__dropdown {
  display: block;
}
.article-actions__dropdown .share-links li a {
  padding: 0.4em var(--space-xs);
}

/** Cookie bar (Plugin)
--------------------------------------------------------- */
#cookie-law-info-bar {
  padding: 5px 10px;
}

#cookie-law-info-again {
  box-shadow: none !important;
}

.cli-plugin-main-button {
  margin: 0 10px;
}

.cli-plugin-main-link {
  font-weight: normal;
  text-decoration: none;
}

/** Social links
--------------------------------------------------------- */
/** Language selector
--------------------------------------------------------- */
/** Entry meta
--------------------------------------------------------- */
/** Alert
--------------------------------------------------------- */
.alert {
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  padding: var(--space-xxs) var(--space-xs);
  font-size: var(--text-sm-font-size);
}
