:root {
  --focus-outline-color: #185bc0e8;
  --text-highlight-bg-color: #185bc0e8;
  --text-highlight-color: #ffffff;
  --primary-color: #003b49;
  --secondary-color: #f58420;
  --tertiary-color: #ccd8db;
  --gray-color: #444343;
  --light-color: #ededed;
  --light-gray: var(--light-color);
  --body-color: #f5f5f5;
  --dark-color: var(--primary-color);
  --white-color: #ffffff;
  --dark-white-color: #3e2727;
  --black-color: #000000;
  --list-price-text-color: #d20419;
  --list-price-bg: transparent;
  --default-component-background: transparent;
  --default-border-color: #d5d5d5;
  --default-border-color-light: #265864;
  --default-border-color-dark: #d5d5d53d;
  --default-border-color-primary: #d5d5d544;
  --default-hr-color: #d2d2d2;
  --default-hr-color-light: #d2d2d2;
  --default-hr-color-dark: rgba(255,255,255,0.15);
  --default-hr-color-primary: #ffffff49;
  --default-hr-color-secondary: #ffffff49;
  --default-hr-color-tertiary: #ffffff49;
  --default-text-color: #5e707c;
  --default-text-color-light: #5e707c;
  --default-text-color-dark: #ffffff;
  --default-text-color-primary: #ffffff;
  --default-text-color-secondary: #ffffff;
  --default-text-color-tertiary: #ffffff;
  --default-bold-color: var(--primary-color);
  --default-bold-color-light: var(--primary-color);
  --default-bold-color-dark: #ffffff;
  --default-bold-color-primary: #ffffff;
  --default-bold-color-secondary: #ffffff;
  --default-bold-color-tertiary: #ffffff;
  --default-link-color: var(--secondary-color);
  --default-link-color-light: var(--secondary-color)
  --default-link-color-dark: var(--secondary-color);
  --default-link-color-primary: var(--white-color);
  --default-link-color-secondary: #ffffff;
  --default-link-color-tertiary: #ffffff;
  --default-heading-color: var(--primary-color);
  --default-heading-color-h1: var(--primary-color);
  --default-heading-color-h2: var(--secondary-color);
  --default-heading-color-h3: var(--primary-color);
  --default-heading-color-h4: var(--primary-color);
  --default-heading-color-h5: var(--secondary-color);
  --default-heading-color-h6: var(--primary-color);
  --default-heading-color-dark: #ffffff;
  --default-heading-color-h1-dark: #ffffff;
  --default-heading-color-h2-dark: #ffffff;
  --default-heading-color-h3-dark: #ffffff;
  --default-heading-color-h4-dark: #ffffff;
  --default-heading-color-h5-dark: var(--white-color);
  --default-heading-color-h6-dark: #ffffff;
  --default-heading-color-light: var(--primary-color);
  --default-heading-color-h1-light: var(--primary-color);
  --default-heading-color-h2-light: var(--secondary-color);
  --default-heading-color-h3-light: var(--primary-color);
  --default-heading-color-h4-light: var(--primary-color);
  --default-heading-color-h5-light: var(--secondary-color);
  --default-heading-color-h6-light: var(--primary-color);
  --default-text-weight: 300;
  --primary-font: "Red Hat Text", sans-serif;
  --secondary-font: "Outfit", sans-serif;
  --body-min-width: 320px;
  --wrapper-width-narrow: 780px;
  --wrapper-width-medium: 1080px;
  --wrapper-width-normal: 1280px;
  --wrapper-width-wide: 1380px;
  --wrapper-width-ultrawide: 1600px;
  --wrapper-padding: 25px;
  --mobilenav-open-text-color: var(--white-color);
  --mobilenav-open-bg-color: var(--primary-color);
  --mobilenav-background-color: var(--primary-color);
  --mobilenav-border-color: var(--default-border-color-light);
  --mobilenav-plus-color: var(--white-color);
  --mobilenav-active-plus-color: var(--secondary-color);
  --mobilenav-link-color: var(--white-color);
  --mobilenav-active-link-color: var(--secondary-color);
  --mobilenav-close-color: var(--secondary-color);
  --mobilenav-width: 320px;
  --main-container-padding-mobile: 1.5em 0;
  --main-container-padding-desktop: 2.5em 0;
  --hero-content-overlap-mobile: 3em;
  --hero-content-overlap-desktop: 6em;
  --some-button-color: #ffffff;
  --some-button-bg-color: var(--secondary-color);
  --mk-admin-primary-color: #e40046;
  --mk-admin-primary-color-d1: #da0246;
  --mk-admin-primary-color-d2: #cb003e;
  --mk-admin-primary-color-d3: #d50041;
  --mk-admin-primary-color-d4: #bb0039;
  --mk-admin-primary-color-d5: #98002f;
  --mk-admin-primary-color-l1: #ff185f;
  --mk-admin-primary-color-l2: #f3004b;
  --mk-admin-secondary-color: #ff6b1b;
}

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

*, *::after, *::before {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

button.open-mobile-menu-button {
  --button-text-color: var(--mobilenav-open-text-color) !important;
  --button-bg-color: var(--mobilenav-open-bg-color) !important;
  padding: 0.7em 1em 0.7em 1em;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 1.25rem;
}
button.open-mobile-menu-button svg path {
  fill: var(--mobilenav-open-text-color) !important;
}
button.open-mobile-menu-button span.main-text, button.open-mobile-menu-button span.open-text {
  text-transform: uppercase;
  line-height: 20px;
}
button.open-mobile-menu-button span.main-text {
  display: none;
}
button.open-mobile-menu-button span.open-text {
  display: none;
}
@media (min-width: 480px) {
  button.open-mobile-menu-button span.main-text {
    display: inline-block;
    margin-left: 0.5em;
  }
}
@media (min-width: 768px) {
  button.open-mobile-menu-button {
    padding: 0.7em 1.2em 0.7em 1.2em;
  }
  button.open-mobile-menu-button span.main-text {
    margin-left: 0.2em;
  }
  button.open-mobile-menu-button span.open-text {
    display: inline-block;
    margin-left: 0.5em;
  }
}

#mobilenav {
  background-color: var(--mobilenav-background-color);
  opacity: 1;
  box-shadow: -9px 0px 25px -10px #000;
  position: fixed;
  top: 0;
  left: 100%;
  overflow: auto;
  bottom: 0;
  max-width: var(--mobilenav-width);
  width: 100%;
  z-index: 201;
  transition: all 0.3s ease;
  transform: translateX(0%) perspective(800px) rotateY(-50deg);
}
#mobilenav.open {
  transform: translateX(-100%) perspective(800px) rotateY(0deg);
  opacity: 1;
}
#mobilenav .mobilenav-header {
  background-color: var(--white-color);
  height: 90px;
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 25px;
}
#mobilenav .mobilenav-header .site-logo {
  color: #ffffff;
  font-family: var(--secondary-font);
  font-weight: 800;
  font-size: 1.125rem;
}
#mobilenav .mobilenav-header .site-logo img {
  width: 170px;
  display: block;
}
#mobilenav .mobilenav-navigation {
  padding: 10px 0 20px 0;
  background-color: var(--mobilenav-background-color);
}
#mobilenav .mobilenav-navigation ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
#mobilenav .mobilenav-navigation ul#mobile {
  overflow: hidden;
  padding: 15px 0;
  border-bottom: 1px solid var(--mobilenav-border-color);
}
#mobilenav .mobilenav-navigation ul#mobile li {
  position: relative;
}
#mobilenav .mobilenav-navigation ul#mobile li a {
  color: var(--mobilenav-link-color);
  font-family: var(--secondary-font);
  display: block;
  text-decoration: none;
  padding: 5px 25px;
}
#mobilenav .mobilenav-navigation ul#mobile li[class*=current] > a {
  color: var(--mobilenav-active-link-color);
}
#mobilenav .mobilenav-navigation ul#mobile li button.toggle-submenu {
  height: 35px;
  width: 35px;
  top: 0;
  right: 20px;
  --submenu-toggle-color: var(--mobilenav-plus-color);
}
#mobilenav .mobilenav-navigation ul#mobile > li[class*=current] > button.toggle-submenu {
  --submenu-toggle-color: var( --mobilenav-active-plus-color);
}
#mobilenav .mobilenav-navigation ul#mobile li.menu-item-has-children > a {
  padding-right: 60px;
}
#mobilenav .mobilenav-navigation ul#mobile li.submenu-open > ul.sub-menu {
  opacity: 1;
  pointer-events: all;
  display: block;
}
#mobilenav .mobilenav-navigation ul#mobile ul.sub-menu {
  display: none;
}
#mobilenav .mobilenav-navigation ul#mobile ul.sub-menu li:first-of-type {
  margin-top: 10px;
}
#mobilenav .mobilenav-navigation ul#mobile ul.sub-menu li:last-of-type {
  margin-bottom: 10px;
}
#mobilenav .mobilenav-navigation ul#mobile > li > a {
  padding: 10px 25px;
}
#mobilenav .mobilenav-navigation ul#mobile > li > button.toggle-submenu {
  height: 45px;
  width: 35px;
}
#mobilenav .mobilenav-navigation ul#mobile > li > a {
  font-size: 1.25rem;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu {
  padding-left: 10px;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li > a {
  font-size: 1.125rem;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li > a::before {
  content: "- ";
  margin-left: -0.6em;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li ul.sub-menu {
  padding-left: 15px;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li ul.sub-menu > li > a {
  font-size: 1rem;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li ul.sub-menu > li > a::before {
  content: "- ";
  margin-left: -0.6em;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li ul.sub-menu li ul.sub-menu {
  padding-left: 15px;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li ul.sub-menu li ul.sub-menu > a {
  font-size: 1rem;
}
#mobilenav .mobilenav-navigation ul#mobile > li > ul.sub-menu > li ul.sub-menu li ul.sub-menu > a::before {
  content: "- ";
  margin-left: -0.6em;
}
#mobilenav .mobilenav-navigation ul#mobile li.submenu-open > button.toggle-submenu::before {
  display: none;
}
#mobilenav .mobilenav-navigation ul#mobile li button.toggle-submenu {
  position: absolute;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}
#mobilenav .mobilenav-navigation ul#mobile li button.toggle-submenu::before, #mobilenav .mobilenav-navigation ul#mobile li button.toggle-submenu::after {
  display: block;
  background-color: var(--submenu-toggle-color);
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
#mobilenav .mobilenav-navigation ul#mobile li button.toggle-submenu::before {
  width: 2px;
  height: 18px;
}
#mobilenav .mobilenav-navigation ul#mobile li button.toggle-submenu::after {
  width: 18px;
  height: 2px;
}
#mobilenav .mobilenav-bottom {
  margin: 30px 25px;
  margin-top: 15px;
  padding-top: 0.625rem;
}
#mobilenav .mobilenav-bottom .search-form {
  margin-bottom: 2em;
}
#mobilenav .mobilenav-bottom .mobile-menu-bottom-widgets {
  margin-top: 10px;
  font-size: 1rem;
}
#mobilenav .mobilenav-bottom .mobile-menu-bottom-widgets .button {
  --button-bg-color: transparent;
  --button-text-color: #ffffff;
  margin: 0.25em 0;
}
#mobilenav .mobilenav-bottom .mobile-menu-bottom-widgets a:not(.button) {
  text-decoration: none;
  color: inherit;
  font-weight: 300;
}
#mobilenav .mobilenav-bottom .login_buttons_container {
  margin-bottom: 2em;
  line-height: 1.2em;
  font-family: var(--secondary-font);
  font-size: 1rem;
}
#mobilenav .mobilenav-bottom .login_buttons_container a {
  display: block;
  color: var(--secondary-color);
}

#mobilenav-dimmer {
  position: fixed;
  opacity: 0;
  z-index: 200;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  transition: all 0.3s ease;
}
#mobilenav-dimmer.open {
  opacity: 1;
  pointer-events: auto;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  background: rgba(0, 0, 0, 0.5);
}

button.close-menu-button {
  background-color: transparent;
  display: block;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  border: 2px solid var(--mobilenav-close-color);
  padding: 0;
  position: relative;
  cursor: pointer;
  margin-left: auto;
}
button.close-menu-button::before, button.close-menu-button::after {
  display: block;
  background-color: var(--mobilenav-close-color);
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
button.close-menu-button::before {
  width: 2px;
  height: 55%;
}
button.close-menu-button::after {
  width: 55%;
  height: 2px;
}

/* --------------------------
 *
 * Import primary font
 * 'Red Hat Text''
 *
** ----------------------- */
/* red-hat-text-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Red Hat Text";
  font-style: normal;
  font-weight: 400;
  src: url("../font/red-hat-text/red-hat-text-v14-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* red-hat-text-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Red Hat Text";
  font-style: italic;
  font-weight: 400;
  src: url("../font/red-hat-text/red-hat-text-v14-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* red-hat-text-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Red Hat Text";
  font-style: normal;
  font-weight: 500;
  src: url("../font/red-hat-text/red-hat-text-v14-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* red-hat-text-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Red Hat Text";
  font-style: italic;
  font-weight: 500;
  src: url("../font/red-hat-text/red-hat-text-v14-latin-500italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* --------------------------
 *
 * Import secondary font 
 * 'Outfit'
 *
** ----------------------- */
/* outfit-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 400;
  src: url("../font/outfit/outfit-v11-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  src: url("../font/outfit/outfit-v11-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 600;
  src: url("../font/outfit/outfit-v11-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* outfit-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Outfit";
  font-style: normal;
  font-weight: 700;
  src: url("../font/outfit/outfit-v11-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body {
  font-size: 1.125rem;
  font-family: var(--primary-font);
  color: var(--default-text-color);
  background-color: var(--body-color);
  min-width: var(--body-min-width);
  font-weight: var(--default-text-weight);
  line-height: 1.389;
}

/* --------------------------
 *
 * Headings 
 * @link https://utopia.fyi/type/calculator?c=320,18,1.125,980,18,1.25,7,0,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l
 *
** ----------------------- */
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-size: max(var(--font-min), min(var(--sizer, 5vw), var(--font-max)));
  font-family: var(--secondary-font);
  color: var(--default-heading-color);
  font-weight: 500;
  line-height: 1.2em;
  margin-top: 0;
  margin-bottom: 0.55em;
}
h1 a, .h1 a,
h2 a, .h2 a,
h3 a, .h3 a,
h4 a, .h4 a,
h5 a, .h5 a,
h6 a, .h6 a {
  color: inherit;
  font-weight: inherit;
  font-family: inherit;
  text-decoration: none;
}
p + h1, p + .h1,
p + h2, p + .h2,
p + h3, p + .h3,
p + h4, p + .h4,
p + h5, p + .h5,
p + h6, p + .h6 {
  margin-top: 1em;
}
ol + h1, ol + .h1,
ol + h2, ol + .h2,
ol + h3, ol + .h3,
ol + h4, ol + .h4,
ol + h5, ol + .h5,
ol + h6, ol + .h6 {
  margin-top: 1em;
}
ul + h1, ul + .h1,
ul + h2, ul + .h2,
ul + h3, ul + .h3,
ul + h4, ul + .h4,
ul + h5, ul + .h5,
ul + h6, ul + .h6 {
  margin-top: 1em;
}

h1, .h1 {
  --font-min: 1.75rem;
  --sizer: 6vw;
  --font-max: 3.625rem;
  font-family: var(--secondary-font);
  color: var(--default-heading-color-h1);
  line-height: 1.0635em;
}
h1.extra-large, .h1.extra-large {
  text-transform: uppercase;
  font-weight: 700;
  --font-min: 1.875rem;
  --font-max: 4.375rem;
}
h1.product_title, .h1.product_title {
  --font-min: 1.625rem;
  --font-max: 3.375rem;
  margin-bottom: 0.3em;
}

h2, .h2 {
  --font-min: 1.5625rem;
  --sizer: 4vw;
  --font-max: 2.5rem;
  color: var(--default-heading-color-h2);
  font-weight: 500;
  line-height: 1.175em;
}

h3, .h3 {
  --font-min: 1.4375rem;
  --sizer: 3.5vw;
  --font-max: 1.9375rem;
  font-weight: 500;
  color: var(--default-heading-color-h3);
  line-height: 1.132em;
}

h4, .h4 {
  --font-min: 1.375rem;
  --sizer: 3vw;
  --font-max: 1.625rem;
  font-weight: 700;
  color: var(--default-heading-color-h4);
  line-height: 1.3em;
}

h5, .h5 {
  --font-min: 1.3125rem;
  --sizer: 2.5vw;
  --font-max: 1.375rem;
  font-weight: 700;
  color: var(--default-heading-color-h5);
  line-height: 1.227em;
  text-transform: uppercase;
}

h6, .h6 {
  --font-min: 1.25rem;
  --sizer: 1.5vw;
  --font-max: 1.3125rem;
  font-weight: 500;
  color: var(--default-heading-color-h6);
}

/* --------------------------
 *
 * HTMl tags
 *
** ----------------------- */
p {
  margin: 0 0 1em 0;
}

a {
  font-weight: 500;
  color: var(--default-link-color);
  transition: opacity 0.3s;
  text-decoration: none;
}
a:not(.no-hover-opacity):hover {
  opacity: 0.8;
}
a.fa-arrow-right-long.fa--after:before, a.fa-long-arrow-right.fa--after:before, a.fa-long-arrow-alt-right.fa--after:before {
  transition: transform 0.2s ease-out;
  transform: translateX(0px);
}
a.fa-arrow-right-long.fa--after:hover:before, a.fa-long-arrow-right.fa--after:hover:before, a.fa-long-arrow-alt-right.fa--after:hover:before {
  transform: translateX(3px);
}

.component--singular-content p a:not(.button) {
  font-weight: 700;
  color: var(--default-link-color);
}

strong, b {
  font-weight: 500;
  color: var(--default-bold-color);
}

ul, ol {
  padding-left: 1.5em;
}

hr {
  margin: 1em 0;
  border: 0;
  border-top: 1px solid var(--default-hr-color);
  border-style: solid;
}

blockquote:not(.unstyled) {
  background-color: var(--light-color);
  color: var(--default-text-color-light);
  border-left: 9px solid var(--primary-color);
  margin: 2.5rem 0;
  padding: 2.5rem;
}
blockquote:not(.unstyled) *:first-child {
  margin-top: 0;
}
blockquote:not(.unstyled) *:last-child {
  margin-bottom: 0;
}

/* --------------------------
 *
 * WP img alignements
 *
** ----------------------- */
figure.alignleft,
picture.alignleft img,
img.alignleft {
  float: left;
  display: inline-block;
}

figure.alignright,
picture.alignright img,
img.alignright {
  float: right;
  display: inline-block;
}

figure.aligncenter,
picture.aligncenter img,
img.aligncenter {
  display: block;
  margin: 0 auto;
}

figure {
  margin: 0 0 1em 0;
  max-width: 100%;
}

figure.wp-caption {
  max-width: 100% !important;
}

/* --------------------------
 *
 * Helper classes
 *
** ----------------------- */
.uppercase {
  text-transform: uppercase;
}

.text-overflow-ellipsis {
  overflow-x: clip;
  text-overflow: ellipsis;
}

.white-space--nowrap {
  white-space: nowrap;
}

.strong {
  font-weight: 700 !important;
  color: var(--default-bold-color);
}

.bold-link {
  font-weight: 700 !important;
}

.font--primary {
  font-family: var(--primary-font);
}

.font--secondary {
  font-family: var(--secondary-font);
}

.font-weight--100 {
  font-weight: 100;
}

.font-weight--200 {
  font-weight: 200;
}

.font-weight--300 {
  font-weight: 300;
}

.font-weight--400 {
  font-weight: 400;
}

.font-weight--500 {
  font-weight: 500;
}

.font-weight--600 {
  font-weight: 600;
}

.font-weight--700 {
  font-weight: 700;
}

.font-weight--800 {
  font-weight: 800;
}

.font-weight--900 {
  font-weight: 900;
}

.font-size--xs {
  font-size: 0.875rem;
}

.font-size--s {
  font-size: 0.9375rem;
}

.font-size--m {
  font-size: 1rem;
}

.font-size--l {
  font-size: 1.1875rem;
}

.font-size--xl {
  font-size: 1.25rem;
}

.font-size--xxl {
  font-size: 1.3125rem;
}

.color--default-text {
  color: var(--default-text-color);
}

.color--primary {
  color: var(--primary-color);
}

.color--secondary {
  color: var(--secondary-color);
}

.color--white {
  color: var(--white-color);
}

.icon-color--default-text:before {
  color: var(--default-text-color);
}

.icon-color--primary:before {
  color: var(--primary-color);
}

.icon-color--secondary:before {
  color: var(--secondary-color);
}

.icon-color--white:before {
  color: var(--white-color);
}

.heading-bg--primary {
  display: inline-block;
  padding: 0.2em 0.4em;
  background-color: var(--primary-color);
}

.entry-content ul li {
  margin: 0.3em 0;
}

.ingress {
  font-weight: 400;
  font-size: 1.375rem;
  color: var(--default-text-color);
}
@media (max-width: 767.98px) {
  .ingress {
    font-size: 1.25rem;
  }
}

.strong-text {
  font-weight: 700;
  color: var(--default-bold-color);
  --font-min: 1.1875rem;
  --sizer: 3vw;
  --font-max: 1.375rem;
  font-size: max(var(--font-min), min(var(--sizer, 5vw), var(--font-max)));
}

.remove-bottom-margin {
  margin-bottom: 0 !important;
}

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

.bottom-margin-1em {
  margin-bottom: 1em !important;
}

.top-margin-1em {
  margin-top: 1em !important;
}

.enable-heading-lines h1,
.enable-heading-lines .h1,
h1.underlined,
.h1.underlined {
  position: relative;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .enable-heading-lines h1,
  .enable-heading-lines .h1,
  h1.underlined,
  .h1.underlined {
    margin-bottom: 3.5rem;
  }
}
.enable-heading-lines h1::after,
.enable-heading-lines .h1::after,
h1.underlined::after,
.h1.underlined::after {
  display: block !important;
  position: absolute;
  top: 100%;
  margin-top: 0.4em;
  content: "";
  width: 233px;
  max-width: 40%;
  height: 5px;
  background-color: var(--primary-color);
  border-radius: 3px;
}
.text-center .enable-heading-lines h1::after, .enable-heading-lines h1[style*=center]::after,
.text-center .enable-heading-lines .h1::after,
.enable-heading-lines .h1[style*=center]::after,
.text-center h1.underlined::after,
h1.underlined[style*=center]::after,
.text-center .h1.underlined::after,
.h1.underlined[style*=center]::after {
  left: 50%;
  transform: translateX(-50%);
}

ol.check-list,
ul.check-list {
  list-style: none;
  padding-left: 1.5em;
}
ol.check-list li,
ul.check-list li {
  position: relative;
}
ol.check-list li::before,
ul.check-list li::before {
  position: absolute;
  content: "\f00c";
  left: -1.3em;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
}

ol.link-list,
ul.link-list {
  list-style: none;
  padding-left: 0;
  margin: 1em 0;
}
ol.link-list li,
ul.link-list li {
  margin: 4px 0;
}
ol.link-list li a,
ul.link-list li a {
  font-size: 1.3em;
  line-height: 1.2;
  font-family: var(--secondary-font);
  font-weight: 700;
}

ul.arrow-bullets {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0.4em;
}
ul.arrow-bullets li {
  font-weight: 500;
}
ul.arrow-bullets li:not(:last-of-type) {
  margin-bottom: 0.3em;
}
ul.arrow-bullets li::before {
  display: inline-block;
  content: "\f178";
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
  padding-right: 0.4em;
  margin-left: 0em;
  color: var(--default-text-color);
}

/* --------------------------
 *
 * Focus/highlight
 *
** ----------------------- */
*:focus {
  outline-color: var(--focus-outline-color);
}

::-moz-selection { /* Code for Firefox */
  background: var(--text-highlight-bg-color);
  color: var(--text-highlight-color);
}

::selection {
  background: var(--text-highlight-bg-color);
  color: var(--text-highlight-color);
}

/* --------------------------
*
* Here we setup the fontawesome icon pack
* Made with fontawesome subsetter
*
* ask Matu for project
*
** ----------------------- */
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Pro");
  font-weight: var(--fa-style, 900);
}

.fa,
.fa-classic,
.fa-sharp,
.fas,
.fa-solid,
.far,
.fa-regular,
.fasr,
.fal,
.fa-light,
.fat,
.fa-thin,
.fad,
.fa-duotone,
.fass,
.fa-sharp-solid,
.fab,
.fa-brands {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fas,
.fa-classic,
.fa-solid,
.far,
.fa-regular,
.fal,
.fa-light,
.fat,
.fa-thin {
  font-family: "Font Awesome 6 Pro";
}

.fab,
.fa-brands {
  font-family: "Font Awesome 6 Brands";
}

.fad,
.fa-classic.fa-duotone,
.fa-duotone {
  font-family: "Font Awesome 6 Duotone";
}

.fass,
.fasr,
.fa-sharp {
  font-family: "Font Awesome 6 Sharp";
}

.fass,
.fa-sharp {
  font-weight: 900;
}

.fa-1x {
  font-size: 1em;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

.fa-2xs {
  font-size: 0.625em;
  line-height: 0.1em;
  vertical-align: 0.225em;
}

.fa-xs {
  font-size: 0.75em;
  line-height: 0.0833333337em;
  vertical-align: 0.125em;
}

.fa-sm {
  font-size: 0.875em;
  line-height: 0.0714285718em;
  vertical-align: 0.0535714295em;
}

.fa-lg {
  font-size: 1.25em;
  line-height: 0.05em;
  vertical-align: -0.075em;
}

.fa-xl {
  font-size: 1.5em;
  line-height: 0.0416666682em;
  vertical-align: -0.125em;
}

.fa-2xl {
  font-size: 2em;
  line-height: 0.03125em;
  vertical-align: -0.1875em;
}

.fa-fw {
  text-align: center;
  width: 1.25em;
}

.fa-ul {
  list-style-type: none;
  margin-left: var(--fa-li-margin, 2.5em);
  padding-left: 0;
}
.fa-ul > li {
  position: relative;
}

.fa-li {
  left: calc(var(--fa-li-width, 2em) * -1);
  position: absolute;
  text-align: center;
  width: var(--fa-li-width, 2em);
  line-height: inherit;
}

.fa-border {
  border-color: var(--fa-border-color, #eee);
  border-radius: var(--fa-border-radius, 0.1em);
  border-style: var(--fa-border-style, solid);
  border-width: var(--fa-border-width, 0.08em);
  padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
}

.fa-pull-left {
  float: left;
  margin-right: var(--fa-pull-margin, 0.3em);
}

.fa-pull-right {
  float: right;
  margin-left: var(--fa-pull-margin, 0.3em);
}

.fa-beat {
  animation-name: fa-beat;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-bounce {
  animation-name: fa-bounce;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
}

.fa-fade {
  animation-name: fa-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-beat-fade {
  animation-name: fa-beat-fade;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
}

.fa-flip {
  animation-name: fa-flip;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, ease-in-out);
}

.fa-shake {
  animation-name: fa-shake;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin {
  animation-name: fa-spin;
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, linear);
}

.fa-spin-reverse {
  --fa-animation-direction: reverse;
}

.fa-pulse,
.fa-spin-pulse {
  animation-name: fa-spin;
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 1s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-timing-function: var(--fa-animation-timing, steps(8));
}

@media (prefers-reduced-motion: reduce) {
  .fa-beat,
  .fa-bounce,
  .fa-fade,
  .fa-beat-fade,
  .fa-flip,
  .fa-pulse,
  .fa-shake,
  .fa-spin,
  .fa-spin-pulse {
    animation-delay: -1ms;
    animation-duration: 1ms;
    animation-iteration-count: 1;
    transition-delay: 0s;
    transition-duration: 0s;
  }
}
@keyframes fa-beat {
  0%, 90% {
    transform: scale(1);
  }
  45% {
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}
@keyframes fa-bounce {
  0% {
    transform: scale(1, 1) translateY(0);
  }
  10% {
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));
  }
  50% {
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
  }
  64% {
    transform: scale(1, 1) translateY(0);
  }
  100% {
    transform: scale(1, 1) translateY(0);
  }
}
@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}
@keyframes fa-beat-fade {
  0%, 100% {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}
@keyframes fa-flip {
  50% {
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}
@keyframes fa-shake {
  0% {
    transform: rotate(-15deg);
  }
  4% {
    transform: rotate(15deg);
  }
  8%, 24% {
    transform: rotate(-18deg);
  }
  12%, 28% {
    transform: rotate(18deg);
  }
  16% {
    transform: rotate(-22deg);
  }
  20% {
    transform: rotate(22deg);
  }
  32% {
    transform: rotate(-12deg);
  }
  36% {
    transform: rotate(12deg);
  }
  40%, 100% {
    transform: rotate(0deg);
  }
}
@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.fa-rotate-90 {
  transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  transform: scale(1, -1);
}

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  transform: scale(-1, -1);
}

.fa-rotate-by {
  transform: rotate(var(--fa-rotate-angle, none));
}

.fa-stack {
  display: inline-block;
  height: 2em;
  line-height: 2em;
  position: relative;
  vertical-align: middle;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  left: 0;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: var(--fa-stack-z-index, auto);
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: var(--fa-inverse, #fff);
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-circle-chevron-right::before {
  content: "\f138";
}

.fa-chevron-circle-right::before {
  content: "\f138";
}

.fa-message::before {
  content: "\f27a";
}

.fa-comment-alt::before {
  content: "\f27a";
}

.fa-calendar-days::before {
  content: "\f073";
}

.fa-calendar-alt::before {
  content: "\f073";
}

.fa-circle-minus::before {
  content: "\f056";
}

.fa-minus-circle::before {
  content: "\f056";
}

.fa-right-from-bracket::before {
  content: "\f2f5";
}

.fa-sign-out-alt::before {
  content: "\f2f5";
}

.fa-chevrons-up::before {
  content: "\f325";
}

.fa-chevron-double-up::before {
  content: "\f325";
}

.fa-angles-down::before {
  content: "\f103";
}

.fa-angle-double-down::before {
  content: "\f103";
}

.fa-arrow-up-long::before {
  content: "\f176";
}

.fa-long-arrow-up::before {
  content: "\f176";
}

.fa-chevrons-left::before {
  content: "\f323";
}

.fa-chevron-double-left::before {
  content: "\f323";
}

.fa-address-book::before {
  content: "\f2b9";
}

.fa-contact-book::before {
  content: "\f2b9";
}

.fa-arrow-right-from-bracket::before {
  content: "\f08b";
}

.fa-sign-out::before {
  content: "\f08b";
}

.fa-circle-chevron-down::before {
  content: "\f13a";
}

.fa-chevron-circle-down::before {
  content: "\f13a";
}

.fa-unlock-keyhole::before {
  content: "\f13e";
}

.fa-unlock-alt::before {
  content: "\f13e";
}

.fa-arrow-up-to-line::before {
  content: "\f341";
}

.fa-arrow-to-top::before {
  content: "\f341";
}

.fa-square-check::before {
  content: "\f14a";
}

.fa-check-square::before {
  content: "\f14a";
}

.fa-cart-plus::before {
  content: "\f217";
}

.fa-lock::before {
  content: "\f023";
}

.fa-pen-to-square::before {
  content: "\f044";
}

.fa-edit::before {
  content: "\f044";
}

.fa-bag-shopping::before {
  content: "\f290";
}

.fa-shopping-bag::before {
  content: "\f290";
}

.fa-users::before {
  content: "\f0c0";
}

.fa-chevron-up::before {
  content: "\f077";
}

.fa-square-rss::before {
  content: "\f143";
}

.fa-rss-square::before {
  content: "\f143";
}

.fa-angle-right::before {
  content: "\f105";
}

.fa-folder::before {
  content: "\f07b";
}

.fa-folder-blank::before {
  content: "\f07b";
}

.fa-user::before {
  content: "\f007";
}

.fa-wave-pulse::before {
  content: "\f5f8";
}

.fa-heart-rate::before {
  content: "\f5f8";
}

.fa-globe::before {
  content: "\f0ac";
}

.fa-message-plus::before {
  content: "\f4a8";
}

.fa-comment-alt-plus::before {
  content: "\f4a8";
}

.fa-arrow-right-to-bracket::before {
  content: "\f090";
}

.fa-sign-in::before {
  content: "\f090";
}

.fa-right-to-bracket::before {
  content: "\f2f6";
}

.fa-sign-in-alt::before {
  content: "\f2f6";
}

.fa-square-chevron-down::before {
  content: "\f329";
}

.fa-chevron-square-down::before {
  content: "\f329";
}

.fa-folder-open::before {
  content: "\f07c";
}

.fa-unlock::before {
  content: "\f09c";
}

.fa-message-lines::before {
  content: "\f4a6";
}

.fa-comment-alt-lines::before {
  content: "\f4a6";
}

.fa-angles-right::before {
  content: "\f101";
}

.fa-angle-double-right::before {
  content: "\f101";
}

.fa-circle-check::before {
  content: "\f058";
}

.fa-check-circle::before {
  content: "\f058";
}

.fa-circle-chevron-up::before {
  content: "\f139";
}

.fa-chevron-circle-up::before {
  content: "\f139";
}

.fa-arrow-down-long::before {
  content: "\f175";
}

.fa-long-arrow-down::before {
  content: "\f175";
}

.fa-square-arrow-up-right::before {
  content: "\f14c";
}

.fa-external-link-square::before {
  content: "\f14c";
}

.fa-address-card::before {
  content: "\f2bb";
}

.fa-contact-card::before {
  content: "\f2bb";
}

.fa-vcard::before {
  content: "\f2bb";
}

.fa-envelope-open::before {
  content: "\f2b6";
}

.fa-newspaper::before {
  content: "\f1ea";
}

.fa-arrow-up-right-from-square::before {
  content: "\f08e";
}

.fa-external-link::before {
  content: "\f08e";
}

.fa-location-pin::before {
  content: "\f041";
}

.fa-map-marker::before {
  content: "\f041";
}

.fa-arrow-right::before {
  content: "\f061";
}

.fa-lock-keyhole::before {
  content: "\f30d";
}

.fa-lock-alt::before {
  content: "\f30d";
}

.fa-mobile-screen-button::before {
  content: "\f3cd";
}

.fa-mobile-alt::before {
  content: "\f3cd";
}

.fa-phone-flip::before {
  content: "\f879";
}

.fa-phone-alt::before {
  content: "\f879";
}

.fa-tags::before {
  content: "\f02c";
}

.fa-square-chevron-up::before {
  content: "\f32c";
}

.fa-chevron-square-up::before {
  content: "\f32c";
}

.fa-basket-shopping::before {
  content: "\f291";
}

.fa-shopping-basket::before {
  content: "\f291";
}

.fa-pen::before {
  content: "\f304";
}

.fa-phone::before {
  content: "\f095";
}

.fa-user-gear::before {
  content: "\f4fe";
}

.fa-user-cog::before {
  content: "\f4fe";
}

.fa-arrow-left::before {
  content: "\f060";
}

.fa-up-right-from-square::before {
  content: "\f35d";
}

.fa-external-link-alt::before {
  content: "\f35d";
}

.fa-messages-question::before {
  content: "\e1e7";
}

.fa-phone-volume::before {
  content: "\f2a0";
}

.fa-volume-control-phone::before {
  content: "\f2a0";
}

.fa-tag::before {
  content: "\f02b";
}

.fa-comment::before {
  content: "\f075";
}

.fa-envelope::before {
  content: "\f0e0";
}

.fa-angles-up::before {
  content: "\f102";
}

.fa-angle-double-up::before {
  content: "\f102";
}

.fa-message-heart::before {
  content: "\e5c9";
}

.fa-calendar-check::before {
  content: "\f274";
}

.fa-arrow-rotate-left::before {
  content: "\f0e2";
}

.fa-arrow-left-rotate::before {
  content: "\f0e2";
}

.fa-arrow-rotate-back::before {
  content: "\f0e2";
}

.fa-arrow-rotate-backward::before {
  content: "\f0e2";
}

.fa-undo::before {
  content: "\f0e2";
}

.fa-left-long::before {
  content: "\f30a";
}

.fa-long-arrow-alt-left::before {
  content: "\f30a";
}

.fa-minus::before {
  content: "\f068";
}

.fa-subtract::before {
  content: "\f068";
}

.fa-arrow-left-long::before {
  content: "\f177";
}

.fa-long-arrow-left::before {
  content: "\f177";
}

.fa-gear::before {
  content: "\f013";
}

.fa-cog::before {
  content: "\f013";
}

.fa-cart-shopping::before {
  content: "\f07a";
}

.fa-shopping-cart::before {
  content: "\f07a";
}

.fa-clock::before {
  content: "\f017";
}

.fa-clock-four::before {
  content: "\f017";
}

.fa-right-long::before {
  content: "\f30b";
}

.fa-long-arrow-alt-right::before {
  content: "\f30b";
}

.fa-house::before {
  content: "\f015";
}

.fa-home::before {
  content: "\f015";
}

.fa-home-alt::before {
  content: "\f015";
}

.fa-home-lg-alt::before {
  content: "\f015";
}

.fa-up-long::before {
  content: "\f30c";
}

.fa-long-arrow-alt-up::before {
  content: "\f30c";
}

.fa-angle-down::before {
  content: "\f107";
}

.fa-arrow-right-long::before {
  content: "\f178";
}

.fa-long-arrow-right::before {
  content: "\f178";
}

.fa-location-dot::before {
  content: "\f3c5";
}

.fa-map-marker-alt::before {
  content: "\f3c5";
}

.fa-arrow-down::before {
  content: "\f063";
}

.fa-magnifying-glass::before {
  content: "\f002";
}

.fa-search::before {
  content: "\f002";
}

.fa-chevrons-down::before {
  content: "\f322";
}

.fa-chevron-double-down::before {
  content: "\f322";
}

.fa-receipt::before {
  content: "\f543";
}

.fa-chevron-down::before {
  content: "\f078";
}

.fa-down-long::before {
  content: "\f309";
}

.fa-long-arrow-alt-down::before {
  content: "\f309";
}

.fa-arrow-up::before {
  content: "\f062";
}

.fa-circle-user::before {
  content: "\f2bd";
}

.fa-user-circle::before {
  content: "\f2bd";
}

.fa-square-chevron-right::before {
  content: "\f32b";
}

.fa-chevron-square-right::before {
  content: "\f32b";
}

.fa-square-chevron-left::before {
  content: "\f32a";
}

.fa-chevron-square-left::before {
  content: "\f32a";
}

.fa-plus::before {
  content: "\+";
}

.fa-add::before {
  content: "\+";
}

.fa-xmark::before {
  content: "\f00d";
}

.fa-close::before {
  content: "\f00d";
}

.fa-multiply::before {
  content: "\f00d";
}

.fa-remove::before {
  content: "\f00d";
}

.fa-times::before {
  content: "\f00d";
}

.fa-angle-up::before {
  content: "\f106";
}

.fa-chevron-left::before {
  content: "\f053";
}

.fa-chevron-right::before {
  content: "\f054";
}

.fa-angles-left::before {
  content: "\f100";
}

.fa-angle-double-left::before {
  content: "\f100";
}

.fa-circle-chevron-left::before {
  content: "\f137";
}

.fa-chevron-circle-left::before {
  content: "\f137";
}

.fa-arrow-up-from-line::before {
  content: "\f342";
}

.fa-arrow-from-bottom::before {
  content: "\f342";
}

.fa-bags-shopping::before {
  content: "\f847";
}

.fa-circle-plus::before {
  content: "\f055";
}

.fa-plus-circle::before {
  content: "\f055";
}

.fa-rss::before {
  content: "\f09e";
}

.fa-feed::before {
  content: "\f09e";
}

.fa-desktop::before {
  content: "\f390";
}

.fa-desktop-alt::before {
  content: "\f390";
}

.fa-check::before {
  content: "\f00c";
}

.fa-angle-left::before {
  content: "\f104";
}

.fa-chevrons-right::before {
  content: "\f324";
}

.fa-chevron-double-right::before {
  content: "\f324";
}

.fa-circle-xmark::before {
  content: "\f057";
}

.fa-times-circle::before {
  content: "\f057";
}

.fa-xmark-circle::before {
  content: "\f057";
}

.fa-magnifying-glass-plus::before {
  content: "\f00e";
}

.fa-search-plus::before {
  content: "\f00e";
}

.fa-magnifying-glass-minus::before {
  content: "\f010";
}

.fa-search-minus::before {
  content: "\f010";
}

.fa-user-large::before {
  content: "\f406";
}

.fa-user-alt::before {
  content: "\f406";
}

.fa-notdef::before {
  content: "\e1fe";
}

.sr-only,
.fa-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.sr-only-focusable:not(:focus),
.fa-sr-only-focusable:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Pro";
  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Pro";
}

@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../fontawesome/webfonts/fa-solid-900.woff2") format("woff2"), url("../fontawesome/webfonts/fa-solid-900.ttf") format("truetype");
}
.fas,
.fa-solid {
  font-weight: 900;
}

:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Pro";
  --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Pro";
}

@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fontawesome/webfonts/fa-regular-400.woff2") format("woff2"), url("../fontawesome/webfonts/fa-regular-400.ttf") format("truetype");
}
.far,
.fa-regular {
  font-weight: 400;
}

:root, :host {
  --fa-style-family-classic: "Font Awesome 6 Pro";
  --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro";
}

@font-face {
  font-family: "Font Awesome 6 Pro";
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url("../fontawesome/webfonts/fa-light-300.woff2") format("woff2"), url("../fontawesome/webfonts/fa-light-300.ttf") format("truetype");
}
.fal,
.fa-light {
  font-weight: 300;
}

:root, :host {
  --fa-style-family-brands: "Font Awesome 6 Brands";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fontawesome/webfonts/fa-brands-400.woff2") format("woff2"), url("../fontawesome/webfonts/fa-brands-400.ttf") format("truetype");
}
.fab,
.fa-brands {
  font-weight: 400;
}

.fa-microsoft:before {
  content: "\f3ca";
}

.fa-vimeo-v:before {
  content: "\f27d";
}

.fa-square-instagram:before {
  content: "\e055";
}

.fa-instagram-square:before {
  content: "\e055";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-linkedin-in:before {
  content: "\f0e1";
}

.fa-square-twitter:before {
  content: "\f081";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-square-youtube:before {
  content: "\f431";
}

.fa-youtube-square:before {
  content: "\f431";
}

.fa-square-vimeo:before {
  content: "\f194";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-apple:before {
  content: "\f179";
}

.fa-apple-pay:before {
  content: "\f415";
}

.fa-square-pinterest:before {
  content: "\f0d3";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-facebook-f:before {
  content: "\f39e";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-facebook-messenger:before {
  content: "\f39f";
}

.fa-xbox:before {
  content: "\f412";
}

.fa-tiktok:before {
  content: "\e07b";
}

.fa-square-facebook:before {
  content: "\f082";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-linkedin:before {
  content: "\f08c";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-vimeo:before {
  content: "\f40a";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-facebook:before {
  content: "\f09a";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-google-play:before {
  content: "\f3ab";
}

.fa-google-drive:before {
  content: "\f3aa";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-telegram:before {
  content: "\f2c6";
}

.fa-telegram-plane:before {
  content: "\f2c6";
}

.fa-square-whatsapp:before {
  content: "\f40c";
}

.fa-whatsapp-square:before {
  content: "\f40c";
}

.fa-slack:before {
  content: "\f198";
}

.fa-slack-hash:before {
  content: "\f198";
}

.fa-google-pay:before {
  content: "\e079";
}

/* Fix font-family when using icon class with other elements directly, also some adjustments */
.fa, .fas, .far, .fal, .fab {
  font-family: inherit;
  line-height: inherit;
  font-weight: inherit;
}
.fa:before, .fas:before, .far:before, .fal:before, .fab:before {
  display: inline-block;
  text-align: center;
  margin: 0 0.3em;
  line-height: inherit;
  vertical-align: baseline;
}

/* set font only for pseudo */
.fa:before,
.fas:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
}

.far:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
}

.fal:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300;
}

.fab:before {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
}

/* after icons with one extra class */
*[class*=fa-].fa--after:before {
  float: right;
}

/* specific styles */
*[class*=fa-].fa--after:before {
  margin-right: 0;
}

.relative {
  position: relative;
}

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

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

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

.hide {
  display: none;
}

.cf::after {
  content: "";
  clear: both;
  display: table;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.margin-l-auto {
  margin-left: auto;
}

.margin-r-auto {
  margin-right: auto;
}

.height-100 {
  height: 100%;
}

.wspace-nowrap {
  white-space: nowrap;
}

.wspace-wrap {
  white-space: normal;
}

.clear-both {
  clear: both;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.iframe-16-9 {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
}
.iframe-16-9 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* --------------------------
 *
 * MEJS media js video player
 *
** ----------------------- */
.wp-video {
  width: auto !important;
  max-width: 100%;
}

.wp-video > .mejs-container {
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  padding-bottom: calc(56.25% + 40px);
  position: relative;
}

.wp-video > .mejs-container > .mejs-inner {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.wp-video > .mejs-container > .mejs-inner > .mejs-controls {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
}

.wrapper {
  --wrapper-width: var(--wrapper-width-normal);
  --wrapper-padding: 20px;
  max-width: calc(var(--wrapper-width) + var(--wrapper-padding) * 2);
  padding: 0 var(--wrapper-padding);
  margin: 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  .wrapper {
    --wrapper-padding: 40px;
  }
}
@media (min-width: 1600px) {
  .wrapper {
    --wrapper-padding: 80px;
  }
}
.wrapper:not(.overflowing) {
  overflow: hidden;
}
.wrapper.no-padding {
  --wrapper-padding: 0px;
}
.wrapper.narrow {
  --wrapper-width: var(--wrapper-width-narrow);
}
.wrapper.medium {
  --wrapper-width: var(--wrapper-width-medium);
}
.wrapper.wide {
  --wrapper-width: var(--wrapper-width-wide);
}
.wrapper.ultrawide {
  --wrapper-width: var(--wrapper-width-ultrawide);
}

.button,
input[type=submit],
.mce-content-body a.button,
.nf-form-content .submit-container .nf-field-element input[type=submit],
.nf-form-content .nf-field-container input[type=button] {
  --button-bg-color: var(--secondary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--button-bg-color);
  --button-icon-color: var(--button-text-color);
  --button-shadow-color: var(--button-border-color);
  display: inline-block;
  height: auto;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1;
  font-family: var(--secondary-font);
  padding: 0.75em 1.5em;
  color: var(--button-text-color) !important;
  background-color: var(--button-bg-color) !important;
  border: 2px solid var(--button-border-color) !important;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.3s;
}
.button[data-mce-selected],
input[type=submit][data-mce-selected],
.mce-content-body a.button[data-mce-selected],
.nf-form-content .submit-container .nf-field-element input[type=submit][data-mce-selected],
.nf-form-content .nf-field-container input[type=button][data-mce-selected] {
  outline: 1px dashed red;
}
.button:hover,
input[type=submit]:hover,
.mce-content-body a.button:hover,
.nf-form-content .submit-container .nf-field-element input[type=submit]:hover,
.nf-form-content .nf-field-container input[type=button]:hover {
  opacity: 1 !important;
  box-shadow: 1px 1px 10px -2px var(--button-shadow-color);
}
.button:before,
input[type=submit]:before,
.mce-content-body a.button:before,
.nf-form-content .submit-container .nf-field-element input[type=submit]:before,
.nf-form-content .nf-field-container input[type=button]:before {
  color: var(--button-icon-color);
}
.button.style-preset-1,
input[type=submit].style-preset-1,
.mce-content-body a.button.style-preset-1,
.nf-form-content .submit-container .nf-field-element input[type=submit].style-preset-1,
.nf-form-content .nf-field-container input[type=button].style-preset-1 {
  --button-bg-color: var(--primary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--primary-color);
  --button-icon-color: var(--white-color);
}
.button.style-preset-2,
input[type=submit].style-preset-2,
.mce-content-body a.button.style-preset-2,
.nf-form-content .submit-container .nf-field-element input[type=submit].style-preset-2,
.nf-form-content .nf-field-container input[type=button].style-preset-2 {
  --button-bg-color: var(--white-color);
  --button-text-color: var(--secondary-color);
  --button-border-color: var(--secondary-color);
  --button-icon-color: var(--primary-color);
}
.button.style-preset-3,
input[type=submit].style-preset-3,
.mce-content-body a.button.style-preset-3,
.nf-form-content .submit-container .nf-field-element input[type=submit].style-preset-3,
.nf-form-content .nf-field-container input[type=button].style-preset-3 {
  --button-bg-color: var(--tertiary-color);
  --button-text-color: var(--primary-color);
  --button-border-color: var(--tertiary-color);
  --button-icon-color: var(--primary-color);
}
.button.style-preset-4,
input[type=submit].style-preset-4,
.mce-content-body a.button.style-preset-4,
.nf-form-content .submit-container .nf-field-element input[type=submit].style-preset-4,
.nf-form-content .nf-field-container input[type=button].style-preset-4 {
  --button-bg-color: transparent;
  --button-text-color: var(--default-link-color);
  --button-border-color: transparent;
  --button-icon-color: var(--default-link-color);
  padding: 0 0.5em 0 0;
}
.button.fas:not(.fa--after):not(.style-preset-2), .button.fab:not(.fa--after):not(.style-preset-2),
input[type=submit].fas:not(.fa--after):not(.style-preset-2),
input[type=submit].fab:not(.fa--after):not(.style-preset-2),
.mce-content-body a.button.fas:not(.fa--after):not(.style-preset-2),
.mce-content-body a.button.fab:not(.fa--after):not(.style-preset-2),
.nf-form-content .submit-container .nf-field-element input[type=submit].fas:not(.fa--after):not(.style-preset-2),
.nf-form-content .submit-container .nf-field-element input[type=submit].fab:not(.fa--after):not(.style-preset-2),
.nf-form-content .nf-field-container input[type=button].fas:not(.fa--after):not(.style-preset-2),
.nf-form-content .nf-field-container input[type=button].fab:not(.fa--after):not(.style-preset-2) {
  position: relative;
  padding-left: 3.2em;
}
.button.fas:not(.fa--after):not(.style-preset-2)::before, .button.fab:not(.fa--after):not(.style-preset-2)::before,
input[type=submit].fas:not(.fa--after):not(.style-preset-2)::before,
input[type=submit].fab:not(.fa--after):not(.style-preset-2)::before,
.mce-content-body a.button.fas:not(.fa--after):not(.style-preset-2)::before,
.mce-content-body a.button.fab:not(.fa--after):not(.style-preset-2)::before,
.nf-form-content .submit-container .nf-field-element input[type=submit].fas:not(.fa--after):not(.style-preset-2)::before,
.nf-form-content .submit-container .nf-field-element input[type=submit].fab:not(.fa--after):not(.style-preset-2)::before,
.nf-form-content .nf-field-container input[type=button].fas:not(.fa--after):not(.style-preset-2)::before,
.nf-form-content .nf-field-container input[type=button].fab:not(.fa--after):not(.style-preset-2)::before {
  display: flex;
  position: absolute;
  width: 2.5em;
  justify-content: center;
  align-items: center;
  height: calc(100% + 4px);
  left: -7px;
  top: -2px;
  background-color: rgba(255, 255, 255, 0.1);
}
.button.rounded,
input[type=submit].rounded,
.mce-content-body a.button.rounded,
.nf-form-content .submit-container .nf-field-element input[type=submit].rounded,
.nf-form-content .nf-field-container input[type=button].rounded {
  border-radius: 5px;
}
.button.round,
input[type=submit].round,
.mce-content-body a.button.round,
.nf-form-content .submit-container .nf-field-element input[type=submit].round,
.nf-form-content .nf-field-container input[type=button].round {
  border-radius: 50px;
}
.button.square,
input[type=submit].square,
.mce-content-body a.button.square,
.nf-form-content .submit-container .nf-field-element input[type=submit].square,
.nf-form-content .nf-field-container input[type=button].square {
  border-radius: 0px;
}
.button.large,
input[type=submit].large,
.mce-content-body a.button.large,
.nf-form-content .submit-container .nf-field-element input[type=submit].large,
.nf-form-content .nf-field-container input[type=button].large {
  font-size: 1.1875rem;
  min-width: 220px;
  max-width: 100%;
  text-align: center;
}
.button.small,
input[type=submit].small,
.mce-content-body a.button.small,
.nf-form-content .submit-container .nf-field-element input[type=submit].small,
.nf-form-content .nf-field-container input[type=button].small {
  font-size: 0.9375rem;
}
.button.background-color--primary-color,
input[type=submit].background-color--primary-color,
.mce-content-body a.button.background-color--primary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--primary-color,
.nf-form-content .nf-field-container input[type=button].background-color--primary-color {
  --button-bg-color: var(--primary-color);
}
.button.background-color--secondary-color,
input[type=submit].background-color--secondary-color,
.mce-content-body a.button.background-color--secondary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--secondary-color,
.nf-form-content .nf-field-container input[type=button].background-color--secondary-color {
  --button-bg-color: var(--secondary-color);
}
.button.background-color--tertiary-color,
input[type=submit].background-color--tertiary-color,
.mce-content-body a.button.background-color--tertiary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--tertiary-color,
.nf-form-content .nf-field-container input[type=button].background-color--tertiary-color {
  --button-bg-color: var(--tertiary-color);
}
.button.background-color--gray-color,
input[type=submit].background-color--gray-color,
.mce-content-body a.button.background-color--gray-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--gray-color,
.nf-form-content .nf-field-container input[type=button].background-color--gray-color {
  --button-bg-color: var(--gray-color);
}
.button.background-color--dark-color,
input[type=submit].background-color--dark-color,
.mce-content-body a.button.background-color--dark-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--dark-color,
.nf-form-content .nf-field-container input[type=button].background-color--dark-color {
  --button-bg-color: var(--dark-color);
}
.button.background-color--white-color,
input[type=submit].background-color--white-color,
.mce-content-body a.button.background-color--white-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--white-color,
.nf-form-content .nf-field-container input[type=button].background-color--white-color {
  --button-bg-color: var(--white-color);
}
.button.background-color--black-color,
input[type=submit].background-color--black-color,
.mce-content-body a.button.background-color--black-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--black-color,
.nf-form-content .nf-field-container input[type=button].background-color--black-color {
  --button-bg-color: var(--black-color);
}
.button.background-color--transparent,
input[type=submit].background-color--transparent,
.mce-content-body a.button.background-color--transparent,
.nf-form-content .submit-container .nf-field-element input[type=submit].background-color--transparent,
.nf-form-content .nf-field-container input[type=button].background-color--transparent {
  --button-bg-color: transparent;
}
.button.border-color--primary-color,
input[type=submit].border-color--primary-color,
.mce-content-body a.button.border-color--primary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--primary-color,
.nf-form-content .nf-field-container input[type=button].border-color--primary-color {
  --button-border-color: var(--primary-color);
}
.button.border-color--secondary-color,
input[type=submit].border-color--secondary-color,
.mce-content-body a.button.border-color--secondary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--secondary-color,
.nf-form-content .nf-field-container input[type=button].border-color--secondary-color {
  --button-border-color: var(--secondary-color);
}
.button.border-color--tertiary-color,
input[type=submit].border-color--tertiary-color,
.mce-content-body a.button.border-color--tertiary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--tertiary-color,
.nf-form-content .nf-field-container input[type=button].border-color--tertiary-color {
  --button-border-color: var(--tertiary-color);
}
.button.border-color--gray-color,
input[type=submit].border-color--gray-color,
.mce-content-body a.button.border-color--gray-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--gray-color,
.nf-form-content .nf-field-container input[type=button].border-color--gray-color {
  --button-border-color: var(--gray-color);
}
.button.border-color--dark-color,
input[type=submit].border-color--dark-color,
.mce-content-body a.button.border-color--dark-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--dark-color,
.nf-form-content .nf-field-container input[type=button].border-color--dark-color {
  --button-border-color: var(--dark-color);
}
.button.border-color--white-color,
input[type=submit].border-color--white-color,
.mce-content-body a.button.border-color--white-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--white-color,
.nf-form-content .nf-field-container input[type=button].border-color--white-color {
  --button-border-color: var(--white-color);
}
.button.border-color--black-color,
input[type=submit].border-color--black-color,
.mce-content-body a.button.border-color--black-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--black-color,
.nf-form-content .nf-field-container input[type=button].border-color--black-color {
  --button-border-color: var(--black-color);
}
.button.border-color--transparent,
input[type=submit].border-color--transparent,
.mce-content-body a.button.border-color--transparent,
.nf-form-content .submit-container .nf-field-element input[type=submit].border-color--transparent,
.nf-form-content .nf-field-container input[type=button].border-color--transparent {
  --button-border-color: transparent;
}
.button.text-color--primary-color,
input[type=submit].text-color--primary-color,
.mce-content-body a.button.text-color--primary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--primary-color,
.nf-form-content .nf-field-container input[type=button].text-color--primary-color {
  --button-text-color: var(--primary-color);
}
.button.text-color--secondary-color,
input[type=submit].text-color--secondary-color,
.mce-content-body a.button.text-color--secondary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--secondary-color,
.nf-form-content .nf-field-container input[type=button].text-color--secondary-color {
  --button-text-color: var(--secondary-color);
}
.button.text-color--tertiary-color,
input[type=submit].text-color--tertiary-color,
.mce-content-body a.button.text-color--tertiary-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--tertiary-color,
.nf-form-content .nf-field-container input[type=button].text-color--tertiary-color {
  --button-text-color: var(--tertiary-color);
}
.button.text-color--gray-color,
input[type=submit].text-color--gray-color,
.mce-content-body a.button.text-color--gray-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--gray-color,
.nf-form-content .nf-field-container input[type=button].text-color--gray-color {
  --button-text-color: var(--gray-color);
}
.button.text-color--dark-color,
input[type=submit].text-color--dark-color,
.mce-content-body a.button.text-color--dark-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--dark-color,
.nf-form-content .nf-field-container input[type=button].text-color--dark-color {
  --button-text-color: var(--dark-color);
}
.button.text-color--white-color,
input[type=submit].text-color--white-color,
.mce-content-body a.button.text-color--white-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--white-color,
.nf-form-content .nf-field-container input[type=button].text-color--white-color {
  --button-text-color: var(--white-color);
}
.button.text-color--black-color,
input[type=submit].text-color--black-color,
.mce-content-body a.button.text-color--black-color,
.nf-form-content .submit-container .nf-field-element input[type=submit].text-color--black-color,
.nf-form-content .nf-field-container input[type=button].text-color--black-color {
  --button-text-color: var(--black-color);
}
.button.is-style-some,
input[type=submit].is-style-some,
.mce-content-body a.button.is-style-some,
.nf-form-content .submit-container .nf-field-element input[type=submit].is-style-some,
.nf-form-content .nf-field-container input[type=button].is-style-some {
  background-color: var(--secondary-color) !important;
  color: var(--white-color);
  padding: 11px 9px;
  font-size: 1.25rem;
  border-radius: 20px;
  width: 46px;
  height: 46px;
  margin-right: 5px;
}
.button.is-style-some:before,
input[type=submit].is-style-some:before,
.mce-content-body a.button.is-style-some:before,
.nf-form-content .submit-container .nf-field-element input[type=submit].is-style-some:before,
.nf-form-content .nf-field-container input[type=button].is-style-some:before {
  font-size: 1.25rem !important;
}
.button.disabled, .button[disabled],
input[type=submit].disabled,
input[type=submit][disabled],
.mce-content-body a.button.disabled,
.mce-content-body a.button[disabled],
.nf-form-content .submit-container .nf-field-element input[type=submit].disabled,
.nf-form-content .submit-container .nf-field-element input[type=submit][disabled],
.nf-form-content .nf-field-container input[type=button].disabled,
.nf-form-content .nf-field-container input[type=button][disabled] {
  opacity: 0.4;
}
.button.disabled:hover, .button[disabled]:hover,
input[type=submit].disabled:hover,
input[type=submit][disabled]:hover,
.mce-content-body a.button.disabled:hover,
.mce-content-body a.button[disabled]:hover,
.nf-form-content .submit-container .nf-field-element input[type=submit].disabled:hover,
.nf-form-content .submit-container .nf-field-element input[type=submit][disabled]:hover,
.nf-form-content .nf-field-container input[type=button].disabled:hover,
.nf-form-content .nf-field-container input[type=button][disabled]:hover {
  opacity: 0.4 !important;
  cursor: not-allowed;
}

.wc-block-components-notice-banner__content a.button {
  font-size: 1.15rem;
  --button-bg-color: transparent;
  --button-text-color: var(--default-link-color);
  --button-border-color: transparent;
  --button-icon-color: var(--primary-color);
  padding: 0 0.5em 0 0;
}

.button-group {
  --padding: 20px;
  overflow: hidden;
  margin: calc(var(--padding) / 4 * -1) calc(var(--padding) / 4 * -1);
}
.button-group > * {
  margin: calc(var(--padding) / 4) calc(var(--padding) / 4);
}

nav.pagination, nav.woocommerce-pagination {
  text-align: center;
  font-size: 20px;
  margin: 2em 0;
}
nav.pagination ul.page-numbers, nav.woocommerce-pagination ul.page-numbers {
  list-style-type: none;
}
nav.pagination ul.page-numbers li, nav.woocommerce-pagination ul.page-numbers li {
  display: inline-block;
}
nav.pagination span.page-numbers, nav.pagination a.page-numbers, nav.woocommerce-pagination span.page-numbers, nav.woocommerce-pagination a.page-numbers {
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  text-decoration: none;
}
nav.pagination span.page-numbers.current, nav.pagination a.page-numbers.current, nav.woocommerce-pagination span.page-numbers.current, nav.woocommerce-pagination a.page-numbers.current {
  background-color: var(--dark-color);
  color: var(--white-color);
  font-weight: 600;
  border-radius: 50%;
}
nav.pagination .next, nav.pagination .prev, nav.woocommerce-pagination .next, nav.woocommerce-pagination .prev {
  width: auto;
  height: auto;
}
nav.pagination .next i, nav.pagination .prev i, nav.woocommerce-pagination .next i, nav.woocommerce-pagination .prev i {
  margin-top: -0.3em;
}

@keyframes spin {
  100% {
    transform: rotate(360deg);
  }
}
.woocommerce .blockUI.blockOverlay {
  position: relative;
}
.woocommerce .blockUI.blockOverlay::before {
  height: 1em;
  width: 1em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  content: "";
  animation: spin 1s ease-in-out infinite;
  background: url("../img/loader.svg") center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
}

.woocommerce .loader::before {
  height: 1em;
  width: 1em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  content: "";
  animation: spin 1s ease-in-out infinite;
  background: url("../img/loader.svg") center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  padding: 1em 2em 1em 3.5em;
  margin: 0 0 2em;
  position: relative;
  background-color: var(--white-color);
  color: var(--default-text-color-light);
  border-top: 3px solid var(--tertiary-color);
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
  box-shadow: 1px 1px 8px #a9a9a9;
}

.woocommerce-error::after,
.woocommerce-error::before,
.woocommerce-info::after,
.woocommerce-info::before,
.woocommerce-message::after,
.woocommerce-message::before {
  content: " ";
  display: table;
}

.woocommerce-error::after,
.woocommerce-info::after,
.woocommerce-message::after {
  clear: both;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
  font-family: WooCommerce;
  content: "\e028";
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 1.5em;
}

.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button {
  float: right;
  margin: 0;
}
@media (max-width: 479.98px) {
  .woocommerce-error .button,
  .woocommerce-info .button,
  .woocommerce-message .button {
    margin-bottom: 1em;
    display: block !important;
    width: 100%;
  }
}

.woocommerce-error li,
.woocommerce-info li,
.woocommerce-message li {
  list-style: none outside !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.woocommerce-info::before {
  color: var(--tertiary-color);
}

.woocommerce a.remove {
  display: block;
  font-size: 1.5em;
  height: 1em;
  width: 1em;
  text-align: center;
  line-height: 1;
  border-radius: 100%;
  color: var(--default-text-color) !important;
  text-decoration: none;
  font-weight: 500;
  border: 0;
}
.woocommerce a.remove:hover {
  color: #fff !important;
  background: red;
}
.woocommerce .product-category mark {
  background: none;
}
@media (min-width: 1024px) {
  .woocommerce form.checkout.woocommerce-checkout {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "customer-details order-review";
  }
}
.woocommerce form.checkout.woocommerce-checkout h3 {
  font-size: 1.5rem;
  font-weight: 600;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details {
  grid-area: customer-details;
  padding: 35px;
  background-color: var(--light-color);
  border: 1px solid var(--default-border-color);
}
@media (max-width: 1023.98px) {
  .woocommerce form.checkout.woocommerce-checkout #customer_details {
    margin-bottom: 20px;
  }
}
@media (max-width: 767.98px) {
  .woocommerce form.checkout.woocommerce-checkout #customer_details {
    padding: 25px;
  }
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .form-row {
  margin-top: 0;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .form-row label {
  display: block;
  font-size: 1.0625rem;
  margin-bottom: 1em;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper {
  margin: 0 -10px;
  display: flex;
  flex-wrap: wrap;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row {
  padding: 0 10px;
  width: 100%;
}
@media screen and (min-width: 580px) {
  .woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row {
    width: 50%;
  }
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper {
  display: block;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row .woocommerce-input-wrapper input {
  width: 100%;
  max-width: 100%;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper .form-row-wide {
  width: 100%;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper .woocommerce-input-wrapper {
  display: block;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-additional-fields__field-wrapper .woocommerce-input-wrapper textarea {
  width: 100%;
}
.woocommerce form.checkout.woocommerce-checkout #customer_details .woocommerce-additional-fields h3 {
  display: none;
}
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper {
  grid-area: order-review;
}
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .container {
  background-color: var(--light-color);
  border: 1px solid var(--default-border-color);
  padding-top: 35px;
}
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-terms-and-conditions-wrapper,
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-review-order-table,
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper #order_review_heading {
  padding: 0 35px;
}
@media (max-width: 767.98px) {
  .woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-terms-and-conditions-wrapper,
  .woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-review-order-table,
  .woocommerce form.checkout.woocommerce-checkout .order-review-wrapper #order_review_heading {
    padding: 0 25px;
  }
}
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-terms-and-conditions-wrapper {
  padding-top: 25px;
  padding-bottom: 15px;
}
@media (max-width: 767.98px) {
  .woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-review-order-table {
    padding: 0px;
  }
  .woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .woocommerce-checkout-review-order-table ul.woocommerce-shipping-methods {
    margin: 0px;
  }
}
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .order-button-container {
  display: flex;
  padding: 60px 35px;
  justify-content: center;
  background-color: var(--light-color);
}
.woocommerce form.checkout.woocommerce-checkout .order-review-wrapper .order-button-container button {
  margin: 0;
}

/* --------------------------
 *
 * Default woocommerce table styles, but slightly modified
 *
** ----------------------- */
.woocommerce table.shop_table {
  margin: 0;
  text-align: left;
  width: 100%;
  border-collapse: separate;
}
.woocommerce table.shop_table th {
  font-weight: 700;
  padding: 9px 12px;
  line-height: 1.5em;
  color: var(--default-text-color);
  font-family: var(--primary-font);
}
.woocommerce table.shop_table.cart th {
  border-bottom: 1px solid var(--default-hr-color);
}
.woocommerce table.shop_table td.product-name {
  overflow-x: clip;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .woocommerce table.shop_table td.product-name {
    max-width: 170px;
  }
}
.woocommerce table.shop_table td.product-name a {
  font-size: 1.1875rem;
  color: var(--default-text-color);
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .woocommerce table.shop_table td.product-name a {
    font-size: 0.9375rem;
  }
}
.woocommerce table.shop_table td {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 9px 12px;
  vertical-align: middle;
  line-height: 1.5em;
}
.woocommerce table.shop_table td small {
  font-weight: 400;
}
.woocommerce table.shop_table td del {
  font-weight: 400;
}
.woocommerce table.shop_table td.actions .button {
  margin: 10px;
  margin-left: auto;
  text-transform: capitalize;
}
.woocommerce table.shop_table tbody:first-child tr:first-child td, .woocommerce table.shop_table tbody:first-child tr:first-child th {
  border-top: 0;
}
.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
  font-weight: 700;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
@media (max-width: 767.98px) {
  .woocommerce table.shop_table.shop_table_responsive tr.cart_item {
    display: block;
  }
  .woocommerce table.shop_table.shop_table_responsive tr.cart_item:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.02);
  }
  .woocommerce table.shop_table.shop_table_responsive tr.cart_item td:not(.product-remove)::before {
    content: attr(data-title) ": ";
    font-weight: 700;
    float: left;
  }
  .woocommerce table.shop_table.shop_table_responsive tr.cart_item td {
    text-align: right;
    display: block;
  }
  .woocommerce table.shop_table.shop_table_responsive tr.cart_item .product-thumbnail {
    display: none;
  }
  .woocommerce table.shop_table.shop_table_responsive thead {
    display: none;
  }
  .woocommerce table.shop_table.shop_table_responsive .actions > .button, .woocommerce table.shop_table.shop_table_responsive .actions .coupon {
    float: none !important;
  }
  .woocommerce table.shop_table.shop_table_responsive .actions > .button {
    margin-top: 1em !important;
  }
  .woocommerce table.shop_table.shop_table_responsive .quantity {
    display: flex;
  }
  .woocommerce table.shop_table.shop_table_responsive .quantity .custom-quantity-picker {
    margin-left: auto;
  }
}

/* --------------------------
 *
 * Cart page
 *
** ----------------------- */
.woocommerce .cross-sells {
  background: var(--light-color);
  padding: 14px 14px 6px 14px;
  border-top: 1px solid var(--default-hr-color);
  position: relative;
}
@media (min-width: 768px) {
  .woocommerce .cross-sells {
    padding: 16px 16px 8px 16px;
  }
}
.woocommerce .cross-sells h2 {
  margin-bottom: 0.2em;
  font-size: 1.3em;
}
.woocommerce .cross-sells:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 30px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--light-color) 40%);
}
.woocommerce .cross-sells ul.products {
  max-width: none;
  overflow: auto;
}
.woocommerce .cross-sells ul.products.columns-4 {
  --columns: 4 !important;
  --gap: 14px !important;
  padding-right: 10px !important;
}
.woocommerce .cross-sells ul.products.columns-5 {
  --columns: 5 !important;
  --gap: 14px !important;
  padding-right: 10px !important;
}
.woocommerce .cross-sells li.product {
  width: 155px;
}
@media (min-width: 768px) {
  .woocommerce .cross-sells li.product {
    width: 230px;
  }
}
.woocommerce .cross-sells li.product hr,
.woocommerce .cross-sells li.product .price .woocommerce-price-suffix,
.woocommerce .cross-sells li.product .product-loop-infolink-container,
.woocommerce .cross-sells li.product .woocommerce-loop-product__categories {
  display: none;
}
.woocommerce .cross-sells li.product .product-loop-info {
  display: none;
  font-size: 0.8em;
}
.woocommerce .cross-sells li.product h2.woocommerce-loop-product__title {
  font-size: 0.9em;
  margin: 0.5em 0 0.7em 0;
}
.woocommerce .cross-sells li.product h2.woocommerce-loop-product__title a {
  text-decoration: none;
}
.woocommerce .cross-sells li.product .price {
  font-size: 1em;
  margin: 0;
  min-height: 42px;
  width: 100%;
  padding-right: 48px;
  padding-top: 3px;
}
.woocommerce .cross-sells li.product .price ins {
  font-size: 0.9em;
  float: left;
}
@media (min-width: 768px) {
  .woocommerce .cross-sells li.product .price ins {
    font-size: 1em;
  }
}
.woocommerce .cross-sells li.product .price del {
  font-size: 0.7em;
}
@media (min-width: 768px) {
  .woocommerce .cross-sells li.product .price del {
    font-size: 0.9em;
  }
}
.woocommerce .cross-sells li.product a.add_to_cart_button {
  border-radius: 5px;
  padding: 0.61em 1.2em;
  margin: 0 3px 3px 0;
  font-size: 0.9375rem;
  text-indent: -999em;
  position: absolute;
  right: var(--padding);
  bottom: var(--padding);
  --button-bg-color: var(--secondary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--secondary-color);
  --button-after-color: var(--primary-color);
}
.woocommerce .cross-sells li.product a.add_to_cart_button:before {
  position: absolute;
  right: 50%;
  margin-right: -0.45em;
  text-indent: 0;
  content: "\f291";
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  margin-left: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: never;
}
.woocommerce .cross-sells li.product .product-loop-item--inner-container {
  --padding: 10px;
}
@media (min-width: 1024px) {
  .woocommerce .cross-sells li.product .product-loop-item--inner-container {
    --padding: 13px;
  }
}
@media (min-width: 1280px) {
  .woocommerce .cross-sells li.product .product-loop-item--inner-container {
    --padding: 17px;
  }
}
.woocommerce .cross-sells li.product .product-loop-item--inner-container:after {
  content: "";
  display: block;
  clear: both;
}

.woocommerce #content table.cart td.actions,
.woocommerce table.cart td.actions,
.woocommerce-page #content table.cart td.actions,
.woocommerce-page table.cart td.actions {
  padding: 1em 0 1em 0;
  border-top: 1px solid var(--default-hr-color);
}
.woocommerce #content table.cart td.actions::after,
.woocommerce table.cart td.actions::after,
.woocommerce-page #content table.cart td.actions::after,
.woocommerce-page table.cart td.actions::after {
  content: "";
  clear: both;
  display: table;
}
.woocommerce #content table.cart td.actions .coupon,
.woocommerce table.cart td.actions .coupon,
.woocommerce-page #content table.cart td.actions .coupon,
.woocommerce-page table.cart td.actions .coupon {
  float: left;
  vertical-align: top;
}
.woocommerce #content table.cart td.actions .coupon label,
.woocommerce table.cart td.actions .coupon label,
.woocommerce-page #content table.cart td.actions .coupon label,
.woocommerce-page table.cart td.actions .coupon label {
  display: none;
}
.woocommerce #content table.cart td.actions .coupon input.input-text,
.woocommerce table.cart td.actions .coupon input.input-text,
.woocommerce-page #content table.cart td.actions .coupon input.input-text,
.woocommerce-page table.cart td.actions .coupon input.input-text {
  float: left;
  width: 150px;
  font-size: 0.9375rem;
  margin: 0 0.3em 0 0;
}
.woocommerce #content table.cart td.actions .coupon .button,
.woocommerce table.cart td.actions .coupon .button,
.woocommerce-page #content table.cart td.actions .coupon .button,
.woocommerce-page table.cart td.actions .coupon .button {
  float: left;
  border-radius: 5px;
  padding: 0.62em 1.2em;
  margin: 0;
  font-size: 0.9375rem;
  --button-bg-color: var(--secondary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--secondary-color);
  --button-after-color: var(--primary-color);
}
.woocommerce #content table.cart td.actions .coupon:after,
.woocommerce table.cart td.actions .coupon:after,
.woocommerce-page #content table.cart td.actions .coupon:after,
.woocommerce-page table.cart td.actions .coupon:after {
  display: block;
  content: "";
  clear: both;
}
.woocommerce #content table.cart td.actions > .button,
.woocommerce table.cart td.actions > .button,
.woocommerce-page #content table.cart td.actions > .button,
.woocommerce-page table.cart td.actions > .button {
  text-transform: none;
  float: right;
  border-radius: 5px;
  padding: 0.62em 1.2em;
  margin: 0;
  font-size: 0.9375rem;
  --button-bg-color: var(--secondary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--secondary-color);
  --button-after-color: var(--primary-color);
}

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
  width: 100%;
  border-top: 1px solid var(--default-hr-color);
  padding: 20px 0 0;
}
@media (min-width: 480px) {
  .woocommerce .cart-collaterals,
  .woocommerce-page .cart-collaterals {
    padding: 30px 0 0;
  }
}
@media (min-width: 768px) {
  .woocommerce .cart-collaterals,
  .woocommerce-page .cart-collaterals {
    padding: 35px 0 0;
    display: flex;
  }
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  align-items: center;
  max-width: 100%;
  margin-left: auto;
}
@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    display: flex;
  }
}
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-page .cart-collaterals .cart_totals h2 {
  display: none;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table,
.woocommerce-page .cart-collaterals .cart_totals table.shop_table {
  margin: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals table.shop_table,
  .woocommerce-page .cart-collaterals .cart_totals table.shop_table {
    width: auto;
  }
}
.woocommerce .cart-collaterals .cart_totals tr td,
.woocommerce-page .cart-collaterals .cart_totals tr td {
  text-align: right;
  padding-left: 0px;
}
@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals tr td,
  .woocommerce-page .cart-collaterals .cart_totals tr td {
    padding-left: 2em;
  }
}
.woocommerce .cart-collaterals .cart_totals th, .woocommerce .cart-collaterals .cart_totals td,
.woocommerce-page .cart-collaterals .cart_totals th,
.woocommerce-page .cart-collaterals .cart_totals td {
  padding: 0;
  border-top: 0;
}
.woocommerce .cart-collaterals .cart_totals tr.order-total,
.woocommerce-page .cart-collaterals .cart_totals tr.order-total {
  color: var(--default-text-color);
}
.woocommerce .cart-collaterals .cart_totals tr.order-total th, .woocommerce .cart-collaterals .cart_totals tr.order-total td,
.woocommerce-page .cart-collaterals .cart_totals tr.order-total th,
.woocommerce-page .cart-collaterals .cart_totals tr.order-total td {
  padding-top: 1em;
}
.woocommerce .cart-collaterals .cart_totals tr.order-total th, .woocommerce .cart-collaterals .cart_totals tr.order-total td, .woocommerce .cart-collaterals .cart_totals tr.order-total strong,
.woocommerce-page .cart-collaterals .cart_totals tr.order-total th,
.woocommerce-page .cart-collaterals .cart_totals tr.order-total td,
.woocommerce-page .cart-collaterals .cart_totals tr.order-total strong {
  color: inherit;
}
.woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout,
.woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  margin: 1em 0 1em 0;
  width: 250px;
  max-width: 100%;
}
@media (min-width: 768px) {
  .woocommerce .cart-collaterals .cart_totals .wc-proceed-to-checkout,
  .woocommerce-page .cart-collaterals .cart_totals .wc-proceed-to-checkout {
    margin: 1em 0 1em 2em;
  }
}
.woocommerce .cart-collaterals a.checkout-button,
.woocommerce-page .cart-collaterals a.checkout-button {
  --button-bg-color: var(--primary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--primary-color);
  --button-after-color: var(--white-color);
  font-size: 1.375rem;
  padding: 1.3em 1.5em 1.3em 1.5em;
  width: 100%;
  max-width: 100%;
  text-align: center;
  border-radius: 5px;
}

/* --------------------------
 *
 * Checkout page
 *
** ----------------------- */
#add_payment_method table.cart .product-thumbnail,
.woocommerce-cart table.cart .product-thumbnail,
.woocommerce-checkout table.cart .product-thumbnail {
  min-width: 32px;
}
#add_payment_method table.cart .product-thumbnail a > img,
#add_payment_method table.cart .product-thumbnail a > picture > img,
.woocommerce-cart table.cart .product-thumbnail a > img,
.woocommerce-cart table.cart .product-thumbnail a > picture > img,
.woocommerce-checkout table.cart .product-thumbnail a > img,
.woocommerce-checkout table.cart .product-thumbnail a > picture > img {
  max-height: 150px;
  -o-object-fit: contain;
     object-fit: contain;
}

#add_payment_method table.cart input,
.woocommerce-cart table.cart input,
.woocommerce-checkout table.cart input {
  margin: 0;
  vertical-align: middle;
}

#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
  width: 85px;
}

.woocommerce td.product-quantity {
  min-width: 80px;
}

.order-review-wrapper table.shop_table {
  border: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  text-align: left;
  padding: 1em 35px;
  border-bottom: 1px solid #d3ced2;
  margin: 0;
  list-style: none outside;
}
.woocommerce-checkout #payment ul.payment_methods li {
  line-height: 2;
  text-align: left;
  margin: 0;
  font-weight: 400;
}
.woocommerce-checkout #payment div.payment_box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 1em;
  margin: 1em 0;
  font-size: 0.92em;
  border-radius: 2px;
  line-height: 1.5;
  background-color: var(--white-color);
  color: var(--default-text-color);
}
.woocommerce-checkout #payment div.payment_box::before {
  content: "";
  display: block;
  border: 1em solid var(--white-color);
  border-right-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
  position: absolute;
  top: -0.75em;
  left: 0;
  margin: -1em 0 0 2em;
}
.woocommerce-checkout #payment div.payment_box p:last-child {
  margin-bottom: 0;
}
.woocommerce-checkout #payment div.payment_box p:first-child {
  margin-top: 0;
}
.woocommerce-checkout #kco-order-review {
  overflow: auto;
}
.woocommerce-checkout #kco-order-review select#pakettikauppa_pickup_point {
  max-width: 320px !important;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: 1px solid #cccccc;
  background: white;
  padding: 35px;
  margin: 2em 0;
  text-align: left;
}

.woocommerce-form .woocommerce-login-input-container {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.woocommerce-form .woocommerce-login-input-container p {
  padding: 0 10px;
}
.woocommerce-form .woocommerce-login-input-container p:first-of-type {
  width: 100%;
}
.woocommerce-form .woocommerce-login-input-container p.form-row {
  width: 100%;
}
@media (min-width: 768px) {
  .woocommerce-form .woocommerce-login-input-container p.form-row {
    width: 50%;
  }
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-block;
  line-height: 2;
}

.woocommerce-button.button.woocommerce-form-login__submit {
  float: left;
  margin: 0;
  margin-right: 1em;
  border-radius: 5px;
  display: block;
  padding: 0.6rem 1.5em;
}

.woocommerce form .form-row label, .woocommerce-page form .form-row label {
  display: block;
}

.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
  width: 100%;
}

.woocommerce form .form-row::after {
  content: "";
  clear: both;
  display: table;
}

.checkout-login-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--default-text-color);
  margin-left: 10px;
  margin-bottom: 0px;
}

@media (max-width: 479.98px) {
  .checkout-wrapper .woocommerce-form-login .form-row-last {
    margin-top: 0px;
  }
}
.checkout-wrapper form:first-child {
  margin-top: 0px;
}

/* --------------------------
 *
 * Order details
 *
** ----------------------- */
.woocommerce ul.order_details {
  margin: 0 0 2em;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.woocommerce ul.order_details li {
  margin-right: 2em;
  text-transform: uppercase;
  font-size: 0.715em;
  line-height: 1;
  border-left: 1px dashed #d3ced2;
  padding-left: 2em;
  margin-left: 0;
  list-style-type: none;
}
.woocommerce ul.order_details li.vat_id {
  display: none;
}

.woocommerce ul.order_details li strong {
  display: block;
  font-size: 1.4em;
  text-transform: none;
  line-height: 1.5;
}

.woocommerce ul.order_details li:first-of-type {
  border: none;
  padding-left: 0px;
}

.woocommerce .woocommerce-customer-details address {
  font-style: normal;
  margin-bottom: 2em;
  border: 1px solid #bcd0d7;
  text-align: left;
  width: 100%;
  padding: 1em 35px;
  line-height: 1.5;
}

.woocommerce .woocommerce-customer-details .woocommerce-customer-details--email,
.woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone {
  margin-bottom: 0;
}

/* --------------------------
 *
 * Custom quantity input
 *
** ----------------------- */
.woocommerce .quantity .qty {
  text-align: center;
}

input[type=number].custom-quantity-input {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
  height: 40px;
  border: none;
  border-radius: 0;
  width: 2.75em;
  padding: 11px;
  font-weight: 700;
  font-size: 1.1875rem;
  font-size: 0.8125rem;
  padding: 11px 5px;
  color: var(--default-text-color);
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}
input[type=number].custom-quantity-input::-webkit-inner-spin-button, input[type=number].custom-quantity-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
@media (max-width: 479.98px) {
  input[type=number].custom-quantity-input {
    font-size: 1rem;
    padding: 11px 5px;
  }
}

.custom-quantity-picker {
  width: -moz-max-content;
  width: max-content;
  border: 1px solid #cccccc;
  border-radius: 5px;
  display: flex;
  overflow: hidden;
}
.custom-quantity-picker button {
  width: 33px;
  padding: 0;
  border: 0;
  background-color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  color: var(--default-text-color);
  width: 30px;
}
.custom-quantity-picker button:hover {
  background-color: #f4f4f4;
}

/* --------------------------
 *
 * Custom radio pill variation select
 *
** ----------------------- */
.variation-selector-container fieldset {
  border: none;
  margin: 0;
  margin: 1em 0 2em 0;
  padding: 0;
}
.variation-selector-container legend {
  margin-bottom: 0.7em;
  color: var(--tertiary-color);
  font-weight: 600;
  font-family: var(--primary-font);
  font-size: 1.5rem;
}
.variation-selector-container label {
  color: var(--default-text-color);
  border: 1px solid #bec3cb;
  border-radius: 5px;
  font-weight: 700;
  font-size: 1.0625rem;
  padding: 0.5em;
  margin: 0 0.5em 0.3em 0;
  display: inline-block;
  cursor: pointer;
}
.variation-selector-container label:hover {
  border: 1px solid var(--default-text-color);
}
.variation-selector-container input[type=radio]:checked + label {
  color: #ffffff;
  background-color: var(--default-text-color);
  border-color: var(--default-text-color);
}

.woocommerce-variation .woocommerce-variation-price {
  margin-top: 20px;
}

.woocommerce ul.cart_list,
.woocommerce ul.product_list_widget {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.woocommerce ul.cart_list li + li,
.woocommerce ul.product_list_widget li + li {
  margin-top: 14px;
}
.woocommerce ul.cart_list li,
.woocommerce ul.product_list_widget li {
  padding: 6px 0;
  padding-left: 2em;
  position: relative;
  padding-top: 0;
}
.woocommerce ul.cart_list li a:hover:not(.remove),
.woocommerce ul.product_list_widget li a:hover:not(.remove) {
  text-decoration: underline;
}
.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a {
  display: block;
}
.woocommerce ul.cart_list li a.remove,
.woocommerce ul.product_list_widget li a.remove {
  position: absolute;
  top: 0;
  left: 0;
}
.woocommerce ul.cart_list li img,
.woocommerce ul.product_list_widget li img {
  float: right;
  margin-left: 4px;
  width: 32px;
  height: auto;
  max-height: 50px;
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: none;
}
.woocommerce .woocommerce-MyAccount-content fieldset {
  border: 1px solid;
  border-radius: 10px;
  border-color: #cccccc;
  padding: 0.5em 1.5em;
}

.select2-selection--single {
  height: 44px !important;
}
.select2-selection--single .select2-selection__rendered {
  padding-top: 8px;
}
.select2-selection--single .select2-selection__arrow {
  top: 8px !important;
}

#customer_details abbr {
  text-decoration: none;
}
#customer_details #order_comments {
  height: 120px;
}

.variations .label {
  padding-right: 10px;
  line-height: 1;
}
.variations .value {
  padding-bottom: 5px;
}
.variations .value select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position-x: 95%;
  background-position-y: 0.7rem;
  border: 1px solid #dfdfdf;
  padding: 0.9rem;
  padding-right: 2rem;
  border-radius: 10px;
}
.variations .value select:focus {
  outline: none;
}

#shipping_method {
  padding: 0;
}
#shipping_method li {
  display: block;
}
#shipping_method li input[type=radio] {
  margin-left: -1.1em;
  margin-right: 0.35em;
}

.order-total .includes_tax {
  display: block;
}

#ship-to-different-address {
  margin-top: 30px;
  margin-bottom: 30px;
}

.woocommerce-checkout-review-order-table .delivery-call-fee .input-checkbox {
  margin-right: 0.5em;
}

.ty-message {
  margin-bottom: 2em;
}

.woocommerce-order .wc-bacs-bank-details-account-name {
  display: none;
}
.woocommerce-order .wc-bacs-bank-details-heading {
  display: none;
}

.woocommerce-MyAccount-content mark {
  background-color: transparent;
  font-weight: 600;
}
.woocommerce-MyAccount-content legend {
  padding: 0px 10px;
}

.shop-top-wrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 5px;
}
@media (min-width: 1280px) {
  .shop-top-wrapper .shop-description {
    width: 70%;
  }
}
.shop-top-wrapper .shop-description-brand + .term-description {
  margin-top: 1em;
}
.shop-top-wrapper .catalog_ordering_container {
  margin: 0.5em 0;
  display: flex;
  flex-direction: column;
}
.shop-top-wrapper .catalog_ordering_container form {
  width: 100%;
}
.shop-top-wrapper .catalog_ordering_container form select {
  width: 100%;
  max-width: 400px;
  float: right;
}
@media (min-width: 1280px) {
  .shop-top-wrapper .catalog_ordering_container {
    width: 30%;
  }
}
.shop-top-wrapper .catalog_ordering_container .woocommerce-result-count {
  margin: 0.5em 0;
  order: 2;
}
@media (min-width: 1280px) {
  .shop-top-wrapper .catalog_ordering_container .woocommerce-result-count {
    text-align: right;
    margin-right: 0.15em;
  }
}
@media (min-width: 1280px) {
  .shop-top-wrapper {
    flex-direction: row;
    gap: 30px;
  }
}

#kco-wrapper {
  grid-column: 1/-1;
}

/* --------------------------
 *
 * Woocommerce structure
 *
** ----------------------- */
.component--woocommerce-area-container {
  padding: 15px;
  min-height: 16rem;
}
@media (min-width: 480px) {
  .component--woocommerce-area-container {
    padding: 30px;
  }
}
@media (min-width: 768px) {
  .component--woocommerce-area-container {
    padding: 40px;
  }
}
@media (min-width: 1024px) {
  .component--woocommerce-area-container {
    padding: 50px;
  }
}
@media (min-width: 1280px) {
  .component--woocommerce-area-container {
    padding: 55px;
  }
}
@media (max-width: 479.98px) {
  .component--woocommerce-area-container {
    margin: 0 calc(var(--wrapper-padding) / 1.4 * -1) 0 calc(var(--wrapper-padding) / 1.4 * -1);
  }
}
.component--woocommerce-area-container.overlap {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--hero-content-overlap-mobile) * -1);
}
@media (min-width: 1280px) {
  .component--woocommerce-area-container.overlap {
    margin-top: calc((var(--main-container-padding-desktop) + var(--hero-content-overlap-desktop)) * -1);
  }
}

/* --------------------------
 *
 * Woocommerce single product
 *
** ----------------------- */
.reset_variations {
  margin-left: 10px;
}
@media (max-width: 479.98px) {
  .reset_variations {
    display: none !important;
  }
}

.woocommerce.single-product div.product {
  display: grid;
  -moz-column-gap: 70px;
       column-gap: 70px;
  min-width: 0;
  min-height: 0;
  grid-template-areas: "title" "images" "summary" "tabs" "related" "upsells";
}
.woocommerce.single-product div.product > div {
  overflow: hidden;
  min-width: 0px;
  max-width: 100%;
}
@media (max-width: 1023.98px) {
  .woocommerce.single-product div.product {
    row-gap: 20px;
  }
}
.woocommerce.single-product div.product .single-product-title-container {
  grid-area: title;
}
.woocommerce.single-product div.product .woocommerce-product-gallery {
  grid-area: images;
}
.woocommerce.single-product div.product .summary {
  grid-area: summary;
}
.woocommerce.single-product div.product .woocommerce-tabs {
  grid-area: tabs;
  margin-top: 50px;
}
.woocommerce.single-product div.product .related.products {
  grid-area: related;
}
.woocommerce.single-product div.product .upsells {
  grid-area: upsells;
}
@media (min-width: 1024px) {
  .woocommerce.single-product div.product {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: "images title" "images summary" "tabs tabs" "related related" "upsells upsells";
  }
}
.woocommerce.single-product div.product .price {
  font-size: 2rem;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0 0 0 1em;
  margin: 0 0 1.618em;
  overflow: hidden;
  position: relative;
  box-shadow: 0px 11px 10px -12px rgba(0, 0, 0, 0.17);
  --tab-border: var(--default-border-color);
  --active-tab: var(--primary-color);
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
  border: 1px solid var(--tab-border);
  border-bottom: 0px;
  display: inline-block;
  position: relative;
  z-index: 0;
  border-radius: 4px 4px 0 0;
  margin: 0 -2px;
  padding: 0;
}
@media (max-width: 479.98px) {
  .woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
    font-size: 0.875rem;
  }
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 0.5em 1em;
  font-weight: 700;
  color: var(--default-text-color);
  text-decoration: none;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:hover {
  text-decoration: none;
  color: var(--default-link-color);
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active {
  background-color: var(--active-tab);
  z-index: 2;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--white-color);
  text-shadow: inherit;
}
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs::before {
  position: absolute;
  content: " ";
  width: 100%;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid var(--tab-border);
  z-index: 1;
}
.woocommerce.single-product div.product .shop_attributes th {
  vertical-align: top;
  text-align: left;
}
.woocommerce.single-product div.product .shop_attributes th:first-letter {
  text-transform: capitalize;
}
.woocommerce.single-product div.product .shop_attributes td {
  vertical-align: top;
  text-align: left;
  padding-left: 10px;
}
.woocommerce.single-product div.product .shop_attributes td p {
  margin: 0;
}
.woocommerce.single-product div.product .shop_attributes td p:first-letter {
  text-transform: capitalize;
}
.woocommerce.single-product div.product .woocommerce-variation-add-to-cart {
  margin: 1em 0;
}
.woocommerce.single-product div.product button.single_add_to_cart_button {
  line-height: 38px;
  padding: 0 15px;
  border-radius: 5px;
  --button-bg-color: var(--primary-color);
  --button-text-color: var(--white-color);
  --button-border-color: var(--primary-color);
  --button-after-color: var(--white-color);
}
@media (max-width: 374px) {
  .woocommerce.single-product div.product button.single_add_to_cart_button {
    font-size: 0.8em;
  }
}
.woocommerce.single-product div.product .quantity {
  display: block;
  float: left;
  margin-right: 7px;
  padding-top: 0px;
}
.woocommerce.single-product div.product p.stock.out-of-stock,
.woocommerce.single-product div.product p.stock.available-on-backorder {
  font-weight: 600;
  border-left: 10px solid red;
  background: var(--gray-color);
  color: var(--white-color);
  padding: 0.5em 1em;
}
.woocommerce.single-product div.product p.in-stock {
  font-weight: 600;
  border-left: 10px solid green;
  background: var(--light-color);
  color: var(--default-text-color);
  padding: 0.5em 1em;
}
.woocommerce.single-product div.product .product_meta {
  margin-top: 1.2em;
}
.woocommerce.single-product div.product .product_meta > span {
  display: block;
}
.woocommerce.single-product div.product .product_meta .posted_in {
  display: none;
}
.woocommerce.single-product div.product .product_meta .tagged_as a {
  font-size: 0.95em;
  opacity: 0.75;
  text-decoration: underline;
}
.woocommerce.single-product div.product .product-brands .categories-brands a {
  font-size: 0.95em;
  opacity: 0.75;
  text-decoration: underline;
}
.woocommerce.single-product div.product .woocommerce-product-rating {
  margin-bottom: 1em;
}
.woocommerce.single-product div.product .woocommerce-grouped-product-list {
  margin-bottom: 1em;
}
.woocommerce.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label {
  padding-right: 1em;
}
.woocommerce.single-product div.product .woovr-variation-selector select.woovr-variation-select {
  width: 100%;
  cursor: pointer;
}
.woocommerce.single-product div.product .woovr-variations .woovr-variation {
  border-radius: 3px;
}

.component--upsell-related-products-display-container {
  margin-bottom: 1.5em;
}
@media (min-width: 1024px) {
  .component--upsell-related-products-display-container {
    margin-bottom: 2.5em;
  }
}

.related-products-heading-container {
  margin: 0.5em 0 1.5em 0;
}
@media (min-width: 1280px) {
  .related-products-heading-container {
    padding: 0.5em 0 0.5em 0;
  }
}

.related-products-heading-container h2 {
  margin: 0.5em 0;
}

.related-products-heading-container .related-products-link-container {
  margin-left: 1em;
  margin-right: 0.5em;
}

/* --------------------------
 *
 * Single product - Image gallery
 *
** ----------------------- */
.woocommerce-product-gallery__wrapper {
  margin: 0;
}

figure.woocommerce-product-gallery__wrapper {
  max-width: none !important;
}

.woocommerce-product-gallery__image > a {
  display: block;
  padding-bottom: 100%;
  width: 100%;
  position: relative;
}

.woocommerce-product-gallery__image > a > img,
.woocommerce-product-gallery__image > a > picture,
.woocommerce-product-gallery__image > a > picture > img {
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.flex-control-thumbs {
  margin: 1.5em 0 1em 0;
  display: grid;
  flex-wrap: wrap;
  padding-left: 0;
  gap: var(--gap, 10px);
  --columns: 4;
  --gap: 10px;
  grid-template-columns: repeat(var(--columns, 4), 1fr);
}
@media (min-width: 480px) {
  .flex-control-thumbs {
    --columns: 4;
  }
}
@media (min-width: 768px) {
  .flex-control-thumbs {
    --columns: 5;
  }
}
@media (min-width: 1024px) {
  .flex-control-thumbs {
    --columns: 6;
  }
}
@media (min-width: 1280px) {
  .flex-control-thumbs {
    --columns: 6;
    --gap: 10px;
  }
}
@media (max-width: 767.98px) {
  .flex-control-thumbs {
    max-height: 300px;
    overflow: auto;
  }
}
@media (max-width: 479.98px) {
  .flex-control-thumbs {
    max-height: 150px;
    overflow: auto;
  }
}
.flex-control-thumbs li {
  display: inline-block;
  padding-bottom: 100%;
  position: relative;
  min-width: 0;
  cursor: pointer;
}
.flex-control-thumbs li:hover > img {
  opacity: 0.8;
}
.flex-control-thumbs li img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -o-object-fit: contain;
     object-fit: contain;
  min-width: 0;
  opacity: 0.6;
  transition: all 0.3s;
}
.flex-control-thumbs li img.flex-active {
  opacity: 1;
  box-shadow: 2px 2px 8px -2px rgba(21, 21, 21, 0.2784313725);
}

/* --------------------------
 *
 * Woocommerce global
 *
** ----------------------- */
.woocommerce .price {
  display: block;
  line-height: 1;
  font-family: var(--secondary-font);
  font-weight: 900;
  color: var(--list-price-text-color);
  background: var(--list-price-bg);
}
.woocommerce .price ins {
  float: left;
  margin-right: 0.5em;
  text-decoration: none;
}
.woocommerce .price del {
  font-size: 0.8em;
  opacity: 0.5;
  font-weight: 400;
}
.woocommerce .price .price-per-kg {
  color: var(--default-text-color);
  font-size: 0.566em;
  opacity: 1;
  font-weight: 400;
  display: block;
  margin-top: 4px;
}
.woocommerce .price .woocommerce-price-suffix {
  font-size: 0.533em;
  opacity: 0.6;
  font-weight: 400;
  white-space: nowrap;
}
.woocommerce .price .admin_only_reseller_price bdi {
  display: inline-block;
  margin-top: 5px;
}

/* --------------------------
 *
 * Woocommerce loops
 *
** ----------------------- */
.woocommerce ul.products {
  list-style-type: none;
  max-width: 100%;
  margin: 0 auto;
  padding: 0.5em 0;
  display: grid;
  grid-template-columns: repeat(var(--columns, 4), 1fr);
  gap: var(--gap, 20px);
  --gap: 14px;
  --columns: 1;
}
@media (min-width: 410px) {
  .woocommerce ul.products {
    --columns: 2;
  }
  .woocommerce ul.products.columns-1 {
    --columns: 1;
  }
}
@media (min-width: 480px) {
  .woocommerce ul.products {
    --columns: 2;
  }
  .woocommerce ul.products.columns-1 {
    --columns: 1;
  }
}
@media (min-width: 768px) {
  .woocommerce ul.products {
    --columns: 3;
  }
  .woocommerce ul.products.columns-1 {
    --columns: 1;
  }
  .woocommerce ul.products.columns-2 {
    --columns: 2;
  }
}
@media (min-width: 1024px) {
  .woocommerce ul.products {
    --columns: 4;
  }
  .woocommerce ul.products.columns-1 {
    --columns: 1;
  }
  .woocommerce ul.products.columns-2 {
    --columns: 2;
  }
  .woocommerce ul.products.columns-3 {
    --columns: 3;
  }
}
@media (min-width: 1280px) {
  .woocommerce ul.products {
    --gap: 20px ;
  }
  .woocommerce ul.products.columns-1 {
    --columns: 1;
  }
  .woocommerce ul.products.columns-2 {
    --columns: 2;
  }
  .woocommerce ul.products.columns-3 {
    --columns: 3;
  }
  .woocommerce ul.products.columns-4 {
    --columns: 4;
  }
  .woocommerce ul.products.columns-5 {
    --columns: 5;
  }
  .woocommerce ul.products.columns-6 {
    --columns: 6;
  }
}
.woocommerce ul.products li.product-category {
  grid-column: 1/span var(--columns);
}

.woocommerce li.product {
  position: relative;
  min-width: 0;
  margin-bottom: 10px;
}
.woocommerce li.product span.onsale {
  box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
  position: absolute;
  z-index: 1;
  top: -0.6em;
  left: -0.6em;
  display: block;
  text-align: left;
  background-color: var(--primary-color);
  font-family: var(--secondary-font);
  --size: 3.5em;
  text-align: center;
  text-transform: uppercase;
  padding: 0;
  width: auto;
  line-height: var(--size);
  height: var(--size);
  width: var(--size);
  border-radius: var(--size);
  color: var(--white-color);
  font-weight: 600;
  font-size: 0.8em;
  transform: rotate(-25deg);
  box-shadow: 0 0 10px -1px #fff;
}
.woocommerce li.product .imagewrapper {
  position: relative;
  padding-bottom: 100%;
}
.woocommerce li.product .imagewrapper img, .woocommerce li.product .imagewrapper picture {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.woocommerce li.product .product-loop-info {
  font-weight: 400;
  font-size: 0.9375rem;
  color: var(--default-text-color);
}
.woocommerce li.product .woocommerce-loop-product__categories {
  margin: 0 0 1rem 0;
  line-height: 1em;
}
.woocommerce li.product .woocommerce-loop-product__categories a {
  font-size: 1rem;
  opacity: 0.7;
  line-height: 1em;
  display: inline-block;
}
.woocommerce li.product .woocommerce-loop-product__title {
  font-size: 1.3125rem;
  font-family: var(--primary-font);
  font-weight: 700;
}
@media (max-width: 1023.98px) {
  .woocommerce li.product .woocommerce-loop-product__title {
    font-size: 1.125rem;
  }
}
.woocommerce li.product .price {
  font-size: 1.375rem;
}
.woocommerce li.product .price .price-per-kg {
  display: none;
}
.woocommerce li.product .loop-ratings-container {
  font-size: 0.9em;
}
.woocommerce li.product .loop-ratings-container > a {
  display: inline-block;
  font-size: 0.9em;
}
.woocommerce li.product .imagewrapper,
.woocommerce li.product .product__categories,
.woocommerce li.product .woocommerce-loop-product__title,
.woocommerce li.product .product-loop-info,
.woocommerce li.product .price,
.woocommerce li.product .loop-ratings-container {
  margin: 0 0 1rem 0;
}
.woocommerce li.product a > *:last-child {
  margin-bottom: 0.5rem;
}

.product-loop-item--inner-container {
  --padding: 10px;
  height: 100%;
  transition: box-shadow 0.2s, transform 0.2s;
}
.product-loop-item--inner-container > a.woocommerce-loop-product__link {
  display: block;
  min-height: 100%;
  padding: var(--padding);
}
@media (min-width: 1024px) {
  .product-loop-item--inner-container {
    --padding: 15px;
  }
}
@media (min-width: 1024px) {
  .product-loop-item--inner-container:hover {
    box-shadow: 3px 3px 9px -2px rgba(0, 0, 0, 0.3) !important;
    transform: translateY(-3px);
  }
}
@media (min-width: 1280px) {
  .product-loop-item--inner-container {
    --padding: 25px;
  }
}

.product-category-loop-item--inner-container {
  margin-bottom: 3em;
}

.product-category-loop-item--category-info-container {
  margin-bottom: 2em;
}

.product-category-loop-item--products-container {
  margin-bottom: 1em;
}

.product-category--bottom-description-container {
  margin: 2em 0;
}

/* --------------------------
 *
 * Woocommerce ratings
 *
** ----------------------- */
.woocommerce p.stars span {
  display: block;
  line-height: 1em;
}

.woocommerce p.stars a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: WooCommerce;
  content: "\e021";
  text-indent: 0;
}

.woocommerce p.stars a {
  color: rgba(0, 0, 0, 0.4);
  position: relative;
  line-height: 1em;
  height: 1em;
  width: 1em;
  margin: 0 -3px 0 0;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
}

.woocommerce .star-rating span::before, .woocommerce p.stars:hover a::before {
  color: var(--secondary-color);
}

.woocommerce p.stars.selected a::before {
  color: var(--secondary-color);
}

.woocommerce p.stars.selected a:not(.active)::before,
.woocommerce p.stars.selected a.active::before {
  content: "\e020";
}

.woocommerce p.stars:hover a::before {
  content: "\e020";
}

.woocommerce p.stars a:hover ~ a::before {
  content: "\e021";
}

.woocommerce p.stars.selected a.active ~ a::before {
  content: "\e021";
}

.woocommerce .star-rating span:before, .woocommerce p.stars:hover a::before {
  color: var(--secondary-color);
}

.woocommerce .woocommerce-product-rating:after {
  clear: both;
  display: block;
  content: "";
}

.woocommerce .star-rating {
  float: left;
  overflow: hidden;
  position: relative;
  height: 1em;
  line-height: 1;
  font-size: 1.2em;
  margin-right: 0.3em;
  width: 5.4em;
  font-family: star;
}

.woocommerce .woocommerce-review-link {
  float: left;
  display: block;
}

.woocommerce .star-rating:before {
  color: rgba(0, 0, 0, 0.4);
}

.woocommerce .star-rating::before {
  content: "sssss";
  color: #d3ced2;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}

.woocommerce .star-rating span::before {
  content: "SSSSS";
  top: 0;
  position: absolute;
  left: 0;
}

.woocommerce .star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}

.woocommerce div.product > div.woocommerce-tabs {
  overflow: visible;
}

#reviews ol.commentlist {
  list-style: none;
  padding: 0;
}
#reviews ol.commentlist li {
  padding: 20px 0 20px 0;
  border-bottom: 1px solid var(--default-hr-color);
}
#reviews ol.commentlist li > div {
  position: relative;
  padding-left: 60px;
}
#reviews ol.commentlist li > div:after {
  content: "";
  clear: both;
  display: block;
}
#reviews ol.commentlist li > div > img {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50px;
}
#reviews ol.commentlist li > div > div.comment-text {
  float: left;
  padding-left: 1em;
  margin-top: 0px;
}
#reviews .comment-text p {
  margin: 0 0 0.5em 0;
}
#reviews .comment-text p.meta {
  margin: 0.5em 0;
  font-size: 0.9em;
}
#reviews .comment-text .star-rating {
  margin: 0;
  display: block;
  float: none;
}

#review_form_wrapper {
  margin: 2em 0 0 0;
}

#review_form #respond span#reply-title {
  font-size: 1.4em;
  font-weight: 600;
  font-family: var(--secondary-font);
  margin-bottom: 0.3em;
  display: block;
}
#review_form #respond .comment-form-rating {
  margin-bottom: 0.5em;
}
#review_form #respond .comment-form-rating label {
  display: inline-block;
  margin-right: 0.5em;
}
#review_form #respond .comment-form-rating p.stars {
  display: inline-block;
  margin: 0;
}
#review_form #respond .comment-form-comment label {
  display: block;
  display: none;
}
#review_form #respond .comment-form-comment textarea {
  width: 600px;
}

/* --------------------------
 *
 * My account / Dashboard
 *
** ----------------------- */
.logged-in.woocommerce-account .component--singular-content .woocommerce {
  display: grid;
  grid-template-columns: 260px 1fr;
  grid-template-areas: "navigation content-area";
}
@media (max-width: 767.98px) {
  .logged-in.woocommerce-account .component--singular-content .woocommerce {
    display: block;
  }
}
.logged-in.woocommerce-account .component--singular-content a.edit {
  display: inline-block;
}
.logged-in.woocommerce-account .component--singular-content .woocommerce-MyAccount-content header {
  margin: 1em 0 0 0;
}
.logged-in.woocommerce-account .component--singular-content .woocommerce-MyAccount-content .woocommerce-Address {
  margin-bottom: 1em;
}
.logged-in.woocommerce-account .component--singular-content .woocommerce-MyAccount-navigation {
  grid-area: navigation;
}
.logged-in.woocommerce-account .component--singular-content .woocommerce-MyAccount-content {
  grid-area: content-area;
}
@media (min-width: 768px) {
  .logged-in.woocommerce-account .component--singular-content .woocommerce-MyAccount-content {
    padding-left: 1em;
  }
}

.woocommerce-MyAccount-navigation {
  padding-right: 0;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid var(--default-hr-color);
}
.woocommerce-MyAccount-navigation ul {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
  flex-direction: row;
  padding: 0;
  margin: 0;
  list-style: none;
}
.woocommerce-MyAccount-navigation ul li {
  display: block;
  margin: 1px;
}
.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 5px 8px;
  background: transparent;
  color: var(--default-text-color);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: var(--primary-color);
  color: var(--default-link-color-primary);
}
.woocommerce-MyAccount-navigation ul li > a:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-family: "Font Awesome 6 Pro";
  margin: 0 0.3em 0 0;
  width: 1.3em;
  text-align: center;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard a:before {
  content: "\f015";
  font-weight: 900;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before {
  content: "\f290";
  font-weight: 900;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a:before {
  content: "\f3c5";
  font-weight: 900;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before {
  content: "\f2bb";
  font-weight: 900;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before {
  content: "\f08b";
  font-weight: 900;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--payment-methods a:before {
  content: "\f044";
  font-weight: 900;
}
@media (min-width: 768px) {
  .woocommerce-MyAccount-navigation {
    padding-bottom: 0;
    margin-bottom: 0;
    border: 0;
    border-right: 1px solid var(--default-hr-color);
  }
  .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }
  .woocommerce-MyAccount-navigation ul li {
    display: block;
  }
}

input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=password],
input[type=number],
input[type=search],
select,
textarea {
  padding: 10px;
  border: 1px solid var(--default-border-color);
  max-width: 100%;
  border-radius: 5px;
  transition: box-shadow 0.1s ease-out;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=tel]:focus,
input[type=password]:focus,
input[type=number]:focus,
input[type=search]:focus,
select:focus,
textarea:focus {
  box-shadow: inset var(--primary-color) 0 0 0 1px;
}

/*
Custom select styles
Styling a Select Like It's 2019 https://www.filamentgroup.com/lab/select-css.html
*/
select.stylized, select.woovr-variation-select {
  display: block;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 4px;
  min-width: 30%;
  padding: 13px 15px;
  padding-right: 2.5rem;
  background-color: var(--white-color);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="50" viewBox="0 0 960 560" fill="black"><g><path d="M480,344.181L268.869,131.889c-15.756-15.859-41.3-15.859-57.054,0c-15.754,15.857-15.754,41.57,0,57.431l237.632,238.937c8.395,8.451,19.562,12.254,30.553,11.698c10.993,0.556,22.159-3.247,30.555-11.698l237.631-238.937c15.756-15.86,15.756-41.571,0-57.431s-41.299-15.859-57.051,0L480,344.181z"/></g></svg>');
  background-size: 22px;
  background-position: calc(100% - 10px) center;
  background-repeat: no-repeat;
  font-size: 1rem;
}

/* --------------------------
 *
 * Some links
 *
** ----------------------- */
.some-icons,
.some-links {
  display: flex;
  align-items: center;
}
.some-icons > *:not(:last-child),
.some-links > *:not(:last-child) {
  margin-right: 0.2em;
}
.some-icons a,
.some-links a {
  --some-icon-size: 45px;
  display: inline-block;
  text-align: center;
  color: var(--secondary-color);
  background-color: transparent;
  border: 2px solid var(--secondary-color);
  border-radius: 5px;
  width: var(--some-icon-size);
  height: var(--some-icon-size);
  line-height: var(--some-icon-size);
}
.some-icons a i,
.some-links a i {
  display: block;
  line-height: var(--some-icon-size);
  height: var(--some-icon-size);
}
.some-icons a i::before,
.some-links a i::before {
  display: block;
  line-height: var(--some-icon-size);
  height: var(--some-icon-size);
  margin: 0;
}
.some-icons .icon-text,
.some-links .icon-text {
  display: none;
}
.some-icons .some-icons-widget,
.some-links .some-icons-widget {
  font-size: 1.2em;
}
.some-icons .widget_somewidget,
.some-links .widget_somewidget {
  width: auto !important;
}

.component--singular-content .some-links {
  margin: 1em 0;
}

header#masthead .some-icons a,
header#masthead .some-links a {
  font-size: 15px;
  --some-icon-size: 37px;
  color: var(--secondary-color);
  border: 2px solid rgba(255, 255, 255, 0.27);
  border-radius: 5px;
  background-color: transparent;
}

footer#mastfoot .some-icons a,
footer#mastfoot .some-links a {
  font-size: 15px;
  --some-icon-size: 37px;
  color: var(--secondary-color);
  border: 2px solid rgba(255, 255, 255, 0.27);
  border-radius: 5px;
  background-color: transparent;
}

#mobilenav .some-icons a,
#mobilenav .some-links a {
  font-size: 15px;
  --some-icon-size: 37px;
  color: var(--secondary-color);
  border: 2px solid rgba(255, 255, 255, 0.27);
  border-radius: 5px;
  background-color: transparent;
}

.personnel-list .persons {
  margin: 2em 0 3em 0;
  display: grid;
  max-width: 100%;
  --columns: 1;
  --gap: 10px;
  gap: var(--gap, 10px);
  row-gap: calc(var(--gap) + 10px);
  grid-template-columns: repeat(var(--columns, 1), 1fr);
}
@media (min-width: 480px) {
  .personnel-list .persons {
    --columns: 2;
  }
}
@media (min-width: 768px) {
  .personnel-list .persons {
    --columns: 2;
  }
}
@media (min-width: 1024px) {
  .personnel-list .persons {
    --columns: 3;
  }
}
@media (min-width: 1280px) {
  .personnel-list .persons {
    --columns: 3;
    --gap: 30px;
  }
}
.personnel-list .persons:first-child {
  margin-top: 0;
}
.personnel-list article.person {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  min-width: 0;
}
.personnel-list article.person .person__info {
  width: 100%;
}
.personnel-list article.person .person__image {
  width: 100%;
}
.personnel-list article.person .person__image img {
  display: block;
  margin-bottom: 0.5em;
}
.personnel-list article.person .person__title {
  margin-bottom: 1em;
}
.personnel-list article.person .person__name h3 {
  --font-min: 1.375rem;
  --sizer: 3vw;
  --font-max: 1.625rem;
  font-weight: 700;
  color: var(--default-heading-color-h4);
  line-height: 1.3em;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .personnel-list article.person .person__info {
    padding: 1em;
  }
}
.personnel-list article.person.person-unavailable {
  padding-bottom: 4em;
}
.personnel-list article.person.person-unavailable .person__image img {
  filter: grayscale(100%);
}
.personnel-list article.person .unavailable-reason {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: var(--dark-color);
  padding: 0.5em;
  text-align: center;
  color: var(--white-color);
  font-weight: 500;
}
.personnel-list article.person .person__email, .personnel-list article.person .person__phone-number {
  word-break: break-word;
}
.personnel-list article.person .person__email a, .personnel-list article.person .person__phone-number a {
  display: block;
}
.personnel-list article.person .person__info {
  font-size: 1.0625rem;
}
.personnel-list article.person .post-edit-link {
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  position: absolute;
  font-size: 0.9em;
  top: -0.5em;
  left: -0.5em;
  background-color: var(--secondary-color);
  color: #ffffff;
  padding: 0.5em;
  border-radius: 100%;
  transition: all 0.3s;
}
.personnel-list article.person .post-edit-link i.mk-icon-pencil:before {
  width: 1.2em;
  height: 1.2em;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  margin: 0;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f304";
}
.personnel-list article.person .post-edit-link:hover {
  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.45);
}
.personnel-list article.person:hover .post-edit-link {
  opacity: 1;
  pointer-events: all;
}
.personnel-list .person__phone-number a::before,
.personnel-list .person__email a::before,
.personnel-list .person__link a::before,
.personnel-list .person__linkedin a::before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  margin-right: 0.2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.personnel-list .person__phone-number a::before {
  content: "\f095";
}
.personnel-list .person__email a::before {
  content: "\f0e0";
}
.personnel-list .person__link a::before {
  content: "\f08e";
}
.personnel-list .person__linkedin a::before {
  content: "\f08c";
  font-family: "Font Awesome 6 Brands";
}

/* --------------------------
*
* Styles for partners
*
** ----------------------- */
.partners-grid.flex .partner-card {
  width: auto;
}

.partner-card {
  --hover-bg-color: var(--white-color);
  --hover-text-color: var(--default-text-color);
}
.partner-card {
  padding: 1em;
  height: 100%;
  z-index: 1;
  position: relative;
}
.partner-card .image-container {
  min-height: 4em;
}
.partner-card .image-container > a {
  display: inline-block;
}
.partner-card .partner-card-title {
  margin: 0.4em 0;
}
.partner-card .partner-card-content {
  margin: 0.4em 0;
  line-height: 1.1;
}
.partner-card .partner-card-large-content {
  margin: 0.4em 0;
}
.partner-card .partner-card-large-content *:last-child {
  margin-bottom: 0;
}
.partner-card:focus-within {
  z-index: 2;
}
.partner-card:hover {
  z-index: 3;
}
.partner-card .content-show-hover {
  display: none;
}
.partner-card .absolute-middle {
  max-width: 100%;
  overflow-x: clip;
}
.partner-card .content-show-hover-absolute {
  padding: 1em;
  opacity: 0;
  transition: all 0.3s;
  pointer-events: none;
  position: absolute;
  left: 0%;
  top: 0%;
  right: 0%;
  min-height: 100%;
  min-height: 100%;
  color: var(--hover-text-color);
  background-color: var(--hover-bg-color);
  box-shadow: 0px 10px 20px -3px rgba(43, 43, 43, 0.5);
  border-radius: 8px;
}

.partners-shortcode-container:not(.no-hover) .partners-grid .partner-card:focus-within .content-show-hover, .partners-shortcode-container:not(.no-hover) .partners-grid .partner-card:hover .content-show-hover {
  display: block;
}
.partners-shortcode-container:not(.no-hover) .partners-grid .partner-card .content-show-hover-absolute * {
  color: var(--hover-text-color);
}
.partners-shortcode-container:not(.no-hover) .partners-grid .partner-card:focus-within .content-show-hover-absolute, .partners-shortcode-container:not(.no-hover) .partners-grid .partner-card:hover .content-show-hover-absolute {
  opacity: 1;
  pointer-events: all;
  left: -15px;
  top: -20%;
  right: -15px;
  min-height: 140%;
}
.card-type-small .partners-shortcode-container:not(.no-hover) .partners-grid .partner-card:focus-within .content-show-hover-absolute, .card-type-small .partners-shortcode-container:not(.no-hover) .partners-grid .partner-card:hover .content-show-hover-absolute {
  top: -10%;
  min-height: 120%;
}

/* --------------------------
 *
 * Events
 *
** ----------------------- */
article.type-event .entry-meta {
  font-size: 1.2em;
  font-weight: 700;
  font-family: var(--secondary-font);
  color: var(--primary-color);
}

ul.event-archive-link-list {
  padding: 0;
  margin: 1.5em 0 2.5em 0;
  list-style: none;
  text-align: center;
}
ul.event-archive-link-list li {
  display: inline-block;
}
ul.event-archive-link-list li.separator {
  margin: 0 0.2em;
}
ul.event-archive-link-list li a {
  color: var(--default-text-color);
  font-size: 1.16em;
}
ul.event-archive-link-list li.active a {
  color: var(--primary-color);
}

/* --------------------------
*
* Styles for references
*
** ----------------------- */
article .reference-category-list {
  list-style: none;
  padding: 0;
  margin: 2em 0;
}
article .reference-category-list li {
  display: inline-block;
  margin: 2px;
  padding: 0;
}
article .reference-category-list li a {
  display: inline-block;
  margin: 0;
  padding: 4px 8px;
  background-color: var(--light-color);
  border-radius: 4px;
  border: 1px solid var(--default-border-color);
  color: var(--default-text-color-light) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

article .reference-article-image--container {
  position: relative;
  margin-bottom: 2em;
}
article .reference-article-image--container .reference-article-image--caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10%;
  text-align: center;
}
article .reference-article-image--container .reference-article-image--caption .caption-inner {
  padding: 1em;
  margin: 0;
  background-color: var(--primary-color);
  opacity: 0.9;
  color: var(--white-color);
  display: inline-block;
}

/* --------------------------
*
* Styles for testimonials
*
** ----------------------- */
.testimonials-shortcode-container {
  margin: 1em 0 2em 0;
  position: relative;
}
.testimonials-shortcode-container .testimonial-quotation {
  font-size: 6rem;
  padding-right: 0px;
  display: inline-block;
  margin-bottom: -0.3em;
  line-height: 0.9em;
  pointer-events: none;
}
@media (min-width: 480px) {
  .testimonials-shortcode-container .testimonial-quotation {
    font-size: 8rem;
    padding-right: 8px;
  }
}
@media (min-width: 768px) {
  .testimonials-shortcode-container .testimonial-quotation {
    font-size: 10rem;
    padding-right: 15px;
  }
}
.testimonials-shortcode-container h4.testimonial-card-title {
  text-indent: 0;
}
.testimonials-shortcode-container .testimonial-card-content {
  padding: 1em 0;
}
.testimonials-shortcode-container .testimonial-card-content > *:last-child {
  margin-bottom: 0;
}
.testimonials-shortcode-container .testimonial-card-writer {
  margin-bottom: 0.5em;
}
.testimonials-shortcode-container .tns-nav {
  pointer-events: none;
  margin: 0.5em 0 0 2em;
  padding: 0;
  width: 100%;
  display: block;
  text-align: left;
}
.testimonials-shortcode-container .tns-nav button {
  border: 0;
  pointer-events: all;
  background-color: var(--dark-color);
  padding: 0;
  margin: 2px;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50px;
}
.testimonials-shortcode-container .tns-nav button.tns-nav-active {
  background-color: var(--primary-color);
}
@media (min-width: 480px) {
  .testimonials-shortcode-container .tns-nav {
    margin: 0.5em 0 0 3em;
  }
}
@media (min-width: 768px) {
  .testimonials-shortcode-container .tns-nav {
    margin: 0.5em 0 0 4.3em;
  }
}

/* --------------------------
*
* Accordion styles
*
** ----------------------- */
.accordions {
  margin: 1.5em 0;
}

.accordion {
  border-top: 0px;
  border-top: 1px solid var(--default-border-color);
}
.accordion:first-of-type {
  border-top: 0px;
}
.accordion button.handle {
  width: 100%;
  text-align: left;
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0.5em 35px 0.5em 0;
  border: none;
}
.accordion button.handle::after {
  display: flex;
  justify-content: center;
  align-items: center;
  content: "+";
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  font-style: normal;
  font-weight: normal;
  font-size: 21px;
  color: var(--primary-color);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6px;
  width: 21px;
  height: 21px;
}
.accordion.open button.handle::after {
  content: "\f068";
}
.accordion button.handle .accordion-title {
  margin: 0;
  color: var(--primary-color);
}
.accordion .accordion-content {
  overflow: hidden;
  max-height: 0;
  text-align: left;
  transition: max-height 0.3s ease-in-out;
}
.accordion .accordion-content > div.accordion-content--inner {
  padding: 0.5em 0 1.5em 0;
}
.accordion .accordion-content > div.accordion-content--inner *:last-child {
  margin: 0;
}
.accordion .accordion-content > div.accordion-content--inner p:first-child {
  margin-top: 0px;
}

/* --------------------------
 *
 * Media shorcode component
 *
** ----------------------- */
.component--media-shortcode {
  margin: 1.5em 0 2.5em;
}
.component--media-shortcode .media-shortcode-component--item {
  min-width: 0;
  border: 1px solid var(--default-border-color);
  padding: 1em;
  border-radius: 5px;
}
.component--media-shortcode .media-shortcode-component--image {
  margin-bottom: 1em;
}
.component--media-shortcode .media-shortcode-component--image img {
  width: 100%;
  height: 13vh;
  min-height: 145px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.component--media-shortcode a.media-shortcode-component--link {
  text-decoration: none;
}

.mk-gallery {
  padding: 20px 0;
  margin: 0 -10px;
}
.mk-gallery .mk-gallery-image img {
  margin: 0;
  display: block;
  width: 100%;
}
.mk-gallery .mk-gallery-image .image-container {
  position: relative;
}
.mk-gallery .mk-gallery-image .image-caption {
  background-color: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  padding: 12px 18px;
  padding-right: 30px;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 20px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mk-gallery .mk-gallery-image, .mk-gallery .grid-sizer {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 20px;
}
.mk-gallery .mk-gallery-image.width--1 {
  width: 100%;
}
.mk-gallery .mk-gallery-image.width--2 {
  width: 100%;
}
.mk-gallery .mk-gallery-image.width--3 {
  width: 100%;
}
.mk-gallery .mk-gallery-image.width--4 {
  width: 100%;
}
.mk-gallery .grid-sizer {
  margin: 0;
}
@media (min-width: 768px) {
  .mk-gallery .mk-gallery-image, .mk-gallery .grid-sizer {
    width: 33.3333%;
  }
  .mk-gallery .mk-gallery-image.width--1 {
    width: 33.3333%;
  }
  .mk-gallery .mk-gallery-image.width--2 {
    width: 33.3333%;
  }
  .mk-gallery .mk-gallery-image.width--3 {
    width: 33.3333%;
  }
  .mk-gallery .mk-gallery-image.width--4 {
    width: 33.3333%;
  }
}

/*------------------------------------------------

    Baguettebox style overrides

    Overriding some styles to add custom
    image captions to images.

-------------------------------------------------*/
#baguetteBox-overlay .full-image figcaption {
  padding: 18px 22px;
}

#baguetteBox-overlay .full-image img {
  background: rgba(0, 0, 0, 0.2196078431);
}

/*
#baguetteBox-overlay .full-image figure {
    position: relative;
    display: block;
}

#baguetteBox-overlay {
    #baguetteBox-slider {
        display: flex;
    }
    .full-image {
        display: flex !important;
        justify-content: center;
        align-items: center;
        min-width: 100%;
        figure {
            display: block !important;
            height: auto !important;
        }
        figcaption {
            bottom: 50px !important;
            left: 0 !important;
            max-width: 90%;
            line-height: 1.2em !important;
            background-color: var(--primary-color) !important;
            font-family: var(--primary-font) !important;
            color: #ffffff !important;
            text-align: left !important;
            width: auto !important;
            font-size: 20px;
            padding: 18px 22px;
            padding-right: 35px;
            font-weight: 400;
            clip-path: polygon(
                0% 0%,
                100% 0%,
                calc(100% - 18px) 100%,
                0% 100%
            );
        }
        img {
            display: block !important;
            max-width: 100vw !important;
            max-height: 100vh !important;
        }
    }
}
*/
/* --------------------------
 *
 * Read more shortcode component
 *
** ----------------------- */
.mk-read-more > .content {
  overflow: hidden;
  display: none;
}
.mk-read-more > .content:not([aria-hidden=true]) {
  display: block;
}
.mk-read-more .mk-read-more-button {
  margin: 0.5em 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  background-color: transparent;
  font-weight: 700;
  color: var(--default-text-color);
}
.mk-read-more .mk-read-more-button[aria-expanded=false] .text-show-more {
  display: inline-block;
}
.mk-read-more .mk-read-more-button[aria-expanded=false] .text-show-less {
  display: none;
}
.mk-read-more .mk-read-more-button[aria-expanded=true] .text-show-more {
  display: none;
}
.mk-read-more .mk-read-more-button[aria-expanded=true] .text-show-less {
  display: inline-block;
}

body.mediakumpu-accessibility-feat__underline-links a {
  text-decoration: underline;
}

/* --------------------------
 *
 * WPML language switcher component
 *
** ----------------------- */
.component--language-switcher ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.component--language-switcher a {
  color: var(--default-text-color);
}
.component--language-switcher a > span {
  vertical-align: middle;
}
.component--language-switcher.style--code-dropdown li.toggle-dropdown {
  position: relative;
  padding: 0.2em 0.3em 0.3em 0.3em;
  border-bottom: 5px solid transparent;
}
.component--language-switcher.style--code-dropdown li.toggle-dropdown i[class*=fa-]:before {
  margin: 0;
  font-size: 1.1em;
  vertical-align: middle;
}
.component--language-switcher.style--code-dropdown ul.dropdown {
  border-top: 5px solid var(--primary-color);
  top: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  background-color: var(--white-color);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
  position: absolute;
  z-index: 3;
  font-size: 1.0625rem;
  list-style-type: none;
  min-width: 100%;
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
  transform: translateY(-5px);
}
.component--language-switcher.style--code-dropdown ul.dropdown a {
  display: block;
  color: var(--default-text-color-dark);
}
.component--language-switcher.style--code-dropdown ul.dropdown li {
  text-align: center;
  padding: 0.5em;
}
.component--language-switcher.style--code-dropdown li.toggle-dropdown:hover > ul.dropdown, .component--language-switcher.style--code-dropdown li.toggle-dropdown:focus-within > ul.dropdown {
  pointer-events: all;
  opacity: 1;
  transform: translateY(0);
}
.component--language-switcher.style--code-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.component--next-to-main-menu .component--language-switcher li.toggle-dropdown {
  padding: 1em 0.3em 1em 0.3em;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
.component--next-to-main-menu .component--language-switcher li.toggle-dropdown ul.dropdown {
  background-color: var(--dark-color);
}
#mobilenav .component--language-switcher {
  padding: 15px 25px 0 20px;
  border-top: 1px solid var(--mobilenav-border-color);
}

/* --------------------------
*
* FLEX Helpers
*
** ----------------------- */
.flex {
  /* flex justify-content */
  /* flex align-items */
}
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flex .flex.flex-wh > div {
  width: 100%;
  min-height: 100%;
}
.flex.flex-gap-1em {
  gap: 1em;
}
.flex.flex-gap-2em {
  gap: 2em;
}
.flex.flex-gap-3em {
  gap: 3em;
}
.flex.flex-gap-10 {
  gap: 10px;
}
.flex.flex-gap-20 {
  gap: 20px;
}
.flex.flex-gap-30 {
  gap: 30px;
}
.flex.flex-gap-5p {
  gap: 5%;
}
.flex.flex-gap-10p {
  gap: 10%;
}
.flex.flex-gap-20p {
  gap: 20%;
}
.flex.flex-rows {
  flex-direction: row;
}
.flex.flex-columns {
  flex-direction: column;
}
.flex.flex-nowrap {
  flex-wrap: nowrap;
}
.flex.flex-center {
  justify-content: center;
}
.flex.flex-justify-center {
  justify-content: center;
}
.flex.flex-left {
  justify-content: left;
}
.flex.flex-justify-left {
  justify-content: left;
}
.flex.flex-justify-start {
  justify-content: flex-start;
}
.flex.flex-right {
  justify-content: right;
}
.flex.flex-justify-right {
  justify-content: right;
}
.flex.flex-justify-end {
  justify-content: flex-end;
}
.flex.flex-justify-space-around {
  justify-content: space-around;
}
.flex.flex-justify-space-between {
  justify-content: space-between;
}
.flex.flex-justify-space-evenly {
  justify-content: space-evenly;
}
.flex.flex-middle {
  align-items: center;
}
.flex.flex-align-middle {
  align-items: center;
}
.flex.flex-end {
  align-items: flex-end;
}
.flex.flex-start {
  align-items: flex-start;
}
.flex.flex-top {
  align-items: flex-start;
}
.flex.flex-align-end {
  align-items: flex-end;
}
.flex.flex-align-start {
  align-items: flex-start;
}
.flex.flex-stretch {
  align-items: stretch;
}
.flex > .flex-grow {
  flex-grow: 1;
}
.flex > .flex-nogrow {
  flex-grow: 0;
}
.flex > .flex-shrink {
  flex-shrink: 1;
}
.flex > .flex-noshrink {
  flex-shrink: 0;
}
.flex > .flex-bottom {
  align-self: flex-end;
}
.flex > .flex-self-stretch {
  align-self: stretch;
}
.flex .from-xs_order-1 {
  order: 1;
}
.flex .from-xs_order-2 {
  order: 2;
}
.flex .from-xs_order-3 {
  order: 3;
}
.flex .xs-right {
  margin-left: auto;
}
.flex .xs-left {
  margin-right: auto;
}
@media (min-width: 480px) {
  .flex .from-s_order-1 {
    order: 1;
  }
  .flex .from-s_order-2 {
    order: 2;
  }
  .flex .from-s_order-3 {
    order: 3;
  }
  .flex .s-right {
    margin-left: auto;
  }
  .flex .s-left {
    margin-right: auto;
  }
  .flex.s-flex-nowrap {
    flex-wrap: nowrap;
  }
}
@media (min-width: 768px) {
  .flex .from-m_order-1 {
    order: 1;
  }
  .flex .from-m_order-2 {
    order: 2;
  }
  .flex .from-m_order-3 {
    order: 3;
  }
  .flex .m-right {
    margin-left: auto;
  }
  .flex .m-left {
    margin-right: auto;
  }
  .flex.m-flex-nowrap {
    flex-wrap: nowrap;
  }
}
@media (min-width: 1024px) {
  .flex .from-l_order-1 {
    order: 1;
  }
  .flex .from-l_order-2 {
    order: 2;
  }
  .flex .from-l_order-3 {
    order: 3;
  }
  .flex .l-right {
    margin-left: auto;
  }
  .flex .l-left {
    margin-right: auto;
  }
  .flex.l-flex-nowrap {
    flex-wrap: nowrap;
  }
}
@media (min-width: 1280px) {
  .flex .from-xl_order-1 {
    order: 1;
  }
  .flex .from-xl_order-2 {
    order: 2;
  }
  .flex .from-xl_order-3 {
    order: 3;
  }
  .flex .xl-right {
    margin-left: auto;
  }
  .flex .xl-left {
    margin-right: auto;
  }
  .flex.xl-flex-nowrap {
    flex-wrap: nowrap;
  }
}
@media (min-width: 1360px) {
  .flex .from-mxl_order-1 {
    order: 1;
  }
  .flex .from-mxl_order-2 {
    order: 2;
  }
  .flex .from-mxl_order-3 {
    order: 3;
  }
  .flex .mxl-right {
    margin-left: auto;
  }
  .flex .mxl-left {
    margin-right: auto;
  }
  .flex.mxl-flex-nowrap {
    flex-wrap: nowrap;
  }
}
@media (min-width: 1600px) {
  .flex .from-xxl_order-1 {
    order: 1;
  }
  .flex .from-xxl_order-2 {
    order: 2;
  }
  .flex .from-xxl_order-3 {
    order: 3;
  }
  .flex .xxl-right {
    margin-left: auto;
  }
  .flex .xxl-left {
    margin-right: auto;
  }
  .flex.xxl-flex-nowrap {
    flex-wrap: nowrap;
  }
}
@media (max-width: 479.98px) {
  .flex.flex-align-middle_to-s {
    align-items: center;
  }
  .flex.flex-justify-center_to-s {
    justify-content: center;
  }
  .flex.flex-justify-end_to-s {
    justify-content: flex-end;
  }
  .flex.from-s {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .flex.flex-align-middle_to-m {
    align-items: center;
  }
  .flex.flex-justify-center_to-m {
    justify-content: center;
  }
  .flex.flex-justify-end_to-m {
    justify-content: flex-end;
  }
  .flex.from-m {
    display: none !important;
  }
}
@media (max-width: 1023.98px) {
  .flex.flex-align-middle_to-l {
    align-items: center;
  }
  .flex.flex-justify-center_to-l {
    justify-content: center;
  }
  .flex.flex-justify-end_to-l {
    justify-content: flex-end;
  }
  .flex.from-l {
    display: none !important;
  }
}
@media (max-width: 1279.98px) {
  .flex.flex-align-middle_to-xl {
    align-items: center;
  }
  .flex.flex-justify-center_to-xl {
    justify-content: center;
  }
  .flex.flex-justify-end_to-xl {
    justify-content: flex-end;
  }
  .flex.from-xl {
    display: none !important;
  }
}
@media (max-width: 1599.98px) {
  .flex.flex-align-middle_to-xxl {
    align-items: center;
  }
  .flex.flex-justify-center_to-xxl {
    justify-content: center;
  }
  .flex.flex-justify-end_to-xxl {
    justify-content: flex-end;
  }
  .flex.from-xxl {
    display: none !important;
  }
}

.grid {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--gap);
  row-gap: var(--row-gap);
  grid-template-columns: repeat(var(--columns), 1fr);
  --gap: 14px;
  --row-gap: 20px;
  --columns: 1;
}
.grid.fill-height {
  align-items: stretch;
}
.grid.fill-height > * {
  height: 100%;
}
.grid.fill-height {
  align-items: stretch;
}
.grid.fill-height > * > article {
  height: 100%;
}
.grid > div, .grid > article {
  min-width: 0; /* overflow: hidden; */
}
@media (min-width: 480px) {
  .grid.columns-1 {
    --columns: 1;
  }
}
@media (min-width: 768px) {
  .grid {
    --gap: 20px;
    --row-gap: 30px;
  }
  .grid.columns-1 {
    --columns: 1;
  }
  .grid.columns-2 {
    --columns: 2;
  }
  .grid.columns-3 {
    --columns: 2;
  }
  .grid.columns-4 {
    --columns: 2;
  }
  .grid.columns-5 {
    --columns: 2;
  }
  .grid.columns-6 {
    --columns: 2;
  }
}
@media (min-width: 1024px) {
  .grid {
    --gap: 20px;
    --row-gap: 30px;
  }
  .grid.columns-1 {
    --columns: 1;
  }
  .grid.columns-2 {
    --columns: 2;
    --gap: 80px;
    --row-gap: 50px;
  }
  .grid.columns-3 {
    --columns: 3;
  }
  .grid.columns-4 {
    --columns: 3;
  }
  .grid.columns-5 {
    --columns: 3;
  }
  .grid.columns-6 {
    --columns: 3;
  }
}
@media (min-width: 1280px) {
  .grid {
    --gap: 20px;
    --row-gap: 30px;
  }
  .grid.columns-1 {
    --columns: 1;
  }
  .grid.columns-2 {
    --columns: 2;
  }
  .grid.columns-3 {
    --columns: 3;
  }
  .grid.columns-4 {
    --columns: 4;
  }
  .grid.columns-5 {
    --columns: 5;
  }
  .grid.columns-6 {
    --columns: 6;
  }
}

/* --------------------------
 *
 * Block component themes
 *
** ----------------------- */
.component--block {
  --component-background: var(--default-component-background);
  background: var(--component-background);
}
.component--block.background--white-color {
  --component-background: var(--white-color);
}
.component--block.background--black-color {
  --component-background: var(--black-color);
}
.component--block.background--primary-color {
  --component-background: var(--primary-color);
}
.component--block.background--secondary-color {
  --component-background: var(--secondary-color);
}
.component--block.background--tertiary-color {
  --component-background: var(--tertiary-color);
}
.component--block.background--dark-color {
  --component-background: var(--dark-color);
}
.component--block.background--gray-color {
  --component-background: var(--gray-color);
}
.component--block.background--light-color {
  --component-background: var(--light-color);
}
.component--block.background--body-color {
  --component-background: var(--body-color);
}
.component--block.border-radius--5 {
  border-radius: 5px;
}
.component--block.border-radius--10 {
  border-radius: 10px;
}
.component--block.border--solid-default {
  border: 1px solid var(--default-border-color);
}
.component--block.box-shadow--primary-bottom {
  box-shadow: 0 5px 0 0px var(--primary-color);
}
.component--block.box-shadow--dark {
  box-shadow: 3px 3px 20px -11px rgba(0, 0, 0, 0.25);
}

/* --------------------------
 *
 * text theme for DARK background
 *
** ----------------------- */
.text-theme-dark {
  color: var(--default-text-color);
  --default-text-color: var(--default-text-color-dark);
  --default-bold-color: var(--default-bold-color-dark);
  --default-link-color: var(--default-link-color-dark);
  --default-heading-color: var(--default-heading-color-dark);
  --default-heading-color-h1: var(--default-heading-color-h1-dark);
  --default-heading-color-h2: var(--default-heading-color-h2-dark);
  --default-heading-color-h3: var(--default-heading-color-h3-dark);
  --default-heading-color-h4: var(--default-heading-color-h4-dark);
  --default-heading-color-h5: var(--default-heading-color-h5-dark);
  --default-heading-color-h6: var(--default-heading-color-h6-dark);
  --default-border-color: var(--default-border-color-dark);
  --default-hr-color: var(--default-hr-color-dark);
}

/* --------------------------
 *
 * text themes for LIGHT background
 *
** ----------------------- */
.text-theme-light {
  color: var(--default-text-color);
  --default-text-color: var(--default-text-color-light);
  --default-bold-color: var(--default-bold-color-light);
  --default-link-color: var(--default-link-color-light);
  --default-heading-color: var(--default-heading-color-light);
  --default-heading-color-h1: var(--default-heading-color-h1-light);
  --default-heading-color-h2: var(--default-heading-color-h2-light);
  --default-heading-color-h3: var(--default-heading-color-h3-light);
  --default-heading-color-h4: var(--default-heading-color-h4-light);
  --default-heading-color-h5: var(--default-heading-color-h5-light);
  --default-heading-color-h6: var(--default-heading-color-h6-light);
  --default-border-color: var(--default-border-color-light);
  --default-hr-color: var(--default-hr-color-light);
}

/* --------------------------
 *
 * all WHITE text colors
 *
** ----------------------- */
.text-color-white {
  color: var(--default-text-color);
  --default-text-color: var(--white-color);
  --default-bold-color: var(--white-color);
  --default-link-color: var(--white-color);
  --default-heading-color: var(--white-color);
  --default-heading-color-h1: var(--white-color);
  --default-heading-color-h2: var(--white-color);
  --default-heading-color-h3: var(--white-color);
  --default-heading-color-h4: var(--white-color);
  --default-heading-color-h5: var(--white-color);
  --default-heading-color-h6: var(--white-color);
}

/* --------------------------
 *
 * text themes for PRIMARY color background
 * Use this to override primary colors
 *
** ----------------------- */
.text-theme-light.background--primary-color,
.text-theme-dark.background--primary-color {
  --default-link-color: var(--default-link-color-primary);
}

/* --------------------------
 *
 * text themes for SECONDARY color background
 * Use this to override secondary colors
 *
** ----------------------- */
/* --------------------------
 *
 * text themes for TERTIARY color background
 * Use this to override tertiary colors
 *
** ----------------------- */
/* --------------------------
 *
 * component styles
 *
** ----------------------- */
.logged-in.admin-bar .component--content_module:hover .edit-content-module-link {
  opacity: 1;
  pointer-events: all;
}

.logged-in.admin-bar .component--content_module:hover .content_module--outer-container {
  box-shadow: 0px 0px 2px 5px rgba(164, 13, 13, 0.6196078431) inset;
}

.logged-in.admin-bar .component--content_module .content_module--outer-container {
  transition: all 0.4s;
  box-shadow: 0px 0px 0px 0 transparent inset;
}

.logged-in.admin-bar .modules-inner-content .component--content_module .content_module--outer-container {
  transition: all 0.4s;
  box-shadow: 0px 0px 0px 0 transparent;
}

.logged-in.admin-bar .modules-inner-content .component--content_module:hover .content_module--outer-container {
  box-shadow: 0px 0px 2px 5px rgba(164, 13, 13, 0.6196078431);
}

.component--content_module {
  position: relative;
}
.component--content_module .wrapper-ignored {
  width: 100%;
}
.component--content_module .no-wrapper {
  width: 100%;
  padding: 0;
}
.component--content_module .edit-content-module-link {
  position: absolute;
  z-index: 40;
  font-size: 0.8em;
  left: 0.5em;
  top: 0.5em;
  background: #c61c1c !important;
  display: inline-block;
  padding: 0.4em 1em;
  box-shadow: 3px 3px 7px 0px rgba(0, 0, 0, 0.5294117647);
  border-radius: 5px;
  font-weight: 700;
  color: #fff !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
}
.component--content_module.background-style-cover .content_module--outer-container {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.component--content_module.background-style-auto-center .content_module--outer-container {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center center;
}
.component--content_module.background-style-top-center .content_module--outer-container {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center top;
}
.component--content_module.background-style-bottom-center .content_module--outer-container {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center bottom;
}
.component--content_module.background-style-middle-left .content_module--outer-container {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: left center;
}
.component--content_module.background-style-middle-right .content_module--outer-container {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: right center;
}
.component--content_module.background-style-repeat .content_module--outer-container {
  background-color: transparent;
  background-repeat: repeat;
  background-size: auto;
}
.component--content_module.module-size-small .content_module--outer-container {
  --module-min-height: 250px;
  --module-outer-padding: 2em;
  --module-part-gap: 1em;
}
@media (min-width: 768px) {
  .component--content_module.module-size-small .content_module--outer-container {
    --module-min-height: 250px;
    --module-outer-padding: 2em;
  }
}
@media (min-width: 1024px) {
  .component--content_module.module-size-small .content_module--outer-container {
    --module-min-height: 250px;
    --module-outer-padding: 2em;
  }
}
@media (min-width: 1280px) {
  .component--content_module.module-size-small .content_module--outer-container {
    --module-min-height: 250px;
    --module-outer-padding: 2em;
  }
}
@media (min-width: 1600px) {
  .component--content_module.module-size-small .content_module--outer-container {
    --module-min-height: 250px;
    --module-outer-padding: 2em;
  }
}
.component--content_module.module-size-medium .content_module--outer-container {
  --module-min-height: 400px;
  --module-outer-padding: 3em;
  --module-part-gap: 2em;
}
@media (min-width: 768px) {
  .component--content_module.module-size-medium .content_module--outer-container {
    --module-min-height: 400px;
    --module-outer-padding: 3em;
  }
}
@media (min-width: 1024px) {
  .component--content_module.module-size-medium .content_module--outer-container {
    --module-min-height: 400px;
    --module-outer-padding: 3em;
  }
}
@media (min-width: 1280px) {
  .component--content_module.module-size-medium .content_module--outer-container {
    --module-min-height: 400px;
    --module-outer-padding: 3em;
  }
}
@media (min-width: 1600px) {
  .component--content_module.module-size-medium .content_module--outer-container {
    --module-min-height: 400px;
    --module-outer-padding: 3em;
  }
}
.component--content_module.module-size-large .content_module--outer-container {
  --module-min-height: 600px;
  --module-outer-padding: 4em;
  --module-part-gap: 2em;
}
@media (min-width: 768px) {
  .component--content_module.module-size-large .content_module--outer-container {
    --module-min-height: 600px;
    --module-outer-padding: 4em;
  }
}
@media (min-width: 1024px) {
  .component--content_module.module-size-large .content_module--outer-container {
    --module-min-height: 600px;
    --module-outer-padding: 4em;
  }
}
@media (min-width: 1280px) {
  .component--content_module.module-size-large .content_module--outer-container {
    --module-min-height: 600px;
    --module-outer-padding: 4em;
  }
}
@media (min-width: 1600px) {
  .component--content_module.module-size-large .content_module--outer-container {
    --module-min-height: 600px;
    --module-outer-padding: 5em;
  }
}
.component--content_module.module-size-xlarge .content_module--outer-container {
  --module-min-height: 900px;
  --module-outer-padding: 5em;
  --module-part-gap: 2em;
}
@media (min-width: 768px) {
  .component--content_module.module-size-xlarge .content_module--outer-container {
    --module-min-height: 900px;
    --module-outer-padding: 5em;
  }
}
@media (min-width: 1024px) {
  .component--content_module.module-size-xlarge .content_module--outer-container {
    --module-min-height: 900px;
    --module-outer-padding: 5em;
  }
}
@media (min-width: 1280px) {
  .component--content_module.module-size-xlarge .content_module--outer-container {
    --module-min-height: 900px;
    --module-outer-padding: 5em;
  }
}
@media (min-width: 1600px) {
  .component--content_module.module-size-xlarge .content_module--outer-container {
    --module-min-height: 900px;
    --module-outer-padding: 7em;
  }
}
.component--content_module.module-size-no-padding .content_module--outer-container {
  --module-min-height: 0px;
  --module-outer-padding: 0px;
  --module-part-gap: 1em;
}
.component--content_module .content_module--outer-container {
  min-height: var(--module-min-height);
  padding: var(--module-outer-padding) 0;
}
.component--content_module .content_module--part {
  margin-bottom: var(--module-part-gap);
}
.component--content_module .content_module--part:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .component--content_module.flipped .content_module--main-content {
    margin-right: 0;
    margin-left: auto;
    order: 2;
  }
  .component--content_module.flipped .content_module--main-image {
    margin-right: auto;
    margin-left: 0;
  }
}

.content_module--main-content-and-image {
  --spacing: 40px;
}
.content_module--main-content-and-image .content_module--main-content {
  max-width: 100%;
  margin: 0 auto 1.5em auto;
}
.content_module--main-content-and-image .content_module--main-content .main-content-inner > *:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .content_module--main-content-and-image .content_module--main-content {
    margin-right: auto;
    margin-left: 0;
  }
}
.content_module--main-content-and-image .content_module--main-content.add-main-content-padding {
  padding: 2em;
}
@media (min-width: 768px) {
  .content_module--main-content-and-image .content_module--main-content.add-main-content-padding {
    padding: 3em;
  }
}
.content_module--main-content-and-image .content_module--main-image {
  max-width: 100%;
}
.content_module--main-content-and-image .content_module--main-image img {
  display: block;
}
@media (min-width: 768px) {
  .content_module--main-content-and-image .content_module--main-image {
    margin-left: auto;
  }
}
.content_module--main-content-and-image .content_module--main-content,
.content_module--main-content-and-image .content_module--main-image {
  max-width: 100%;
}
@media (min-width: 768px) {
  .content_module--main-content-and-image .content_module--main-content,
  .content_module--main-content-and-image .content_module--main-image {
    max-width: calc(50% - var(--spacing) / 2);
  }
}

.content_module--text-columns-grid .content_module--text-column .text-column-inner--image {
  text-align: center;
  overflow: hidden;
  padding-bottom: 1em;
}
.content_module--text-columns-grid .content_module--text-column.add-text-column-content-padding .text-column-inner--image {
  padding: 0;
}
.content_module--text-columns-grid .content_module--text-column.add-text-column-content-padding .text-column-inner--image img {
  width: 100%;
}
.content_module--text-columns-grid .content_module--text-column.add-text-column-content-padding .text-column-inner {
  padding: 1.5em;
}
@media (min-width: 768px) {
  .content_module--text-columns-grid .content_module--text-column.add-text-column-content-padding .text-column-inner {
    padding: 2em;
  }
}
@media (min-width: 1280px) {
  .content_module--text-columns-grid .content_module--text-column.add-text-column-content-padding .text-column-inner {
    padding: 3em 3.15em;
  }
}
.content_module--text-columns-grid .content_module--text-column.column-full-width {
  grid-column: 1/span var(--columns);
}
.content_module--text-columns-grid .content_module--text-column.column-full-width.column-narrow-wrapper > .text-column-inner {
  max-width: var(--wrapper-width-narrow);
  margin: 0 auto;
}

.content_module--adjacent-columns {
  max-width: 100%;
  padding: 0;
  --gap: 20px;
}
@media (min-width: 1280px) {
  .content_module--adjacent-columns {
    --gap: 32px;
  }
  .content_module--adjacent-columns.adjacent-alternate {
    --gap: 64px;
  }
}
.content_module--adjacent-columns.adjacent-50-50 .row {
  --column-1: 50%;
  --column-2: 50%;
}
.content_module--adjacent-columns.adjacent-25-75 .row {
  --column-1: 25%;
  --column-2: 75%;
}
.content_module--adjacent-columns.adjacent-33-66 .row {
  --column-1: 33.333%;
  --column-2: 66.666%;
}
.content_module--adjacent-columns.adjacent-66-33 .row {
  --column-1: 66.666%;
  --column-2: 33.333%;
}
.content_module--adjacent-columns.adjacent-75-25 .row {
  --column-1: 75%;
  --column-2: 25%;
}
.content_module--adjacent-columns .row.flex-start {
  align-items: flex-start;
}
.content_module--adjacent-columns .row.flex-middle {
  align-items: center;
}
.content_module--adjacent-columns .row.flex-end {
  align-items: flex-end;
}
.content_module--adjacent-columns .row .content_module--text-column {
  padding: 0 calc(var(--gap) / 2);
  margin-bottom: calc(var(--gap) / 2);
}
.content_module--adjacent-columns .row {
  display: flex;
  flex-direction: column;
  width: auto;
  margin: 0 calc(var(--gap) / 2 * -1);
}
@media (min-width: 1024px) {
  .content_module--adjacent-columns .row {
    display: grid;
    flex-direction: row;
    grid-template-columns: var(--column-1) var(--column-2);
  }
}
.content_module--adjacent-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:first-child {
  order: 2;
}
.content_module--adjacent-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:last-child {
  order: 1;
}
@media (min-width: 1024px) {
  .content_module--adjacent-columns.adjacent-alternate .row:nth-child(even) {
    grid-template-columns: var(--column-2) var(--column-1);
  }
  .content_module--adjacent-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:first-child, .content_module--adjacent-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:last-child {
    order: initial;
  }
}

.content_module--columns-grid .content_module--column {
  padding-bottom: 100%;
  position: relative;
  overflow: hidden;
  transition: opacity 0.4s;
}
.content_module--columns-grid .content_module--column a:hover {
  opacity: 1;
}
.content_module--columns-grid .content_module--column:before {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(4deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
}
.content_module--columns-grid .content_module--image {
  position: absolute;
  z-index: inherit;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.content_module--columns-grid .content_module--image a .fa-long-arrow-alt-right:before {
  transition: transform 0.2s ease-out;
  transform: translateX(0px);
}
.content_module--columns-grid .content_module--image a:hover .fa-long-arrow-alt-right:before {
  transform: translateX(3px);
}
.content_module--columns-grid .content_module--image img {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content_module--columns-grid .content_module--image-text {
  position: absolute;
  z-index: 4;
  bottom: 0;
  left: 0;
  padding: 1em;
  color: var(--white-color);
}
.content_module--columns-grid .content_module--image-text .h5 {
  color: var(--white-color);
  --font-min: 1em;
}
@media (min-width: 410px) {
  .content_module--columns-grid .content_module--image-text {
    padding: 0.6em;
  }
}
@media (min-width: 480px) {
  .content_module--columns-grid .content_module--image-text {
    padding: 1em;
  }
}
@media (min-width: 560px) {
  .content_module--columns-grid .content_module--image-text {
    padding: 1.5em;
  }
}
@media (min-width: 768px) {
  .content_module--columns-grid .content_module--image-text {
    padding: 1em;
  }
}
@media (min-width: 1024px) {
  .content_module--columns-grid .content_module--image-text {
    padding: 1.5em;
  }
}
.content_module--columns-grid .content_module--column:hover {
  opacity: 0.8;
}

.content_module--news-feed-top-content + .content_module--news-feed-grid {
  margin-top: 1.5em;
}

.content_module--news-feed-grid + .content_module--news-feed-bottom-content {
  margin-top: 1.5em;
}

/* --------------------------
 *
 * Small modules
 *
** ----------------------- */
.small_module-shortcode {
  position: relative;
}
.small_module-shortcode .edit-small-module-link {
  position: absolute;
  z-index: 40;
  font-size: 0.8em;
  left: 0.5em;
  bottom: 0.5em;
  background: #c61c1c !important;
  display: inline-block;
  padding: 0.4em 1em;
  box-shadow: 3px 3px 7px 0px rgba(0, 0, 0, 0.5294117647);
  border-radius: 5px;
  font-weight: 700;
  color: #fff !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
}

.logged-in.admin-bar .small_module-shortcode:hover .edit-small-module-link {
  opacity: 1;
  pointer-events: all;
}

.logged-in.admin-bar .small_module-shortcode:hover {
  box-shadow: 0px 0px 2px 3px rgba(164, 13, 13, 0.6196078431) inset;
  padding-bottom: 30px;
}

.logged-in.admin-bar .small_module-shortcode {
  transition: all 0.4s;
  box-shadow: 0px 0px 0px 0 transparent inset;
}

.logged-in.admin-bar .modules-inner-content .small_module-shortcode {
  transition: all 0.4s;
  box-shadow: 0px 0px 0px 0 transparent;
}

.logged-in.admin-bar .modules-inner-content .small_module-shortcode:hover {
  box-shadow: 0px 0px 2px 3px rgba(164, 13, 13, 0.6196078431);
}

/* --------------------------
*
* Comments | Ratings
*
*
** ----------------------- */
#comments {
  --comment-nesting-border: 2px dotted #c5c5c5;
  --comment-body-color: #ffffff;
  --comment-respond-bg-color: #ffffff;
  --comment-respond-border-color: var(--primary-color);
  --comment-respond-border-width: 3px;
  --comment-respond-arrow-color: var(--comment-respond-border-color);
  --comment-respond-arrow-height: 15px;
  --comment-respond-arrow-width: 20px;
  --comment-await-moderation-bg: #FFDC00;
  --comment-await-moderation-color: hsla(52, 100%, 20%, 1.0);
}

#comments .comment-list {
  margin-bottom: 2em;
  overflow: hidden;
}

#comments .comment {
  padding-left: 1em;
  margin-left: 1em;
  margin-top: 1em;
}

#comments .comment .says {
  display: none;
}

#comments .comment.depth-1 {
  margin-left: 0;
  margin-top: 2em;
  padding-left: 0;
}

#comments .comment.depth-1:first-of-type {
  margin-top: 0;
}

#comments .comment.parent {
  position: relative;
}

#comments .comment.parent::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 2em;
  border-left: var(--comment-nesting-border);
  z-index: -2;
  height: 100%;
}

#comments .comment.parent.depth-1::before {
  left: 1em;
}

#comments .comment-body {
  background-color: var(--comment-body-color);
  padding: 1em;
  border-radius: 0.5em;
}

#comments .comment-meta,
#comments .comment-author {
  display: flex;
  align-items: center;
}

#comments .comment-meta {
  margin-bottom: 1em;
  flex-wrap: wrap;
}

#comments .comment-awaiting-moderation {
  width: 100%;
  background-color: var(--comment-await-moderation-bg);
  padding: 10px;
  color: var(--comment-await-moderation-color);
  margin-top: 1em;
  font-size: 0.9em;
}

#comments .avatar,
#comments .fn,
#comments .comment-metadata {
  margin-right: 0.5em;
}

#comments .avatar {
  border-radius: 50%;
}

#comments .comment-metadata a:not(.comment-edit-link) {
  color: inherit;
  text-decoration: none;
}

#comments .comment-list .comment-respond {
  background-color: var(--comment-respond-bg-color);
  border-radius: 10px;
  border: var(--comment-respond-border-width) solid var(--comment-respond-border-color);
  padding: 1em;
  margin-top: 1em;
  position: relative;
}
#comments .comment-list .comment-respond::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 6px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 calc(var(--comment-respond-arrow-width) / 2) var(--comment-respond-arrow-height) calc(var(--comment-respond-arrow-width) / 2);
  border-color: transparent transparent var(--comment-respond-arrow-color) transparent;
}
#comments .comment-list .comment-reply-title {
  display: flex;
}
#comments .comment-list .comment-reply-title small {
  margin-left: auto;
  font-size: 1.3rem;
}
#comments .comment-list .comment-reply-title small a {
  text-decoration: none;
}
#comments .comment-list .comment-reply-link {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.8em;
  font-weight: 600;
}

#respond label {
  display: block;
}

#respond span.required {
  color: #ff0000;
}

#respond textarea,
#respond input[type=text],
#respond input[type=url],
#respond input[type=email] {
  width: 480px;
}

#respond .comment-form-cookies-consent label {
  display: inline;
}

/* Admin Bar */
#wpadminbar {
  color: #fff;
  background: #040f16;
}

#wpadminbar .ab-item,
#wpadminbar a.ab-item,
#wpadminbar > #wp-toolbar span.ab-label,
#wpadminbar > #wp-toolbar span.noticon {
  color: #fff;
}

#wpadminbar .ab-icon,
#wpadminbar .ab-icon:before,
#wpadminbar .ab-item:before,
#wpadminbar .ab-item:after {
  color: #f1f2f3;
}

#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
#wpadminbar.nojs .ab-top-menu > li.menupop:hover > .ab-item,
#wpadminbar .ab-top-menu > li.menupop.hover > .ab-item {
  color: var(--mk-admin-primary-color-l1);
  background: black;
  opacity: 1;
}

#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label,
#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
#wpadminbar > #wp-toolbar li.hover span.ab-label {
  color: var(--mk-admin-primary-color-l1) !important;
}

#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
#wpadminbar:not(.mobile) > #wp-toolbar li.hover span.ab-label,
#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
  color: var(--mk-admin-primary-color-l1);
}

#wpadminbar:not(.mobile) li:hover .ab-icon:before,
#wpadminbar:not(.mobile) li:hover .ab-item:before,
#wpadminbar:not(.mobile) li:hover .ab-item:after,
#wpadminbar:not(.mobile) li:hover #adminbarsearch:before {
  color: var(--mk-admin-primary-color-l1);
}

/* Admin Bar: submenu */
#wpadminbar .menupop .ab-sub-wrapper {
  background: black;
}

#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
  background: #0c2332;
}

#wpadminbar .ab-submenu .ab-item,
#wpadminbar .quicklinks .menupop ul li a,
#wpadminbar .quicklinks .menupop.hover ul li a,
#wpadminbar.nojs .quicklinks .menupop:hover ul li a {
  color: #b4b7b9;
}

#wpadminbar .quicklinks li .blavatar,
#wpadminbar .menupop .menupop > .ab-item:before {
  color: #f1f2f3;
}

#wpadminbar .quicklinks .menupop ul li a:hover,
#wpadminbar .quicklinks .menupop ul li a:focus,
#wpadminbar .quicklinks .menupop ul li a:hover strong,
#wpadminbar .quicklinks .menupop ul li a:focus strong,
#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover > a,
#wpadminbar .quicklinks .menupop.hover ul li a:hover,
#wpadminbar .quicklinks .menupop.hover ul li a:focus,
#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover,
#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,
#wpadminbar li:hover .ab-icon:before,
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,
#wpadminbar li #adminbarsearch.adminbar-focused:before {
  color: var(--mk-admin-primary-color-d1);
  opacity: 1;
}

#wpadminbar .quicklinks .menupop.hover ul li a:hover,
#wpadminbar .quicklinks .menupop.hover ul li a:focus {
  color: #fff;
  background: var(--mk-admin-primary-color-d1);
  opacity: 1;
}

#wpadminbar li#wp-admin-bar-env-production > * {
  background-color: red !important;
  color: white !important;
}

#wpadminbar .quicklinks li a:hover .blavatar,
#wpadminbar .quicklinks li a:focus .blavatar,
#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover > a .blavatar,
#wpadminbar .menupop .menupop > .ab-item:hover:before,
#wpadminbar.mobile .quicklinks .ab-icon:before,
#wpadminbar.mobile .quicklinks .ab-item:before {
  color: var(--mk-admin-primary-color-d1);
  opacity: 1;
}

#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
#wpadminbar.mobile .quicklinks .hover .ab-item:before {
  color: #f1f2f3;
}

/* Admin Bar: search */
#wpadminbar #adminbarsearch:before {
  color: #f1f2f3;
}

#wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
  color: #fff;
  background: #092434;
}

/* Admin Bar: recovery mode */
#wpadminbar #wp-admin-bar-recovery-mode {
  color: #fff;
  background-color: var(--mk-admin-secondary-color);
}

#wpadminbar #wp-admin-bar-recovery-mode .ab-item,
#wpadminbar #wp-admin-bar-recovery-mode a.ab-item {
  color: #fff;
}

#wpadminbar .ab-top-menu > #wp-admin-bar-recovery-mode.hover > .ab-item,
#wpadminbar.nojq .quicklinks .ab-top-menu > #wp-admin-bar-recovery-mode > .ab-item:focus,
#wpadminbar:not(.mobile) .ab-top-menu > #wp-admin-bar-recovery-mode:hover > .ab-item,
#wpadminbar:not(.mobile) .ab-top-menu > #wp-admin-bar-recovery-mode > .ab-item:focus {
  color: #fff;
  background-color: #e66018;
}

/* Admin Bar: my account */
#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
  border-color: #092434;
  background-color: #092434;
}

#wpadminbar #wp-admin-bar-user-info .display-name {
  color: #fff;
}

#wpadminbar #wp-admin-bar-user-info a:hover .display-name {
  color: var(--mk-admin-primary-color-d1);
}

#wpadminbar #wp-admin-bar-user-info .username {
  color: #b4b7b9;
}

/* --------------------------
*
* Header
*
** ----------------------- */
header#masthead .wrapper {
  --wrapper-width: 1320px;
}
header#masthead {
  position: relative;
}
header#masthead hr {
  margin: 0;
}
header#masthead a:not(.button) {
  font-weight: inherit;
}
header#masthead .header-top-text {
  padding: 1.6em 0;
}
@media (max-width: 767.98px) {
  header#masthead .header-top-text {
    display: none;
  }
}
header#masthead .header-top-text .header-text {
  font-size: 1rem;
}
@media (max-width: 767.98px) {
  header#masthead hr.header-top-separator {
    display: none;
  }
}
header#masthead .header-top-text .header-text p {
  margin: 0;
}
header#masthead .header-top-text .header-text {
  gap: 15px;
}
header#masthead .header-top-text-second p {
  margin: 0;
}
header#masthead .header-middle {
  padding: 1.8em 0;
}
header#masthead .component--header-logo .custom-logo-container a, header#masthead .component--header-logo .custom-logo-container a img,
header#masthead .component--header-logo a.site-logo,
header#masthead .component--header-logo a.site-logo img {
  display: block;
}
header#masthead .component--header-logo .custom-logo-container a,
header#masthead .component--header-logo a.site-logo {
  margin: 1em 0;
  padding-right: 1em;
}
header#masthead .component--header-logo .custom-logo-container a img,
header#masthead .component--header-logo a.site-logo img {
  width: 190px;
}
@media (min-width: 480px) {
  header#masthead .component--header-logo .custom-logo-container a img,
  header#masthead .component--header-logo a.site-logo img {
    width: 240px;
  }
}
@media (min-width: 768px) {
  header#masthead .component--header-logo .custom-logo-container a img,
  header#masthead .component--header-logo a.site-logo img {
    width: 280px;
  }
}
@media (min-width: 1280px) {
  header#masthead .component--header-logo .custom-logo-container a img,
  header#masthead .component--header-logo a.site-logo img {
    width: 332px;
  }
}
header#masthead .widget.widget_black_studio_tinymce ul {
  display: flex;
  margin: 0px;
  padding: 0px;
  list-style: none;
  gap: 13px;
}
header#masthead .widget.widget_black_studio_tinymce ul li {
  text-align: right;
}
@media (max-width: 767.98px) {
  header#masthead .widget.widget_black_studio_tinymce ul {
    flex-direction: column;
  }
  header#masthead .widget.widget_black_studio_tinymce ul li {
    text-align: center;
  }
}
@media (max-width: 1279.98px) {
  header#masthead .header-items-container .checkout-button-container {
    display: none;
  }
}
header#masthead .header-items-container .checkout-button-container .button {
  margin-top: 0;
  background-color: transparent;
}
header#masthead .header-items-container .header-item-container.icon-button {
  padding: 0 7px;
  border-right: 1px solid var(--default-border-color);
}
@media (min-width: 1024px) {
  header#masthead .header-items-container .header-item-container.icon-button {
    padding: 0 13px;
  }
}
header#masthead .header-items-container .header-item-container.icon-button:first-child {
  border-left: 1px solid var(--default-border-color);
}
header#masthead .header-items-container .header-item-container.icon-button > button {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  font-weight: 400;
  text-align: center;
  cursor: pointer;
}
header#masthead .header-items-container .header-item-container.icon-button > button i:first-child {
  font-size: 1.5em;
  line-height: 1em;
  display: block;
  margin-bottom: 0px;
}
header#masthead .header-items-container .header-item-container.icon-button > button i {
  color: var(--primary-color);
}
header#masthead .header-items-container .header-item-container.icon-button > button .button-text {
  font-size: 15px;
  display: inline-block;
  vertical-align: bottom;
  line-height: 1em;
  color: var(--default-text-color);
}
header#masthead .header-items-container .header-item-container.icon-button > button .button-text-container {
  line-height: 1em;
  padding-left: 3px;
  font-size: 1em;
  vertical-align: middle;
  font-family: var(--primary-font);
  white-space: nowrap;
}
header#masthead .header-items-container .header-item-container.icon-button > button .button-text-container > i:last-child {
  font-size: 0.8em;
  vertical-align: bottom;
  line-height: 1em;
  margin-bottom: -3px;
}
header#masthead .header-items-container .header-item-container.icon-button > button .button-text-container > i:last-child:before {
  margin: 0 0 0 -1px;
}
header#masthead .header-items-container .header-item-container.icon-button .button-text-container {
  display: none;
}
@media (min-width: 1024px) {
  header#masthead .header-items-container .header-item-container.icon-button .button-text-container {
    display: block;
  }
}
header#masthead .header-items-container .search-form-container .container {
  position: fixed;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  z-index: 10;
  bottom: 100%;
  left: 0;
  width: 100%;
  background-color: var(--white-color);
  padding: 15px 60px 15px 15px;
}
header#masthead .header-items-container .search-form-container .container .search-form,
header#masthead .header-items-container .search-form-container .container .woocommerce-product-search {
  width: 780px;
  max-width: 95%;
  margin: 0 auto;
}
header#masthead .header-items-container .search-form-container .container .search-form:before,
header#masthead .header-items-container .search-form-container .container .woocommerce-product-search:before {
  border: 1px solid var(--default-border-color-light);
}
header#masthead .header-items-container .search-form-container .container .search-title {
  color: var(--secondary-color);
  font-family: var(--secondary-font);
  font-size: 1.375rem;
  margin-bottom: 1rem;
  text-align: center;
}
header#masthead .header-items-container .search-form-container .container #close-search-button {
  width: 48px;
  height: 48px;
  position: absolute;
  right: 7px;
  top: 14px;
}
header#masthead .header-items-container .search-form-container .search-field {
  background-color: var(--light-color);
}
header#masthead .header-items-container .search-form-container #rlvlive_1 > div.relevanssi-live-search-results-showing {
  left: 0 !important;
  top: 100% !important;
}
header#masthead .header-items-container .search-form-container #rlvlive_1 .relevanssi-live-search-result-status {
  background: var(--secondary-color);
  color: var(--white-color);
  font-weight: 700;
}
header#masthead .header-items-container .search-form-container #rlvlive_1 .relevanssi-live-search-result-status p {
  padding: 0.5em 1em;
}
header#masthead .header-items-container .search-form-container .relevanssi-live-search-result p {
  padding: 0.4em 1em;
}
header#masthead .header-items-container .search-form-container div.relevanssi-live-search-results {
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2666666667);
}
header#masthead .component--language-switcher + .some-links {
  margin-left: 1em;
  margin-bottom: 3px;
}
header#masthead .header-bottom {
  display: none;
  font-family: var(--secondary-font);
}
header#masthead .main-menu-container {
  display: none;
}
@media (min-width: 1280px) {
  header#masthead .header-bottom {
    display: block;
  }
  header#masthead button.open-mobile-menu-button {
    display: none;
  }
  header#masthead .main-menu-container {
    display: block;
  }
}

/* --------------------------
 *
 * Navigation
 *
** ----------------------- */
button.menu-close-button {
  background-color: transparent;
  display: block;
  width: 32px;
  height: 32px;
  border: 0;
  padding: 0;
  position: relative;
  cursor: pointer;
}
button.menu-close-button::before, button.menu-close-button::after {
  display: block;
  background-color: var(--default-text-color);
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
button.menu-close-button::before {
  width: 2px;
  height: 50%;
}
button.menu-close-button::after {
  width: 50%;
  height: 2px;
}

nav#header-navigation > ul {
  font-family: var(--secondary-font);
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
nav#header-navigation > ul > li {
  padding: 0.15em 0 0.15em 0;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
}
nav#header-navigation > ul > li:not(:last-child) {
  margin-right: 1em;
}
nav#header-navigation > ul > li[class*=current] {
  border-bottom-color: var(--secondary-color);
}
nav#header-navigation > ul > li > a {
  color: var(--primary-color);
  font-weight: 500 !important;
  font-size: 1.25rem;
  transition: color 0.3s;
}
nav#header-navigation > ul > li > a:hover {
  opacity: 1;
  color: var(--default-link-color);
}
nav#header-navigation > ul > li.menu-item-has-children > a::after {
  content: "\f107";
  display: inline-block;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
  margin-left: 5px;
  font-size: 16px;
  transition: all 0.3s;
  transform: translateY(0px);
}
nav#header-navigation > ul > li.menu-item-has-children:hover > a::after, nav#header-navigation > ul > li.menu-item-has-children:focus-within > a::after {
  transform: translateY(2px) !important;
}
nav#header-navigation li {
  display: block;
  position: relative;
}
nav#header-navigation ul {
  list-style-type: none;
}
nav#header-navigation > ul > li > ul.sub-menu {
  border-top: 5px solid var(--primary-color);
  background-color: var(--white-color);
  left: 0;
  top: 100%;
  margin-top: 0;
  transform: translateY(-5px);
}
nav#header-navigation ul.sub-menu {
  top: 0;
  left: calc(100% - 14px);
  transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
  opacity: 0;
  transform: translateX(-5px);
  pointer-events: none;
  border-top: 5px solid var(--dark-color);
  background-color: var(--white-color);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.2);
  position: absolute;
  z-index: 3;
  margin: 0;
  font-size: 1.0625rem;
  margin-top: -20px;
  list-style-type: none;
  padding: 20px 0;
  min-width: 120%;
  border-radius: 0 0 5px 5px;
}
nav#header-navigation ul.sub-menu a {
  color: var(--default-text-color);
  font-weight: 400;
  white-space: nowrap;
}
nav#header-navigation ul.sub-menu li {
  padding: 5px 30px;
  padding-right: 50px;
}
nav#header-navigation ul.sub-menu li.menu-item-has-children > a::after {
  content: "\f105";
  display: inline-block;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  font-style: normal;
  font-weight: normal;
  position: absolute;
  right: 25px;
  bottom: 50%;
  transform: translateY(50%);
  transition: all 0.3s;
  color: inherit;
}
nav#header-navigation ul.sub-menu li.menu-item-has-children:hover > a::after, nav#header-navigation ul.sub-menu li.menu-item-has-children:focus-within > a::after {
  transform: translateY(50%) translateX(-5px) !important;
}
nav#header-navigation ul.sub-menu li[class*=current] > a {
  color: var(--default-link-color);
  font-weight: 500;
}
nav#header-navigation ul.sub-menu ul.sub-menu {
  min-width: 60%;
}
nav#header-navigation li:hover > ul.sub-menu, nav#header-navigation li:focus-within > ul.sub-menu {
  pointer-events: all;
  opacity: 1;
  transform: translateY(0);
}
nav#header-navigation li[class*=current] > a {
  color: var(--secondary-color);
}

/* --------------------------
 *
 * Footer
 *
** ----------------------- */
footer#mastfoot {
  /*.footer-logo-wrapper{ @include media-down(s){ margin: 0 auto; } }
  .footer-logo{ 
      @include media-down(s){ margin: 0 auto; }
  }*/
}
footer#mastfoot {
  padding: 8em 0 3em;
  position: relative;
  background-image: url("../img/footer-kaari-top.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  font-size: 1.0625rem;
}
@media (max-width: 1359.98px) {
  footer#mastfoot {
    padding-top: 6em;
  }
}
@media (max-width: 767.98px) {
  footer#mastfoot {
    padding-top: 4em;
  }
}
@media (max-width: 479.98px) {
  footer#mastfoot {
    padding-top: 3em;
  }
}
footer#mastfoot hr {
  margin: 2em 0;
}
footer#mastfoot h2.h5 {
  --default-heading-color-h5: var(--secondary-color);
}
footer#mastfoot .widget a {
  font-weight: inherit;
}
footer#mastfoot .footer-top {
  row-gap: 20px;
}
@media (min-width: 1024px) {
  footer#mastfoot .footer-top {
    margin-bottom: 3em;
  }
}
@media (max-width: 1359.98px) {
  footer#mastfoot .footer-top {
    flex-direction: column;
  }
}
footer#mastfoot .footer-left {
  -moz-column-gap: 50px;
       column-gap: 50px;
  row-gap: 40px;
}
@media (max-width: 767.98px) {
  footer#mastfoot .footer-left {
    row-gap: 2em;
  }
}
footer#mastfoot .footer-left-widgets {
  -moz-column-gap: 35px;
       column-gap: 35px;
  row-gap: 40px;
}
@media (max-width: 767.98px) {
  footer#mastfoot .footer-left-widgets {
    row-gap: 0em;
  }
}
footer#mastfoot .footer-left-widgets > .widget {
  margin-bottom: 1.5em;
}
footer#mastfoot .footer-right-widgets > div > .widget {
  margin-bottom: 1.5em;
}
@media (min-width: 1360px) {
  footer#mastfoot .footer-right-widgets > div > .widget {
    text-align: right;
  }
}
footer#mastfoot .footer-right-widgets .some-links .widget {
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  footer#mastfoot .footer-left-widgets > .widget {
    width: 250px;
    max-width: 330px;
  }
}
@media (min-width: 1360px) {
  footer#mastfoot .footer-right-widgets {
    width: 185px;
  }
  footer#mastfoot .footer-left {
    width: calc(100% - 185px);
  }
}
footer#mastfoot .textwidget p:first-child {
  margin-top: 0;
}
footer#mastfoot .textwidget p:last-child {
  margin-bottom: 0;
}
footer#mastfoot .footer-some-widgets-container {
  margin-bottom: 0.7em;
}
footer#mastfoot .footer-text-logos .textwidget p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 25px;
}
@media (max-width: 1279.98px) {
  footer#mastfoot .footer-text-logos .textwidget p {
    justify-content: center;
  }
}
footer#mastfoot .copyright-component .privacy-policy {
  width: 100%;
}
@media (min-width: 1024px) {
  footer#mastfoot .copyright-component .privacy-policy {
    width: auto;
  }
}
footer#mastfoot .copyright-component .privacy-policy .textwidget > ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
footer#mastfoot .copyright-component .privacy-policy .textwidget > ul > li {
  width: 100%;
  margin: 0.1em 0;
}
footer#mastfoot .copyright-component .privacy-policy .textwidget > ul > li a {
  color: var(--default-text-color);
}
footer#mastfoot .copyright-component .privacy-policy .textwidget > ul > li::before {
  display: block;
  margin: 0 0.5em;
}
@media (min-width: 1024px) {
  footer#mastfoot .copyright-component .privacy-policy .textwidget > ul {
    display: flex;
    flex-wrap: nowrap;
  }
  footer#mastfoot .copyright-component .privacy-policy .textwidget > ul > li {
    width: auto;
    margin: 0;
  }
  footer#mastfoot .copyright-component .privacy-policy .textwidget > ul > li::before {
    content: "|";
    display: inline-block;
    margin: 0 0.5em;
  }
}
footer#mastfoot .copyright-component .copyright {
  width: 100%;
  font-size: 1.0625rem;
  margin-bottom: 1em;
}
@media (min-width: 1024px) {
  footer#mastfoot .copyright-component .copyright {
    width: auto;
    margin-bottom: 0;
  }
}
footer#mastfoot .copyright-component .copyright p {
  margin: 0px;
}
footer#mastfoot .mk-logo {
  margin-top: 7px;
  opacity: 0.74;
}
footer#mastfoot a.anchor-back-to-top {
  margin-left: 1em;
  padding: 0.5em 0.6em;
  background-color: var(--secondary-color);
  color: var(--white-color);
  display: inline-block;
}

/* --------------------------
 *
 * Hero Component
 *
** ----------------------- */
.component--hero-block {
  position: relative;
}
.component--hero-block .component-background-image {
  min-height: 200px;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
@media (min-width: 480px) {
  .component--hero-block .component-background-image {
    min-height: 250px;
  }
}
@media (min-width: 768px) {
  .component--hero-block .component-background-image {
    min-height: 300px;
  }
}
@media (min-width: 1024px) {
  .component--hero-block .component-background-image {
    min-height: 370px;
  }
}
@media (min-width: 1280px) {
  .component--hero-block .component-background-image {
    min-height: 400px;
  }
}
.component--hero-block .component-background-image::before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/hero-kaari-bottom.png");
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 79px;
  bottom: 0;
  z-index: 5;
}
@media (max-width: 1599.98px) {
  .component--hero-block .component-background-image::before {
    background-size: contain;
  }
}
.component--hero-block .component-background-image.image-filter:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: rgba(22, 22, 22, 0.45);
}
.component--hero-block.is-default .component-background-image.image-filter:after {
  background: linear-gradient(45deg, rgba(0, 59, 73, 0.91) 0%, rgba(0, 59, 73, 0.91) 40%, rgba(0, 59, 73, 0.2) 90%, rgba(0, 59, 73, 0) 100%);
}
.component--hero-block .hide-image-filter .component-background-image.image-filter:after {
  display: none !important;
}
.component--hero-block .component-background-video {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.component--hero-block .component-background-video video {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.component--hero-block .carousel-items {
  display: none;
}
.component--hero-block.show-only-carousel .carousel-items:first-child {
  display: inline-block;
  width: 100%;
}
.component--hero-block .carousel-items.tns-slide-active {
  position: relative;
  z-index: 2;
}
.component--hero-block .content {
  z-index: 2;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 0;
}
.component--hero-block .content__inner {
  max-width: 100%;
  margin: 2em 0 2em 0;
}
.component--hero-block .content__inner h1, .component--hero-block .content__inner .h1 {
  --font-min: 1.25rem;
}
@media (min-width: 768px) {
  .component--hero-block .content__inner.hero-has-content {
    max-width: 100%;
  }
}
.component--hero-block .content__inner a.button {
  margin: 0 0.5em 0.5em 0;
}
.component--hero-block.is-large .component-background-image {
  min-height: 480px;
}
@media (min-width: 768px) {
  .component--hero-block.is-large .component-background-image {
    min-height: 520px;
  }
}
@media (min-width: 1024px) {
  .component--hero-block.is-large .component-background-image {
    min-height: 600px;
  }
}
@media (min-width: 1280px) {
  .component--hero-block.is-large .component-background-image {
    min-height: 820px;
  }
}
.component--hero-block.is-large .content__inner {
  max-width: 100%;
  margin: 2em 0 2em 0;
}
@media (min-width: 768px) {
  .component--hero-block.is-large .content__inner.hero-has-content {
    max-width: 65%;
  }
}
@media (min-width: 1280px) {
  .component--hero-block.is-large .content__inner.hero-has-content {
    max-width: 750px;
  }
}
@media (max-width: 479.98px) {
  .component--hero-block .component--hero-block--inner .wrapper {
    --wrapper-padding: 15px;
  }
}
.component--hero-block .tns-nav {
  position: absolute;
  pointer-events: none;
  bottom: 0;
  margin: 1em auto;
  padding: 0;
  width: 100%;
  display: block;
  text-align: center;
}
@media (min-width: 1280px) {
  .component--hero-block .tns-nav {
    bottom: 1em;
  }
}
.component--hero-block .tns-nav button {
  border: 0;
  pointer-events: all;
  box-shadow: 0 0 0px 0px var(--dark-color);
  background-color: var(--dark-color);
  padding: 0;
  margin: 5px;
  width: 2.5em;
  height: 0.7em;
  border-radius: 5px;
}
.component--hero-block .tns-nav button.tns-nav-active {
  background-color: var(--primary-color);
  box-shadow: 0 0 5px -1px var(--primary-color);
}
.component--hero-block.is-overlapping .tns-nav {
  top: 0;
}
.component--hero-block.is-overlapping .component-background-image {
  padding-bottom: var(--hero-content-overlap-mobile);
}
@media (min-width: 1280px) {
  .component--hero-block.is-overlapping .component-background-image {
    padding-bottom: var(--hero-content-overlap-desktop);
  }
}
.component--hero-block .edit-slide-link {
  position: absolute;
  font-size: 0.8em;
  left: 0.5em;
  top: 0.5em;
  background: #c61c1c !important;
  display: inline-block;
  padding: 0.4em 1em;
  box-shadow: 3px 3px 7px 0px rgba(0, 0, 0, 0.5294117647);
  border-radius: 5px;
  font-weight: 700;
  color: #fff !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
}

.logged-in.admin-bar .carousel-items.hero-block-component--item:hover .edit-slide-link {
  opacity: 1;
  pointer-events: all;
}

/* --------------------------
*
* Main structure
*
** ----------------------- */
#page {
  position: relative;
  overflow: hidden;
  max-width: 1680px;
  margin: 0 auto;
  background-color: var(--white-color);
}
#page a:not(.button) {
  font-weight: 500;
}

main#primary {
  padding: 0;
}

.main-container-area-padding {
  padding: var(--main-container-padding-mobile);
}
@media (min-width: 1024px) {
  .main-container-area-padding {
    padding: var(--main-container-padding-desktop);
  }
}

/* --------------------------
 *
 * Frontpage
 *
** ----------------------- */
.frontpage-main-content {
  padding: var(--main-container-padding-mobile);
}
@media (min-width: 1024px) {
  .frontpage-main-content {
    padding: var(--main-container-padding-desktop);
  }
}

.wrapper--frontpage-columns .component--page-alternating-columns,
.wrapper--frontpage-columns .component--page-columns {
  padding-bottom: 2.5em;
}

/* --------------------------
 *
 * Single post/page content
 *
** ----------------------- */
.main-content-container {
  margin-bottom: 1.5em;
}
@media (min-width: 1024px) {
  .main-content-container {
    margin-bottom: 2.5em;
  }
}

.component--singular-content {
  padding: 15px;
  min-height: 16rem;
}
@media (min-width: 480px) {
  .component--singular-content {
    padding: 30px;
  }
}
@media (min-width: 768px) {
  .component--singular-content {
    padding: 40px;
  }
}
@media (min-width: 1024px) {
  .component--singular-content {
    padding: 50px;
  }
}
@media (min-width: 1280px) {
  .component--singular-content {
    padding: 55px;
  }
}
@media (max-width: 479.98px) {
  .component--singular-content {
    margin: 0 calc(var(--wrapper-padding) / 1.4 * -1) 0 calc(var(--wrapper-padding) / 1.4 * -1);
  }
}
.component--singular-content.overlap {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--hero-content-overlap-mobile) * -1);
}
@media (min-width: 1280px) {
  .component--singular-content.overlap {
    margin-top: calc(var(--hero-content-overlap-desktop) * -1);
  }
}

.posts-grid {
  margin: 1.5em 0;
}

.entry-meta {
  margin-bottom: 1em;
}
.entry-meta a {
  font-weight: inherit;
  color: inherit;
}
.entry-meta > span:not(:first-child)::before {
  display: inline-block;
  content: "|";
  margin: 0 4px 0 8px;
}

div.post-thumbnail, a.post-thumbnail {
  display: block;
  margin-bottom: 1em;
}
div.post-thumbnail img, div.post-thumbnail picture, a.post-thumbnail img, a.post-thumbnail picture {
  display: block;
}

a.back-to-blog-listing {
  margin-top: 2rem;
}

/* --------------------------
 *
 * Page / Post columns
 *
** ----------------------- */
.component--page-columns .page-columns--column.column-full-width {
  grid-column: 1/span var(--columns);
}
.component--page-columns .page-columns--column.column-full-width.column-narrow-wrapper > .page-columns--content {
  max-width: var(--wrapper-width-narrow);
  margin: 0 auto;
}

.component--page-alternating-columns {
  max-width: 100%;
  padding: 0;
  --gap: 20px;
}
@media (min-width: 1280px) {
  .component--page-alternating-columns {
    --gap: 32px;
  }
}
.component--page-alternating-columns.adjacent-50-50 .row {
  --column-1: 50%;
  --column-2: 50%;
}
.component--page-alternating-columns.adjacent-25-75 .row {
  --column-1: 25%;
  --column-2: 75%;
}
.component--page-alternating-columns.adjacent-33-66 .row {
  --column-1: 33.333%;
  --column-2: 66.666%;
}
.component--page-alternating-columns.adjacent-66-33 .row {
  --column-1: 66.666%;
  --column-2: 33.333%;
}
.component--page-alternating-columns.adjacent-75-25 .row {
  --column-1: 75%;
  --column-2: 25%;
}
.component--page-alternating-columns .row.flex-start {
  align-items: flex-start;
}
.component--page-alternating-columns .row.flex-middle {
  align-items: center;
}
.component--page-alternating-columns .row.flex-end {
  align-items: flex-end;
}
.component--page-alternating-columns .row .content_module--text-column {
  padding: 0 calc(var(--gap) / 2);
  margin-bottom: calc(var(--gap) / 2);
}
.component--page-alternating-columns .row {
  display: flex;
  flex-direction: column;
  width: auto;
  margin: 0 calc(var(--gap) / 2 * -1);
}
@media (min-width: 1024px) {
  .component--page-alternating-columns .row {
    display: grid;
    flex-direction: row;
    grid-template-columns: var(--column-1) var(--column-2);
  }
}
.component--page-alternating-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:first-child {
  order: 2;
}
.component--page-alternating-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:last-child {
  order: 1;
}
@media (min-width: 1024px) {
  .component--page-alternating-columns.adjacent-alternate .row:nth-child(even) {
    grid-template-columns: var(--column-2) var(--column-1);
  }
  .component--page-alternating-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:first-child, .component--page-alternating-columns.adjacent-alternate .row:nth-child(even) .content_module--text-column:last-child {
    order: initial;
  }
}

/* --------------------------
 *
 * Search form and modal
 *
** ----------------------- */
form.search-form, form.woocommerce-product-search {
  position: relative;
  z-index: 1;
  box-shadow: 0 0 0 var(--primary-color);
  transition: transform 0.2s;
  background-color: var(--light-color);
  height: 47px;
  width: 305px;
  max-width: 100%;
}
form.search-form input.search-field, form.woocommerce-product-search input.search-field {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 10px 20px;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: var(--gray-color);
  border-radius: 5px;
  padding-right: 48px;
}
form.search-form input.search-field:focus, form.woocommerce-product-search input.search-field:focus {
  box-shadow: inset 0px 0px 0px 3px var(--primary-color);
}
form.search-form input.search-field::-moz-placeholder, form.woocommerce-product-search input.search-field::-moz-placeholder {
  color: var(--gray-color);
}
form.search-form input.search-field::placeholder, form.woocommerce-product-search input.search-field::placeholder {
  color: var(--gray-color);
}
form.search-form button.search-submit, form.woocommerce-product-search button.search-submit {
  position: absolute;
  right: 0px;
  top: 0;
  height: 100%;
  padding: 0;
  width: 54px;
  border: none;
  background-color: transparent;
  color: var(--default-text-color);
  border-radius: 4em;
  font-size: 22px;
  cursor: pointer;
}
form.search-form button.search-submit:hover, form.woocommerce-product-search button.search-submit:hover {
  opacity: 0.8;
}

body.search-modal-open .search-form-container .container {
  transform: translateY(100%);
  box-shadow: 0 0 8px 8px rgba(0, 0, 0, 0.3);
}

body:not(.search-modal-open) .search-form-container .container {
  pointer-events: none;
  visibility: hidden;
}

/* --------------------------
 *
 * Search page
 *
** ----------------------- */
.search-result {
  margin-bottom: 2em;
}

/* --------------------------
 *
 * Teases
 *
** ----------------------- */
.logged-in.admin-bar article.tease:hover .edit-post-link {
  opacity: 1;
  pointer-events: all;
  z-index: 20;
}

article.tease .edit-post-link {
  position: absolute;
  font-size: 0.8em;
  left: 0.5em;
  top: 0.5em;
  background: #c61c1c !important;
  display: inline-block;
  padding: 0.4em 1em;
  box-shadow: 3px 3px 7px 0px rgba(0, 0, 0, 0.5294117647);
  border-radius: 5px;
  font-weight: 700;
  color: #fff !important;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
}

article.tease {
  position: relative;
}

.tease div.post-thumbnail, .tease a.post-thumbnail {
  display: block;
  margin-bottom: 1em;
  position: relative;
  padding-bottom: 66.666%;
}
.tease div.post-thumbnail > img, .tease div.post-thumbnail > picture > img, .tease a.post-thumbnail > img, .tease a.post-thumbnail > picture > img {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
}

/* --------------------------
 *
 * Woocommerce additions
 *
** ----------------------- */
.woocommerce-order #klarna-checkout-container {
  margin-bottom: 30px;
}

#cart-dropdown-button .cart-amount-container {
  position: relative;
}
#cart-dropdown-button .cart-amount {
  position: absolute;
  right: 0.2em;
  top: 0.2em;
  font-size: 14px;
  font-family: var(--primary-font);
  font-weight: 700;
  --size: 19px;
  display: inline-block;
  width: var(--size);
  height: var(--size);
  line-height: var(--size);
  text-align: center;
  background: var(--primary-color);
  border-radius: 50%;
  color: var(--white-color);
  box-shadow: 0 0 10px 2px var(--white-color);
}

.cart-dropdown, .account-dropdown {
  visibility: visible;
  z-index: 5;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
  transform: translateY(0) translateX(50%);
  opacity: 1;
  position: absolute;
  right: 50%;
  width: 358px;
  padding: 25px 28px;
  top: 100%;
  margin-top: 20px;
  --dropdown-bg: var(--light-color);
  background-color: var(--dropdown-bg);
  border-radius: 5px;
  box-shadow: 5px 4px 12px -4px rgba(0, 0, 0, 0.4);
  max-width: 90vw;
}
.cart-dropdown svg.arrow, .account-dropdown svg.arrow {
  position: absolute;
  bottom: 100%;
  right: 50%;
  transform: translateX(50%);
  fill: var(--dropdown-bg);
}
@media (max-width: 479.98px) {
  .cart-dropdown, .account-dropdown {
    margin-top: -10px;
  }
  .cart-dropdown svg.arrow, .account-dropdown svg.arrow {
    display: none;
  }
}
.cart-dropdown .menu-title, .account-dropdown .menu-title {
  font-family: var(--secondary-font);
  font-size: 1.25rem;
  border-bottom: 1px solid var(--default-hr-color);
  padding-bottom: 16px;
  margin-bottom: 15px;
  font-weight: 700;
}
.cart-dropdown .text, .account-dropdown .text {
  font-size: 0.9375rem;
  font-family: var(--secondary-font);
}
.cart-dropdown #my-account-close, .cart-dropdown .menu-close-button, .account-dropdown #my-account-close, .account-dropdown .menu-close-button {
  position: absolute;
  right: 25px;
  top: 20px;
}

body:not(.my-account-open) .account-dropdown {
  opacity: 0;
  transform: translateY(-5px) translateX(50%);
  pointer-events: none;
  visibility: hidden;
}

.account-dropdown p {
  margin-top: 0;
}
.account-dropdown input[type=text],
.account-dropdown input[type=password] {
  width: 100%;
}
.account-dropdown #wp-submit {
  font-family: var(--secondary-font);
  font-weight: 600 !important;
  margin-top: 0;
}
.account-dropdown .login-username, .account-dropdown .login-password {
  position: relative;
}
.account-dropdown .login-username i, .account-dropdown .login-password i {
  position: absolute;
  top: 7px;
  left: 13px;
}
.account-dropdown .login-username input, .account-dropdown .login-password input {
  padding-left: 45px;
  font-size: 0.9375rem;
  color: var(--default-text-color);
}
.account-dropdown ul.arrow-bullets {
  margin-bottom: 0;
}
.account-dropdown ul.arrow-bullets a {
  color: var(--default-text-color);
  font-weight: 600;
  font-size: 1rem;
}
.account-dropdown ul.arrow-bullets li:before {
  font-weight: bold;
}
.account-dropdown ul.arrow-bullets li:before {
  transition: transform 0.2s ease-out;
  transform: translateX(0px);
}
.account-dropdown ul.arrow-bullets li:hover:before {
  transform: translateX(3px);
}

body:not(.cart-dropdown-open) .cart-dropdown {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-5px) translateX(50%);
  visibility: hidden;
}

@media (min-width: 480px) {
  .my-account-button-container {
    position: relative;
  }
  .cart-button-container {
    position: relative;
  }
}
.cart-dropdown .woocommerce-mini-cart__buttons .button {
  font-size: 0.85em;
}
.cart-dropdown .woocommerce-mini-cart__buttons .button:first-child {
  margin-right: 5px;
}
@media (max-width: 479.98px) {
  .cart-dropdown .woocommerce-mini-cart__buttons .button {
    font-size: 0.7em;
  }
}

/* --------------------------
 *
 * Breadcrumbs
 *
** ----------------------- */
nav.woocommerce-breadcrumb,
nav#breadcrumbs {
  padding: 0;
  margin-bottom: 0.8em;
  margin-top: 0;
  max-height: 2.4em;
  line-height: 1.2em;
  overflow: hidden;
  display: block;
  -webkit-line-clamp: 2;
  display: box;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  white-space: normal;
}
nav.woocommerce-breadcrumb a,
nav#breadcrumbs a {
  color: var(--default-text-color);
}
nav.woocommerce-breadcrumb i,
nav#breadcrumbs i {
  font-size: 0.8em;
}

nav.woocommerce-breadcrumb i[class*=fa-]:before {
  margin: 0 0.5em;
}

nav#breadcrumbs i[class*=fa-]:before {
  margin: 0 0.1em;
}

/* --------------------------
 *
 * Common
 *
** ----------------------- */
a.skip-link {
  position: absolute;
  left: -9999px;
  text-decoration: underline;
  font-weight: 600;
  border: 5px solid var(--secondary-color);
  background-color: #ffffff;
  height: auto;
  padding: 0.4em;
  color: var(--primary-color);
  position: absolute;
  top: 0;
  width: auto;
  z-index: 1000;
  font-size: 1.5625rem;
}
a.skip-link:active, a.skip-link:focus {
  left: 0;
}

/* --------------------------
 *
 * Wordpress / logged in / admin
 *
** ----------------------- */
body.logged-in.admin-bar #mobilenav,
body.logged-in.admin-bar .search-form-container .container, body.logged-in.admin-bar.fixed-header header#masthead {
  border-top: 32px solid var(--body-color);
}
@media screen and (max-width: 782px) {
  body.logged-in.admin-bar #mobilenav,
  body.logged-in.admin-bar .search-form-container .container, body.logged-in.admin-bar.fixed-header header#masthead {
    border-top: 46px solid var(--body-color);
  }
}

/* --------------------------
 *
 * Photoswipe
 *
** ----------------------- */
div.pswp {
  opacity: 0;
  transition: opacity 0.3s;
}

.pswp__bg {
  background: rgba(0, 0, 0, 0.8509803922);
}

/* --------------------------
 *
 * Ninja-forms
 *
** ----------------------- */
.nf-form-cont .nf-form-content {
  margin: 0;
  padding: 5px 0;
}

.nf-error-msg.nf-error-required-error {
  position: absolute;
  top: -6px;
  background: rgba(201, 0, 0, 0.9019607843);
  padding: 1px 5px;
  font-size: 0.85em;
  color: #ffffff !important;
  font-weight: 700;
}

/* --------------------------
 *
 * youtube shortcode
 *
** ----------------------- */
.shortcode--youtube {
  margin: 1em 0 2em 0;
}

/* --------------------------
 *
 * additional stuff
 *
** ----------------------- */
.otgs-development-site-front-end {
  display: none;
}/*# sourceMappingURL=style.css.map */